Minority Opinions

Not everyone can be mainstream, after all.

Licensing a Project

leave a comment »

I’ve been hitting certain limitations in a tool I use almost daily.  The things I want to add might not be that hard, except that it’s a proprietary program and I don’t have the source.  Even worse, it’s an old version of the program, my support contract lasted only one year, and the newer versions are an order of magnitude more expensive.  It’s time to move on.

There’s another commercial tool with a limited-time demo that improves in some areas and regresses in others, but it’s even more expensive.  There are at least three open-source applications in the problem space, but I haven’t convinced any of them to work properly on my machine, and one doesn’t even compile.  The functionality I use most doesn’t seem too hard to implement myself, given my experience with most of the back-end issues, so I’ve decided to write a new one.

I don’t expect to compete effectively against two big names, so I might as well make my program open source.  I don’t really expect that many contributions from the community, but I still owe more than I’ve given back, and my work might benefit somebody.  If it’s good enough, it might even get picked up by my Linux distribution.  To enable that, I need to choose license terms, preferably without drafting my own.  Fortunately, the Open Source Initiative has compiled a convenient list of approved licenses, with the more common ones at the top.

GNU General Public License (2.0 or 3.0)

This is the big name in the community, because it’s very restrictive and used by many of the largest components in most Linux distributions.  I may end up going here simply through incorporating someone else’s code, but I would prefer not to start out quite so obnoxious.  Partly, the recommended copyright notices seem onerously large, but my larger complaint is the inflammatory tone taken by the FSF when it decries anything that isn’t guaranteed to be free forever.

Apache License (2.0)

With very clear terms, an explicit patent license, and a nice clause for licensing community contributions, this one is growing on me.  It’s compatible with version 3 of the GPL, though not version 2, and enjoys support from another .  My only significant concern is that it’s not copyleft; it appears that someone else could be free to form a commercial version from my work.  Then again, I don’t expect such an effort to succeed, and it means that I could do so from any contributions.

Artistic License (2.0)

This resolves my copyleft concern about the Apache License, at the cost of the patent and contribution clauses.  Perhaps I don’t need those clauses, but they’re nice to have around.  It also fails to qualify as popular according to the OSI, which might reduce the quality of its legal standing.

Open Software License (3.0)

This one almost achieves some sort of middle ground between the Apache and Artistic licenses.  Almost.  Unfortunately, its grounding in contract law leads it to include an unusual clause about requiring recipients of the code to assent to it.  I hate having to assent to license agreements, and refuse to force someone else to do so.  Nor do I need an extra barrier to acceptance by a Linux distro.  The fact that it’s not compatible with any version of the GPL could also present problems down the road.

European Union Public Licence (1.1)

Sounds interesting, as a fantastic effort by a large governing body, but I don’t particularly care to be governed by Belgian law at this point.  It also has a potentially significant limitation on its disclaimer of liability; on the other hand, that limitation might simply be codifying something required by law in most jurisdictions.


At this point, I don’t see any problem with using the Apache License, with the option of going GPLv3 later.  I might do so based on finding code worth including, or perhaps when I feel that the project is strong enough to require the anti-proprietary restrictions.

With that out of the way, my next big hurdle is graphics.


Written by eswald

7 Feb 2012 at 5:22 pm

Posted in Technology

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s