September 28, 2009
Which OSS LIcense Is Best?

Good debate at www.fossic.org, between advocates for GPL, BSD and EPL (Eclipse Public License). At the end of the debate, there were not a lot of new reasons to consider or dismiss any of them, but it was useful to revisit the arguments. A couple of the better statements: (1) if you are not redistributing code, we’re all BSD (2) business models (for software companies) largely follow licensing choices, and (3) the major impact of GPL is to create trust in a developer community.

Regarding (1) – no argument there. All of the licenses grant more or less complete autonomy when your intended use is for internal purposes. I’m a little surprised that no one decided to take on the question of what is internal use as we move more and more to cloud computing and software as a service. (I just listened to the vignettes, so may have missed it if they did).

Regarding (2) – again no argument. The statement actually was in support of the EPL, which is a “weak” copyleft style of license, meaning that you can build on top of EPL licensed software without the requirement to contribute back your code. There are a number of companies that do exactly this with EPL code – IBM the most prominent. The clear business model that EPL supports is one that benefits from broad adoption. A GPL-based business model gives developers more leverage and control about how their product is distributed, and a BSD model is really an outgrowth of government sponsored R&D whose mission is to create intellectual property that can be widely reused with minimal restrictions.

Regarding (3) – I think the trust point is correct in the sense that contributors to a GPL project know that their code will always remain GPL, and that the restrictions on distribution give them a clear view of how their code will be used. I think there is a more pragmatic view as well – and that is that GPL gives software firms a clear way to achieve wide visibility and potentially community, and a very strong starting point for a commercial discussion where appropriate. That commercial discussion could be “buy a support contract”, or it could be “if you want to redistribute my software with yours under terms other than GPL, you’ll need a commercial license”.