from the stop-worrying-about-the-freeloaders dept
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.