“Ed-Fi is open”: thus the Ed-Fi Alliance announced its transition from a proprietary license to the open source Apache License, version 2.0, in April, 2020 (FAQ). Moving to an open source license is a clear commitment to transparency: anyone can see the source code, and the user community knows that their right to use that code can never be revoked. But this change is about more than just words: as the list of contributions below demonstrates, embracing open source is also about participation.
In this second year of #edfiopensource we are asking ourselves – and the community – what comes next? What can we do, together, to unlock further innovation and deliver more tools that make use of student data in new, practical, and transformative ways?
Spoiler alert: The Ed-Fi Community needs you!
Opening Up
In order to open up the source code and facilitate code contributions, over the past twelve months the Ed-Fi development teams have:
- Migrated core applications and components to new, public, repositories on GitHub, including: Ed-Fi ODS/API, Admin App, Migration Utility, TPDM, and Analytics Middle Tier;
- Initiated new projects as public repositories, including artifacts for Docker support and the up-coming LMS Toolkit;
- Migrated or created forty-eight repositories for Ed-Fi Exchange projects;
- Significantly rewrote and expanded the Code Contribution Guidelines, normalizing the coding standards and practices to make it easier for anyone to join a project; and
- Formally adopted a version scheme using “suite name” for the supported Data Standard and Semantic Versioning for the application version, bringing a greater degree of clarity to the murky waters of version numbering.
Collaborating
The Ed-Fi ODS/API is built using Microsoft’s .NET Framework, which underwent a significant and breaking change a few years ago (“.NET Core”). This change brought many performance and productivity benefits; most importantly for the Ed-Fi community, it also unlocked the door to supporting .NET applications on Linux in addition to Windows. Upgrading the ODS/API for Suite 3 to use .NET Core was deemed critical for the roadmap, but the Alliance’s resources would be stretched very thin by the required work. Thanks to the conversion to the Apache license, the Google Cloud team was able to step up and sponsor Innive to help complete this conversion.
Another open source contribution to the ODS/API is the InstanceYearSpecific mode, contributed by EdWire. This feature, introduced in version 5.1, supports running a single ODS/API WebAPI application that connects to multiple ODS databases, segregated by both year and an instance identifier. In this way, a hosting provider can store the data for multiple client agencies (“instances”) in separate, year-specific, databases. EdWire also contributed to the Analytics Middle Tier, along with Inteport, Clackamas Education Service District, Clear Launch, and LeapFrog Technology.
In the spirit of open source, Certica Solutions, an Instructure company, made significant contributions to the Data Import version 1.1 release this past January, allowing everyone in the Ed-Fi community to benefit from the highly-requested support for working with multiple ODS/API instances, among other features. While Data Import is one of the few tools that remains under the Ed-Fi license, this collaboration clearly demonstrates how an engaged community member can work with Alliance development teams to strengthen the suite of interoperability tools built around the Ed-Fi Data Standard.
And then there are the myriad software projects developed by state and local education agencies and shared through the Ed-Fi Exchange. The solutions often address the last mile of getting data from the ODS/API into the hands of teachers and administrators. That they are provided under the Apache license means that anyone is free to use them and to modify those solutions to fit their particular needs.
Call to Action
The Alliance’s Eric Jansson has often employed an image of a small dog to represent the Alliance’s technology budget compared to an elephant representing the community’s collective budget. The point is this: the Ed-Fi Alliance is committed to investing in software that supports the Ed-Fi Data Standard. The community is hungry for that software – and more.
As the highlighted contributions above show, vendors and education organizations can and should play a significant role in advancing the community’s work by providing or funding new applications, features, and bug fixes.
Ready to start collaborating? Please head over to the Code Contribution Guidelines for more information on how anyone, ranging from students to multi-national corporations, can pitch in and help make educational data interoperability a reality.