The decline of reciprocal licenses through corporate leadership
I want to talk about reciprocal Open Source licenses for a minute. Most major projects are permissively licensed so you might be thinking, 'Why should I care about reciprocal licenses?' Well, there is one very important difference between reciprocal and permissive licenses: how they support their community.
That difference in community support is why corporations promote—and sometimes require—permissive licenses. My thesis is the rise of corporate Open Source projects have led us away from reciprocal licenses and that project maintainers should not follow blindly.
This story starts at a small house party (remember those?) at Stephen Walli’s place 5+ years ago. I got into a friendly debate with Stephen and Ross Gardler about Open Source licenses (because, of course, we did). I argued then (as I argue now) that project maintainers should select reciprocal Open Source licenses. In broad strokes, a reciprocal license allows anyone to use the project and its source code freely. However, if the project’s source code is modified, then those changes must be published. This way the project’s community always has the opportunity to incorporate the changes based on their work.
Ross was a VP at the Apache Software Foundation so naturally he disagreed with me. He argued that permissive licenses allowed corporations to interact freely with Open Source projects because there was no requirement to contribute back to the project and that projects benefit from the additional interaction. I noted that the WiX Toolset’s reciprocal license seemed cause little trouble for corporations that wanted to use and contribute to the project. I admitted that I heard some lawyers did a double-check when they didn’t immediately see an MIT license on WiX but it was never raised as a blocker. I questioned why I should give up the guarantee the WiX community sees modifications to our code just to make some corporate lawyers lives a little easier?
Stephen argued that most companies don’t want to fork projects because maintenance is costly. That is true. But, again, I asked why I should give up the guarantee the WiX community sees modifications to our code just to make some corporate lawyers lives a little easier?
That night, none of us were convinced. But 5 (or so) years later, it is pretty clear Ross’s and Stephen’s point of view materialized as reality. For example, take a moment and think of an Open Source project (not the WiX Toolset). If you thought of a popular project today, chances are you thought of some corporation’s project that is licensed under MIT or Apache 2.0 (the most popular permissive licenses out there).
Now, think about your Open Source project. Do you want to require that anyone changing your source code must publish their modifications? If so, consider a reciprocal license. If enough projects go reciprocal, corporations will have to get comfortable with sharing. And that sounds alright to me.
Keep coding. You know I am.