Even The Open Source Community Gets Overly Restrictive At Times
from the stop-worrying-about-the-freeloaders dept
Reader Brad sent in a fascinating post from a little while back by Steve Streeting, a software developer who created an open source 3D rendering engine called OGRE. In the post, Streeting describes his evolving view on open source licenses. He basically points out that that open source licensing -- the kind that forces anyone who uses the code to open up and contribute back their code -- is actually creating an unnecessary restriction on developers as well, and it often doesn't make sense to have such restrictions. It's really quite a fascinating post, that brings up a number of issues I hadn't really thought about too much. For example, he points out that the restrictions aren't very helpful for code, because the best code contributions are from those who are contributing code willingly anyway -- so the restrictions are meaningless for them. Separately, he points out that the restrictions on licenses, such as the LGPL, simply are too complex and too restrictive for some developers, and the end result is fewer developers, which is the last thing you should want:It was at this point that I realised that my previous opinions about permissive licenses not providing enough safeguards against exploitation for an open source project were off-base. In practice, open source projects don't really need protection, because their best contributors are going to be there regardless (yes, I realise the GPL provides more protection to end users who want to get at the source code, that's not what I'm considering here). 'Freeloaders' -- people who use or modify the open source project for their own ends but give no code or community contribution back -- are always going to exist; even under the GPL it's easy to freeload, if you make your money from hosting services for example, and thus license choice has little impact on the scale (if not the nature) of the freeloading. Besides the annoyance of 'that guy took my work and made some money out of it' -- which you have to accept as an inevitable outcome of going open source, so stick to making proprietary software if that bugs you -- freeloaders have little negative effect on an open source project, and actually their use can contribute positively to [publicity for the project]. The key is to recognise that in practice you can really just ignore freeloaders, and instead concentrate on maximising the positive contributors in your community.I find this fascinating on a number of different levels. The argument he's making -- within the open source world -- pretty much mirrors the arguments we make to copyright maximalists: that focusing so much on "freeloaders" is pointless, they're going to exist. Instead, focus on building your overall community, adding value, and setting up a model that works for those people. It's amazing to think that the excess restrictions in some open source licenses creates something of a parallel world, with parallel issues.
So, if we acknowledge that the people whose contributions we actually want are those who contribute voluntarily, regardless of license, we quickly come to the conclusion that all that really matters is the size of the community. It's a fair assumption that for a given project there is a relatively stable percentage of users who will choose to contribute back (the percentage itself varies per project, but is fairly stable per project in my experience), therefore the easiest way to increase your contributors is to just increase your user base. Forget about trying to coerce people into being 'good' members of the community, just trust that the percentage will be there and will track your overall numbers.
One way in which to attract more users is to make the licensing simpler and more easier to understand. Programmers hate legalese, and a simple, clear license is bound to be more attractive than our LGPL (with static link exclusion), plus OUL option. It's for this reason that from OGRE 1.7 we're switching to the MIT License.
Once again, it all seems to come down to the same thing: restricting what others do is rarely a good strategy. Let people do what they want, and focus on providing the most value for the largest community that wants to be a part of what you're doing.
Filed Under: ogre, open source, restrictions, steve streeting