Announcing our license recommendations guide
Today I'm happy to share something we've been working on for a little while: “How to choose a license for your own work” is a comprehensive set of license recommendations for new projects. This page explains what factors are important to consider when making licensing decisions, and suggests specific licenses for different scenarios. If you're starting a new project (whether it's software, documentation, or something else related) and unsure what license to use, you just need this one link to find our recommendations.
We've been making most of these recommendations for a while, but that information has been scattered across different web pages, interviews, and sometimes even private emails. This page brings all of that together in a single reference.
Consolidation was my initial motivation for this project, but the drafting process gave us a natural opportunity to reevaluate our recommendations from a policy perspective, and we took advantage of that. Ultimately, we made one change worth highlighting: we now recommend the Apache License 2.0 in situations where a copyleft license isn't appropriate, where we used to recommend simpler alternatives like the Expat license.
This shift was spurred on by several changes that have taken place over the past few years. As sad as I am to admit it, patents remain a growing threat to free software. The US Supreme Court's decision in Bilski v. Kappos missed a crucial opportunity to stem the tide of software patents, and the cases that have followed since have only served to drive that point home. Every time another bad ruling comes down—Bedrock v. Google is only the most recent example—it becomes that much more important for the free software community to do everything it can to defend itself from software patents. We will never be completely safe until software patents are abolished, but any defenses we can implement today are worthwhile.
The Apache License 2.0 is the best non-copyleft license that does what a copyright license can to mitigate threats from software patents. It's a well-established, mature license that users, developers, and distributors alike are all comfortable with. You can tell it's important by the way that other free software licenses work to cooperate with it: the drafting processes for GPLv3 and the Mozilla Public License 2.0 named compatibility with the Apache License 2.0 as a goal from day one. The Apache Software Foundation deserves a lot of credit for pushing to do more to tackle software patents in a license, and implementing an effective strategy in the Apache License.
It's unfortunate that the Apache License 2.0 isn't compatible with some free software licenses like GPLv2. As we considered this change to our recommendations, this point was easily the most important one weighing against it. Fortunately, every major copyleft license has or will soon have Apache compatibility in their latest versions, which mitigates those concerns. Ultimately, we went ahead with this change because we want our recommendations to help projects make decisions that will serve them well for a long time to come, rather than focusing too much on today's immediate circumstances.
I hope that this new page helps everyone better understand the important issues that impact a licensing decision, and that this blog post helps everyone understand why we've started recommending the Apache License 2.0 in some circumstances. If you have questions or feedback about any of this, we'll be happy to hear from you; please don't hesitate to write us at email@example.com.