I’ll throw in my 2 cents. I’m a fan of the MPLv2 license when aiming to release production quality code open source that I’ve funded with my own money / bootstrapping. I’ve certainly been influenced by the late Pieter Hintjens and enjoyed his book Social Architecture. From his blog and an early draft of the book he has a nice section on licenses and a great story about BSD (MIT and Apache) that certainly informed me on choosing the MPLv2 for TyphonJS and any other open source I release (TyphonRT eventually!). I’m also adopting a modified (info that is technical specifics) C4 contract for governance of all open source repos I release.
From a practical perspective a lot of the work I put out is highly modular where each module follows the single responsibility principle. The MPLv2 works great in this situation. The larger software systems that I’m releasing are all plugin / component based where the runtime is composed of many single modules any of which can be swapped out, but most folks won’t swap out the core modules I make as the 1st party dev, but choose to provide further plugin / module extension for customization.
Interestingly the major Javascript documentation tool that I’m still finishing up (TJSDoc) was forked from ESDoc (MIT) after the author refused to accept outside contributions or discuss / engage anyone in the community trying to participate (fellow is also from Japan and doesn’t understand English, so there is that difficulty too!). The fellow made it clear that it was his hobby project and wouldn’t take outside suggestions small or large or code. I don’t take forking lightly, but this was a case where I forked an MIT project and put in considerable time / money to make a production quality system which is even easier for 3rd party developers to extend amongst many other feature / architecture improvements. To protect this effort (~1500 hours / all programming time this year so far!) MPLv2 fits.
I’d say check out the Social Architecture book for an interesting treatise on community building and licensing / other matters that come into play including a good overview of what a software license actually provides as far as it relates to contract / copyright, etc. If anyone has any other pointers to other treatises in this matter I’d be glad to check them out as I find the topic interesting.
If you don’t have time to check out the above links these two paragraphs cut to the chase:
"BSD is like food. It literally (and I mean that metaphorically) whispers “eat me” in the little voice one imagines a cube of cheese might use when it’s sitting next to an empty bottle of the best beer in the world, which is of course Orval, brewed by an ancient and almost extinct order of silent Belgian monks called Les Gars Labas Qui Fabrique l’Orval. The BSD license, like its near clone MIT/X11, was designed specifically by a university (Berkeley) with no profit motive to leak work and effort. It is a way to push subsidized technology at below its cost price, a dumping of under-priced code in the hope that it will break the market for others. BSD is an excellent strategic tool, but only if you’re a large well-funded institution that can afford to use Option One. The Apache license is BSD in a suit.
For us small businesses who aim our investments like precious bullets, leaking work and effort is unacceptable. Breaking the market is great, but we cannot afford to subsidize our competitors. The BSD networking stack ended up putting Windows on the Internet. We cannot afford battles with those we should naturally be allies with. We cannot afford to make fundamental business errors because in the end, that means we have to fire people."