Apache Feather logoThis is an excerpt – read the full post on edx.org to learn more about the evolution of Open edX, the importance of the XBlock API, and the move to Apache.

When we open-sourced the edX code in 2013, our goal was to enable developers around the world to experiment with and extend the Open edX platform. EdX is a nonprofit with three main goals: to expand access to quality education to anyone, anywhere in the world; to enhance teaching and learning on campus and online; and to encourage research into how people learn. Open research into learning styles helps edX, our members, and our community improve how we teach online and on campus. Offering everyone our code for free empowers the community to experiment, to innovate, and to discover new tools for teaching and learning.

Our code was originally open-sourced under the AGPL license. This license is widely used by organizations committed to the ideal of open source. It ensures that changes made by others will also be open, encouraging continued sharing. This way contributors cannot extend our core platform in interesting ways and then keep it to themselves. We’re making our software available free, so we want others to build on top of it and share their essential changes back to the worldwide community.

However, with a large system like Open edX, one license doesn’t fit all purposes, which is why we’ve decided to relicense one part, our XBlock API, under Apache 2.0.

The XBlock API will only succeed to the extent that it is widely adopted, and we are committed to encouraging broad adoption by anyone interested in using it. For that reason, we’re changing the license on the XBlock API from AGPL to Apache 2.0.

The Apache license is permissive: it lets adopters and extenders do what they want with their changes. They can release them under a copyleft license like AGPL, or a permissive license like Apache, or even keep them closed-source.