Open Source Software licenses

Elegant Chaos has two licenses, the strict license and the liberal license.

The default choice is the strict license, and any source code we distribute is covered by this license unless we explicitly state that it uses the liberal license.

Choosing exactly which license to use has been tricky, and we have flipped around many times between the strict / liberal choice, which is why in the end we’ve decided to document both and choose one or the other on a project by project basis.

Politically we agree with the aims of the GPL, and understand why it imposes the restrictions that it does. We do have a couple of concerns with it:

First, as people who have worked on lots of commercial software, we do understand that the GPL can be a monumental pain in the arse. It is often totally unrealistic to expect a product to be open sourced when selling it is the raison d’être of the whole company, and a programmer is often left in no doubt how their boss would react to such a suggestion.

In these cases, one may hope that the GPL license will have a long-term evolutionary effect, killing off such commercial narrowmindedness. In the short term, however, the programmer typically quite likes their job, so has to forgoe a nice clean public implementation and attempt to re-invent the wheel. This is a shame as it works against standardisation and encapsulation of common code, both of which are desirable processes that all programmers benefit from.

In some cases, we can live with that effect of the GPL on our code, because the things we’re releasing are so small that the standardisation argument is irrelevant.

Our second concern was that we didn’t prejudice any future need that we might have to commercially exploit our own work! This is perhaps selfish, but it’s also a pragmatic concern, because we don’t know what the future will bring. Until we reach the enviable position of being financially secure for the rest of our lives (which is a nice dream for anyone, but can’t be relied upon), there is always the possibility that we’ll need to use some of our open source code to pay our rent, so it seems unwise to preclude that!

We think that this concern is answered positively by one of the GPL frequently asked questions, and also covered by my liberal license. If you disagree, please let us know, as we’ll have to think about changing them!

Having said that, as time goes by we increasingly feel that the value in most source code, especially more complex code, is in knowing it well and understanding how it works. Simply having access to complex code is often not enough, and so we’re often quite happy to give liberal access to our code. If the code is simple, then we’re really just saving you the work of doing it again. If it’s complex, and you need to use it commercially, you may well want to consult with us about it anyway. Which is something we’ll be all too happy to talk about!