Quantcast
Channel: RobDudley.com » coldfusion
Viewing all articles
Browse latest Browse all 12

Please don’t default to GPL

$
0
0

This post may seem odd to anyone who knows me. I’m a massive advocate of open source software and free (as in speech or beer – hey it’s free) technologies. I’m no FSF zealot but I do believe that sharing source code, development tools, libraries even the platforms on which they run is a great way to encourage innovation and produce amazing projects.

That said I’m increasingly running into issues with one of the most common open source licences – GPL (v2 or v3). One of the main implications of the GPL is that including code licensed under this model requires that the calling application be licensed under the same model. For ColdFusion this has some interesting and awkward implications.

ColdFusion code is compiled down to Java classes at runtime. The classes are then linked against the core ColdFusion classes which in turn are linked against the JRE core libraries…

Where things get tricky is the pesky aspect of full GPL that, any code linked must also be licensed under the GPL – given the way that ColdFusion operates (and assuming one is being pedantic about license adherence) this would mean that, to use a GPL CFC from RIAForge, your entire app would have to be re licensed under the GPL.

Obviously in the commercial world this causes problems – there is no way my boss is going to let me licence our core software project just to use a couple of community components. Just so we’re clear, I do understand that the GPL doesn’t require you to release the source code of your app but even so, justifying this to management is not a task I fancy undertaking. Our app is a hosted SaaS platform so we don’t really have an issue with redistribution since we control the app at source and it is never going to be distributed, but we’re still stuck!

As a company that has a legal requirement to respect software licenses, we can’t use GPL components without re-licensing and we can’t re-license due to commercial concerns.

There are a couple of ways in which the community can assist with this problem. The main one is giving some thought to the license used un the first place. There are any number of software licensee that permit linking against proprietary code without restriction. The Apache, BSD and MIT licenses (amongst many more) allow free use of software without much in the way of restriction.

That said, one of the core tenets of the GPL is to protect the work of the community by preventing it being re-licensed under a different model. I would guess that most developers actually like this aspect of the GPL and as such should really consider using LGPL. This protects the open source components by preventing release under any other licence but does not require that the linking code be re-licensed.

I appreciate it’s a bit of a minefield (hell look what this self-same problem did to the WordPress Community a couple of years back) but would end with this very simple request:

If you’re looking to release code to the community as Open Source Software and you don’t have a definite reason for using GPL … then don’t …. use LGPL instead and make your code truly free


Viewing all articles
Browse latest Browse all 12

Trending Articles