When the Server Side Public License (SSPL) was submitted to the Open Source Initiative (OSI), many people criticized it, and the license was eventually withdrawn. A key cause of the criticism was that it was drafted by a for-profit company (MongoDB). I, and others, pushed back—arguing that the nature of the company should be mostly irrelevant to the evaluation of the license.
Now, in the wake of SSPL’s adoption by Elastic, I realize I was partially wrong. In this post, I’ll cover why many aspects of the “living license” outside the plain text, including company engagement, should be considered by OSI, and give some recommendations that I hope will be useful to both OSI and future license authors.
You won’t find “who wrote the license” anywhere in the Open Source Definition. When the Open Source Initiative evaluates a license, the license should, in theory, stand on its own. If it is good, it gets approved; if not, it doesn’t. The OSI also has a long history with important licenses sponsored by large for-profits, including Netscape, Sun, IBM, and even Microsoft. And the current license submission process (which I significantly revised while I was on the OSI Board of Directors) does not ask license submitters about their corporate form or governance.
Despite these rules and history, when SSPL was originally submitted to the OSI in 2018, there were several important concerns raised. But the loudest critique (or at least the one I found the most frustrating at the time) was a claim that, regardless of the text, MongoDB should be distrusted as a license steward.
I’ve now realized that my frustration at this was subtly, but importantly, wrong. It’s still true that “was this written by a for-profit company?” is a bad test, and OSI should rarely, if ever, consider this factor. But as I wrote about in my last post, a written license (especially one that seeks to push the boundaries of what we do with licenses) is part of something broader, analogous to a movement or product launch. Since the license is, in this sense, a “living document,” I was wrong to say that OSI should only focus on the text. Instead, I now believe that, especially for new or innovative licenses, OSI should (carefully!) consider factors outside the text. Here’s how that could have applied to SSPL.
So what should OSI have thought about when SSPL was submitted? If we take the OSI’s proper focus as the living license ecosystem, not just the static license text, here are a few things we can learn. In the interests of brevity, I won’t address every topic from my last post (on “writing a successful license”), but here are a few that particularly jump out:
There are many AGPL projects where you literally can't pay someone money to avoid the AGPL. There are zero SSPL projects in the same position.
— Matthew Garrett (@mjg59) January 28, 2021
At the end of the day, a standardized license text cannot prevent a malicious copyright holder from forking a project into a proprietary license. This is true regardless of the scope of copyleft (as long as there is a CLA in place), and indeed happens all the time with non-copyleft permissive licenses like Apache! OSI also can’t see into the future, or read into the hearts and minds of a corporation. These facts make it very hard to say “OSI should not approve licenses that support dual-licensing."
So instead of trying to divine what lies inside the secret heart of a company, or enforcing an unwritten rule that only the FSF can expand the scope of copyleft, what reasonably objective standards could OSI fairly use to assess the potential future stewardship of a strong copyleft license? I’ll suggest the following standards:
Some of these tests would be easy for OSI to check for (in fact, in some ways easier than existing unwritten rules around drafting quality!), while the last would be a lot of work. At the same time, it’s also something that a good-faith license submitter could consider beforehand—and I suspect would eliminate a lot of bad-faith argument on all sides.
SSPL version 1, as submitted, would likely still have failed these tests. In particular, the controversial language it used that could have extended even to an entire operating system would likely not have made it through any genuine community-based pre-OSI review process. And to date the only projects adopting it have also been via companies executing a “rights ratchet,” rather than any non-corporate communities.
I was wrong that the open source license review process can’t look at the author, because the success or abuse of a license is predicated on a broad set of factors outside of the license text. At the same time, by looking at these broad factors thoughtfully, we can create better tests than the ones we’ve got—and hopefully encourage future license authors to respect them!