Ed-Fi is Open!
Beginning in April 2020 and continuing throughout the year, the Ed-Fi Alliance is converting most of its source code repositories to the Apache license, Version 2.0. Please read through this FAQ for answers to common questions about the move to open source and its anticipated impacts on our technology, community, and software development processes.
Under the original Ed-Fi license, only those who have signed the license agreement could access the source code. Under the Apache license, the source code repositories hosted on GitHub will be converted from “Private” to “Public,” thus allowing anyone in the world to access the code.
Before doing so, the Ed-Fi Alliance plans to scrub old code, improve documentation, and ensure there is no sensitive information available to the public. Each application/code repository that will be opened to the public will go through this careful review process over the coming months; please read on for the anticipated timeline.
For detailed information on the Apache License, Version 2.0, please see the official Apache Licensing and Distribution FAQ. The Ed-Fi team will continue to update the community on our progress, timeline, and what to expect via our e-newsletters, blog, webinars and events, and Slack Channels.
General Questions About Ed-Fi Going Open Source
Why is Ed-Fi going open source, and why now?
While the existing Ed-Fi license has allowed the Alliance to clearly articulate intellectual property ownership and gain information about intended use, the license requirement has been a barrier to partnerships and wide adoption. The Ed-Fi Alliance is a nonprofit organization, and unlocking adoption at scale will require marshaling resources beyond what our team can provide. By moving to open source and to the Apache 2.0 license, we are lowering the barriers to entry for technology providers and education agencies alike and encouraging more rapid innovation in the service of educational data interoperability.
In the words of Ed-Fi President Troy Wheeler, “We’re going open source because we have established the foundation to support it—including a strong governance structure, diverse partnerships with major technology companies, a vibrant national community, and the ability to scale. In many ways, we’ve always had an open-source mindset and are now aligning our technology to match.”
What are the advantages of the Apache license?
Advantages of the Apache license, Version 2.0 license include:
- Widespread use and familiarity.
- Freedom for derivative use in commercial products.
- Clarity on patent rights.
- Does not require a signature.
The BSD New and MIT licenses are similarly appealing, but the Apache 2.0 license offers a stronger notice requirement and better intellectual property protections. The GNU GPL’s “copy left” provisions make it unsuitable when trying to foster a community that equally values non-profit organizational and for-profit corporate use and community participation.
The full license text is available on the Apache Foundation website.
I thought Ed-Fi technology was already open source?
The Ed-Fi Data Standard itself has always been open, and while the Ed-Fi technology platform has long been open source in nature, the prior Ed-Fi license did not satisfy a few conditions of the Open Source Definition as published by the Open Source Initiative. For example, though the provision had never been employed, the prior License had a provision to restrict derivative use. Furthermore, Ed-Fi source code was only available to those who had signed the prior license, whereas true open-source projects generally permit anonymous access.
Doesn’t the danger of fragmentation run contrary to the desire for standardization?
The Ed-Fi Data Standard is already openly available and guided by a governance process to ensure continuous, coherent, and appropriate evolution. That openness has been a strength in that it has fostered broad participation even among those who are not directly using our data standard.
So long as the software continues to conform to the published Ed-Fi Data Standard, it will benefit the community to have more diverse software offerings. While fragmentation of the software assets is a possibility, history has shown that fragmentation (“forking”) of open-source software projects is rare. In his groundbreaking work The Cathedral & the Bazaar, Eric S. Raymond notes that “Splits in major projects have been rare, and are always accompanied by re-labeling and a large volume of public self-justification. It is clear… that the splitters felt they were going against a fairly powerful community norm” (ch 3).
Finally, the name “Ed-Fi” remains a trademark of the Ed-Fi Alliance, LLC, fully subject to the usual trademark protections. You can find Ed-Fi’s brand and messaging guidelines in our Community Kit.
Transition Plan & Timeline
Which components of Ed-Fi technology will be included in the new licensing?
The following products will be converted to the Apache 2.0 license:
- Ed-Fi Data Standard
- ODS/API Platform and related tools
- ODS/API Admin App
- Analytics Middle Tier
- Learning Standards Sync Utility
- Sample Data Generator
- Ed-Fi Exchange projects
As with most organizations that have embraced open-source software, the Ed-Fi Alliance will continue to distribute some of its tools under a binary-only license. Access to the source code for these tools is not essential for operation or extension of the Ed-Fi Data Standard or the Ed-Fi ODS/API. Furthermore, this strategy helps us to avoid market fragmentation, retain greater flexibility, and keep limited resources focused on continued internal evolution. These tools will include:
- MetaEd IDE
- Data Import
Members of the Ed-Fi Community that are interested in gaining access to the source code for these tools may contact us to discuss alternative licensing options.
The future direction and roadmap options for the Ed-Fi Dashboards is currently under consideration by the Ed-Fi Reporting and Visualization Work Group, and the outcome of that work will inform whether or not we move the Dashboards to an open-source license.
When will code be publicly available under the Apache 2.0 license?
Our goal is to transition all applicable repositories by the end of 2020, with the following estimated timeline:
- April: Ed-Fi Data Standard
- May: ODS/API and Analytics Middle Tier
- June: ODS/API Admin App
Other tools and Exchange contributions will be converted piece by piece throughout the year.
How will the Ed-Fi Exchange be impacted?
Projects currently published on the Ed-Fi Exchange will be converted to the Apache 2.0 license in all cases where the intellectual property belongs to the Ed-Fi Alliance and/or the contributor agrees to the licensing change. In any other case, the Exchange contribution will continue to be governed by its existing license restrictions.
What does the move to open source mean for existing Ed-Fi licensees and licensed technology?
Organizations that previously signed the Ed-Fi license agreement will continue to be full members of the Ed-Fi Community, with no changes in access to digital resources, applications, or source code. There is no action necessary.
All code releases prior to this announcement were released under the Ed-Fi license. Those source code files continue to be governed by the Ed-Fi license, as there is no mechanism for retroactively applying the license change. Only new releases of the Ed-Fi software and standards will be covered by the Apache 2.0 license, and they will include a copy of the Apache 2.0 license.
As an education agency or organization, what does this mean for me?
Education agencies and organizations that are already a part of the Ed-Fi Community will gain greater leverage with your technology providers due to the lower barrier to entry, and a stronger advocacy position when encouraging others to adopt Ed-Fi.
Education agencies and organizations that are new to Ed-Fi will have an easier time trying out the Ed-Fi Data Standard and software applications, as you will not need to sign a proprietary license agreement.
Additionally, it will be easier than ever to contribute bug fixes and new features to the Ed-Fi software. We have always encouraged contributions by our community and this change in license signals that we really mean it. We hope you will contribute your Ed-Fi solutions to benefit other education agencies, their employees and students.
As an education technology provider, what does this mean for me?
Going open source means that there is no longer a need to sign a license to start working with the Ed-Fi technical artifacts—and consequently no (or lower) legal department hold-ups or concerns with using those artifacts in your systems development.
As a developer, what does this mean for me?
Any developer will be able to access the open-sourced applications on GitHub without having to sign in to GitHub or be granted organization membership first.
Once Ed-Fi is officially open source, all of your contributions to the code base will be visible to the public, and all open projects will have a list of contributors that you can point to on your CV.
Will I still need to sign in to access Tracker and TechDocs?
Some portions of Tracker and TechDocs have always been available to anonymous users and these will continue to be available. Throughout the technology transition process, additional projects in Tracker and pages in TechDocs will be made available in read-only state for anonymous users and/or users with an Ed-Fi Community account. Some content will continue to be gated behind a login in order to foster a safe and effective environment for community collaboration.
Open Source Development Practice
How will the Ed-Fi Alliance ensure continuity of code quality?
All code contributed to the Ed-Fi Alliance source code repositories will undergo the same level of scrutiny as code developed by the Alliance’s programming teams, with code review and testing that ensures:
- Consistent application of all data security/privacy measures
- Adherence to applicable coding standards
- Coherence with the existing application architecture
- Use of only vetted, reputable third-party libraries
Each source code repository will include instructions on how to collaborate with the product development team on new features, bug fixes, and improvements.
How do I contribute code?
So glad you asked! We would love to have your help.
Please see our Code Contribution Guidelines for guidance on coding standards and how to submit pull requests in GitHub. Contributions from technology partners and Ed-Fi Community members will strengthen the future of Ed-Fi, helping us to iterate, innovate, and scale.
How do I participate in new feature development?
Please see How To: Submit a Feature Request for guidance on creating user stories in Tracker. After you have logged a story, the Product Owner for the affected product will reach out to you for additional discussion on requirements and next steps.
If you have an idea but are not ready to commit it to Tracker, then we also invite you to post it in the Ed-Fi Slack Community for a community discussion, under the most relevant channel.
We want to hear from you!
Our transition to open source will be a careful, steady, and community-influenced process. We want to hear your thoughts along the way! Feel free to email firstname.lastname@example.org and Tweet at @edfialliance with the hashtag #edfiopensource. Thank you to our existing community for providing the solid foundation that has allowed us to move in this direction. The future of Ed-Fi is open, and it’s definitely bright.