Enable Data Union (EDU) is our open framework for analytics and data warehousing based on the Ed-Fi data standard. We are excited to be publicly releasing code and documentation for EDU at www.enabledataunion.org. In this article, we explain our reasoning for choosing to release this code under the PolyForm Noncommercial License. This license allows for any noncommercial use, such as by education agencies, non-profit organizations, and government agencies.
Over the past few years, our team at EA has developed the Enable Data Union code in collaboration with school districts and states across the country. As we considered options for how to optimally share this code, we had the following goals in mind:
Be open and transparent with our code, so we can not only gain the benefits of working publicly but also ensure visibility into data transformations
Create something that education agencies could actually use and benefit from
Allow potential adopters of the software to be confident that the code won’t disappear if they adopt it
Foster a community of contributors and data practitioners
Importantly, we also wanted to protect this effort from exploitation. This software has been developed in large part from public and philanthropic funds, and we want the code to benefit the public sector. There have been many examples of large for-profit companies benefiting from the work of open-source efforts, such as by offering hosted versions of open-source products without contributing anything back to the larger community. In the field of education specifically, we worry about districts becoming locked in to a proprietary vendor’s technology ecosystem. EDU is meant to contribute to the broader knowledge base and code base without being used to restrict education agencies’ options for selecting technology tools.
Some background on open-source license models
The most commonly cited definition of open-source software comes from the Open Source Initiative. This definition includes a set of criteria that are required for a license to be considered open source—but it was last updated in 2007 (15 years ago). When it was developed, almost all software was distributed and then run on a user’s machine. With the rise of cloud computing, and most software being consumed today as Software as a Service (SaaS), it has become easier for large vendors to take advantage of open-source projects and essentially resell them for a profit without adding any value back to the project.
Over time, different organizations have developed strategies to be able to fund the development and maintenance of open-source software. A common strategy is to adopt what’s called an “open-core” model (this is a similar concept to “freemium” software). In open-core software, a “core” piece of functionality is published under a license that complies with the open-source definition, and some additional proprietary functionality is made available for a price. A nefarious application of this model is to strategically withhold key pieces of the software so that a user realistically needs to pay to gain the benefits of the software, but its producer can claim the software is open source for public relations benefit.
Choosing a path
We considered an open-core model for the EDU code, but we began to question the premise of what we would be trying to accomplish by publishing some code under an open-source license. We share many of the goals of meeting the open-source definition: We want to be open and to make the software free to use for the education agencies we work with, and we value the public nature of open-source code. But we also do want to restrict what can be done with this software, to protect it from being used to lock agencies into proprietary solutions, which is a goal that conflicts with the open-source definition.
We also want education agencies to be able to use the whole software product rather than just parts of it. So instead of an open-core approach, we are prioritizing releasing all of the EDU code with a “source-available” license rather than an “open-source” one. “Source-available” or “fair-code” licenses impose some additional restrictions on the use of the code. This blog post and white paper by Heather Meeker, a specialist in open-source licensing and strategy, helpfully lays out the landscape and some context for this class of licenses.
We think the license that best accomplishes our goals is the PolyForm Noncommercial license. This license comes from the PolyForm project, an effort to standardize source-available licenses in clear language designed specifically for software projects. These licenses differ from Creative Commons licenses that attempt to accomplish many of the same goals but are more complex and are not only about software. Other licenses, like Server Side Public Licenses (or SSPL), have attempted to find a balance between complying with the open-source definition while imposing restrictions on use, but the main effect of those restrictions is to limit uptake rather than support it. This class of license has not been accepted as open source anyways, so we have tried to land on a more straightforward approach.
The PolyForm Noncommercial license:
Allows use of the software by education agencies, government agencies, and other non-profit organizations
Allows use of the software by anyone for noncommercial purposes
In contrast to some other licenses we have evaluated, the PolyForm Noncommercial license is clear that government agencies and non-profit organizations are not restricted in what they can do with the code. For a school district or state education agency, examples of uses allowed under this license include:
- Using and installing the code on your own
- Incorporating the code into other software
- Modifying the code
- Hiring someone to install and implement the code for you
- Hosting the code for other agencies (such as charter schools)
We also are also very open to licensing this software under a different license for specific for-profit organizations, but we want to do this on our terms rather than universally to ensure that other adopters will benefit the broader community.
We think that the PolyForm Noncommercial license could be a useful license for others involved in public sector software development to consider. The ideas behind open-source software have a lot of value, but the risks could prevent some organizations from taking the leap and making their code publicly available while trying to find a funding model to support development and maintenance of that software. We hope this article increases awareness of this licensing option, and provides transparency about our decision for this approach for Enable Data Union.
We want to thank Heather Meeker for helping steer us in the direction of the PolyForm Project and advising us on a solution that is compatible with our goals.