In the dynamic world of software development, we are increasingly seeing commercial or proprietary software projects being opened up and made available as open source software. Microsoft’s Azure RTOS, for example, has been transformed into an open source project under the leadership of the Eclipse Foundation. This allows the software to be continued under a different legal and organizational umbrella. This means that hosting, administration and exchange platforms, for example, can be coordinated centrally and resources can be used more efficiently.
Community building as a key factor
This administrative effort behind a software project can take up a lot of time, which is why the trend of opening up software can be particularly groundbreaking for smaller projects. But even software projects that are already openly available can benefit from outsourcing the administration to a higher-level organization.
Our approach as a non-profit organization is to take over projects at external request and continue them as open source with a local coder community. Anyone involved in the development of software often invests a lot of time, money and brainpower. Enthusiasm for the project idea, the practice-oriented learning effect and cooperation are strong motivators, but not a reliable long-term strategy. That’s why we reflect on and analyze the framework conditions before migrating a software project and consider together where it should go and check whether a software fits our statutory purpose or whether the developers want to strive for a transformation in this direction.
In this context, opening up software projects means a culture of sharing and collaboration. Developers can learn from each other, share best practices and work together on new ideas. This leads to a more networked and cooperative coder community that is constantly working on a project over the long term.
Potential of open software
In general, opening up software or migrating open software to a higher-level organization opens up various opportunities: The transparency of the source code, for example, enables users to understand how the software works, check security aspects and ensure that their requirements are met.
Collaboration in an open developer community also promotes the resolution of problems (issues) and the rapid identification of errors (bugs). By involving a broad group of developers with different expertise, bugs can be identified and fixed more quickly, which improves the stability and quality of the software.
Open availability makes it easier to reuse and adapt software projects, which leads to a more efficient use of resources. This helps to extend the lifespan of software projects and reduce the ecological footprint.
The transformation to open source also offers opportunities for sustainable financing. Through crowdfunding, donations and other models, the community can support development financially. This creates independence from traditional business models and makes it possible for software projects to flourish even if they are not exclusively dependent on commercial sales.
Challenges of open software
In addition to the many positive aspects, the transformation or migration of a software project is particularly challenging, as existing structures may have to be changed instead of considering what needs to be taken into account right at the start of the project.
Open software licenses represent the greatest uncertainty here. In some cases, it is no longer possible to track exactly which developers have contributed what – or more precisely: on platforms such as GitHub or Codeberg, it is possible to track who contributed what and when, but for many code snippets, tried and tested recurring commands are used. This means that a certain composition of code snippets is unique, but the individual components are not necessarily, and it is difficult to differentiate copyrights precisely.
Copyleft licenses, such as the GNU General Public License (GPL), for example, require that derivative works be published under the same license. In addition, incompatibility between different free software licenses can make it difficult to integrate and share code. In particular, collaboration between developers with different license preferences can be impaired.
Another aspect concerns possible conflicts in connection with patents. Some free software licenses include patent clauses, while others explicitly exclude them. Managing license compliance therefore requires careful management to ensure that all parties involved respect and comply with the license terms.
Software migration as a transformation process
One of the ways in which we achieve this is through a semi-structured transformation process, which is structured by successive steps but is flexible enough to respond to the individual framework conditions of a software project. A key component of this is the transition workshop, in which worst and best-case scenarios are worked out.
The collaborative development of role descriptions allows the original developers to decide for themselves to what extent they want to be involved after the handover. Since we are a non-profit association, membership is an obvious choice. In addition, the developers can also be consulted on a regular basis or selectively. These roles are flexible and depend on the availability, values and needs of everyone involved.
Once the areas of activity, responsibilities and expectations have been defined, a formal handover follows. A framework agreement is signed and passwords and domains are transferred to our data protection-compliant servers in Germany. If available, there will be an onboarding for the community, during which roles will be clarified and those involved will be connected.
The relaunch includes a revision of the source code with regard to digital sufficiency optimization and the publication of the software as open source on Codeberg. Depending on the project and objectives, we consider suitable licenses such as the GPL, MIT or Apache License.
At the same time, fundraising is carried out to support further development. The entire process is documented, evaluated and optimized in order to establish the most pleasant and efficient process possible for future software projects.
The transformation of commercial software projects into open source therefore not only offers technical opportunities, but also creates a constructive, participatory and sustainable development environment that is supported by a broad spectrum of developers and users.
What do you think of this approach? What potential and challenges do you still see? Do you know a software project that needs a home? Feel free to leave a comment or write to us – your feedback is invaluable to us.