EECS Faculty Member Helps Develop Metrics for Open Source Software
Those wanting to download and use open source software in the future will have a better sense of what they’re getting, thanks in part to the work of a Mizzou Engineer.
Open source software is computer software distributed with a license that allows anyone to see, use and modify the original code. In many cases, an open source project attracts other developers who contribute to the project. This forms a community where those involved improve and enhance the software.
Sean Goggins, an associate professor in Electrical Engineering and Computer Science, is helping develop metrics to give potential contributors and users better insight into open source projects. He is working with Matt Germonprez, a professor from the University of Nebraska at Omaha.
“Matt and I have been looking very closely at what role corporate open source software plays in society,” Goggins said. “We’ve really been trying to understand how people know whether an open source project is healthy, and whether to invest in that project.”
The team recently received an $899,876 grant from the Alfred P. Sloan Foundation for that work. The award brings their total funding from the Sloan Foundation and Mozilla to more than $1.6 million since 2016.
A Digital Foundation
Once considered more of a playground for programmers and coding hobbyists, open source software now lays the foundation for much of our digital lives.
It powers smartphones and operating systems, for instance. And web and mobile apps use open source code to enhance their own features.
“Open source software is interwoven into our lives and work, whether we know it or not,” Germonprez said. “Identifying and sustaining healthy open source communities is crucial to ensuring the future of open source software development work.”
The Sloan Foundation funding supports the research and applied work related to the Community Health Analytics Open Source Software (CHAOSS) project. Goggins and Germonprez co-founded CHAOSS in 2017.
Defining Open Source Metrics
CHAOSS is focused on creating metrics to gauge how viable open source projects are. And these metrics help ensure programmers are on the same page.
“Before CHAOSS, there were no agreed-upon metrics. And that was frustrating because one software project would define them differently than another project,” Goggins said. “The CHAOSS project provides a shared definition. We’re almost constructing the dictionary so that different vendors can’t have different definitions. So when I look at two different pieces of software, I’m not seeing two different ways of defining metrics and trying to compare apples to oranges. Essentially CHAOSS works with tech companies to build consensus about how to define these metrics.”
The metrics provide basic information, such as what a project is, who started it and when. They also provide insight into activity such as how many people have contributed to a project, and how responsive a company is to code improvements. The metrics look at a project’s business risk, code quality and security. And diversity and inclusion metrics give insights into demographics, such as a project’s governing body and leadership composition.
All of these factors can provide an overview that gives users and contributors an indication of whether an open source project is here to stay.
“With CHAOSS, we’re starting to reduce the fragmentation in how we understand health and sustainability,” Germonprez said. “We’re learning how we can help encourage open source communities to thrive.”
To bring these metrics together, Goggins and Germonprez created their own open-source project called Augur, which implements CHAOSS metrics. Anyone can download and modify Augur to compare open source projects against the health and sustainability of similar projects.
Preparing the Next Generation
Goggins shares his expertise and connections with software engineering students at Mizzou. And that can benefit a student who want to boost their resumes or qualify for an internship or that first job.
“My students are exposed to all of this,” Goggins said. “I give them an idea of what this world looks like and give them access to contribute to this ecosystem. You’ll have access to high-tech companies all over the world that participate in CHAOS, many of which are very active. This gives you access to a community of corporations looking for open source contributors to hire.”
And that access, Goggins said, is rarely available to undergraduates.
He also encourages students to continue open source contributions early in their career. Doing so provides a different type of environment than corporate programming jobs and can lead to new opportunities.
“Open source gives you the chance to do something with code and learn from it,” he said. “Knowing that language and having a contribution record demonstratives motivation. And it demonstrates that you’ve developed different skills and have acclimated to a community of people.”
Interested in coupling a degree real-world open source experience? Learn more about a computer science degree from Mizzou Engineering.