An open source software’s (OSS) sustainability relies on passionate developers willing to contribute to the project. Therefore, a project’s survivability depends on its ability to retain developers, onboard new ones (i.e., newcomers), and, maybe more importantly, create a community of users who promote its adoption and use.
As OSS projects grow, contributors tend to organize and create communities to drive the development process. However, many projects lack formal models, especially governance models, to structure and manage the (potentially large) community around them. Support to deal with all kinds of organizational decisions (including legal and economic aspects) is a huge concern for all projects. In fact, I previously reported some results on transparency and governance models from the top 25 starred projects in GitHub. In a nutshell, the results were encouraging, but a lot of effort is still needed.
In other domains, nonprofit initiatives and foundations (either public or private) organize to provide the legal and economic infrastructure for a community. They can also define a number of internal regulations regarding, for instance, the activity, membership, and decision-making process for nonprofit and non-governmental organizations.
Similarly, in recent years, there have been a number of foundations created around OSS. Software foundations are nonprofit organizations whose mission is to provide the grounds required for open and collaborative software development. They also provide a legal framework for individual volunteers and enable the donation of resources for the public benefit. However, there is a high variety among foundations, and information about their differences is scarce.
Take, for example, the Apache Software Foundation and the Linux Foundation, two of the most well-known software foundations. They follow different strategies for managing the projects they cover. While the Apache Software Foundation proposes a meritocratic system, where different committees control and drive the development of several software projects (and the board oversees the whole process), the Linux Foundation follows a flexible approach and serves as an umbrella for its projects, which can deploy specific development processes, and concentrates more on promoting the benefits of OSS.
As part of my research in the SOM Research Lab, I studied the different flavors of OSS foundations and their impact on the development of OSS projects. The goals are: 1) to give a clear picture of the current state of the art of software foundations, and 2) to help developers make informed decisions when creating new foundations or choosing to join an existing one. We built a dataset of 89 software foundations, which were analyzed according to their scope, openness, and influence on their projects’ development practices.
We presented the study’s results in the Software Engineering in Society track at the International Conference on Software Engineering 2018. Our research paper (which you can read online) received ICSE 2018’s Software Engineering in Society Paper Award.
Exploring OSS software foundations
To facilitate the query and understanding of software foundations in the context of OSS, I have recently published a website that summarizes the results of our study.
The website includes information about 89 software foundations, which are classified according to the following dimensions:
Software product supporter? We check every foundation in our dataset to find out whether its main goal is to support the development of a specific set of software projects. Other goals may include training, certification, or evangelization of open source in general.
International scope? This studies the foundations’ distributions from a geographical point of view (i.e., whether the foundation has an international or a local character).
Independent? A foundation can serve a specific project, a set of projects, or as an umbrella for a number of smaller foundations, which use it to simplify their creation, management and legal processes. We focus on independent foundations.
Clear mission? Beyond development, foundations may aim to help projects with things like nurturing the community or facilitating the creation of new and related projects. These goals are normally stated in a foundation’s mission and mentioned on its website or in its bylaws. Surprisingly, a significant number of foundations provided no explicit information on their missions.
The website presents results in both a bar graph and a list, which can be queried according to a foundation’s name or the above dimensions. Each entry in the list shows the selected foundation’s name, status, and dimension values.
A deep analysis of the results also helps clarify the role OSS software foundations play in the development of OSS projects, as we explored in our research paper.
This work is similar to chooseafoundation.com, but we include a longer list of foundations. Even so, our list is not exhaustive and may include errors. I would like to keep it as updated as possible, so do not hesitate to send me an issue if you find any error or a missing foundation.