Thursday, April 23, 2009

The Licensing Conspiracy Idiots

When I worked at Google, one of the things that I got to do was choose the licenses that were allowed on Google Code. A quick consultation with Chris DiBona to ensure that I wasn't totally in left field, and that was it. We launched Google Code with seven licenses, and added an eighth (GPLv3) when that license was released.

I'd been observing the use of licenses on the site, and saw that the uptake on Mozilla was dead last. I mean really last. Less than a few percent. After many months of saying "we should axe that license", I actually dug in and killed it off.

And then the conspiracy nutjobs came out of the woodwork. Saying Google had some Master Plan and how it didn't like certain licenses. That it was trying to kill off licenses to further its own ends. Of course, I'd seen this utter nonsense before, so was ready for it.

The simple fact is that my goal was to reduce the number of licenses that people use for their Open Source projects. When you combine multiple software packages, the combinatorics around licensing just becomes insane. "Can we combine these? What are the overall requirements? What notices are necessary? Which pieces do we need to provide source for?" All of these questions become very difficult for the end user, and for packagers/redistributors.

Our job, as authors, is to help these people. Open Source and Free Software should be easy. We should not be wasting so much time on licensing (our own, or the people who consume our software).

In an ideal world, I believe people should choose the Apache License, v2, or the (GNU) General Public License, v3. Pick one based on your philosophy.

Middle-of-the-road licenses like MPL, EPL, and CDDL are wishy-washy. They can't decide to be permissive, or to maintain Freedom. Choose a philosophy.

And the experience on Google Code showed that people simply do not tend towards these wishy-washy licenses. Instead, they are chosen for your depending on whether you play in the Mozilla, Eclipse, or Sun playgrounds. Those licenses are not universal. So I took a step to help in that direction. Worst case, a few percent of projects would be hosted somewhere else with more choice around licensing (such as SourceForge).

The idiots barking about the Affero license totally missed the point. No conspiracy. They just had no numbers, and were fragmenting the licensing market. Go host your projects elsewhere. You never had and never will have an "entitlement" to host on the service of your choice. That is up to the service provider, and Google Code chose the path of limiting license choice.

Anyway. If you want your software to be adopted and used, then pick ALv2 or GPLv3. That keeps things very easy for your users.

Now go write some code.



(after I left, somebody added MPL back, along with EPL and CDDL; ah well... their choice now!)

1 comment:

Fabrizio Capobianco said...

Always sweet to be called an idiot :-)

fabrizio