Open Source in international Development Cooperation
The Open Source Guideline
This guideline is designed to help project managers to:
- Take a well-informed decision for or against the use, introduction or development of open source tools
- Avoid late failure and unexpected cost through good planning
It is written from the perspective of practitioners working in publicly funded development cooperation projects and organizations. We wish for more successful open source endeavors, and less that lead to frustration, budget explosion and lack of sustainability.
The goal of this guideline is therefore to equip those that are responsible for the procurement and implementation of digital solutions in different sectors in development cooperation, but are themselves not IT specialists, with an overview of aspects to consider and ask for at project planning and implementation stages.
Essential terminology
Open Source Definition
Open source software is software with source code that anyone can inspect, modify, and enhance. [opensource.com]
If project teams want to be co-responsible for innovation, security, transparency, flexibility and a sustainable project future, open source is the choice. And, even small inventive digital solutions, designed only for specific tasks can be implemented efficiently with open source. The lifespan of a project supported by open source software depends on its management, impact and funding, not on the level of availability, flexibility and support of licensed software.
- Open source licenses
- An open source license is a legal agreement or copyright license allowing developers to use, modify, and distribute a software's source code freely. It sets the terms and conditions for using, sharing, and modifying software. There are different types of open source licenses. Generally, "Open source licenses are licenses that [...] allow software to be freely used, modified, and shared." Open Source Initative, 2023 (Licenses – Open Source Initiative). A useful tool to choose a license that fulfills the needs of a project is Choose a license
- Open source tools
- An open-source tool is a software application or program that serves a specific purpose and whose source code is made available to the public under an open-source license.
- Open source libraries
- An open-source library is a collection of pre-written, reusable code modules or functions that developers can incorporate into their software projects.
Three cases of "using" Open Source
Info
In line with the definitions below, we focus here on projects that want to use or adapt open source software. For a discussion on case 3, open source development, see the exchange here.
There are dozens of widely recognised free and open source types of licenses, which can accommodate the specific needs of each open source project. Many of these free open source licenses (e.g. Licenses – Open Source Initiative) have now become standards supported by millions of experts worldwide. It follows that open source solutions can theoretically be implemented anywhere in terms of innovation, knowledge transfer and transferable ownership. We distinguish between three cases of "using" Open Source:
1. Introducing existing open source software
In practical terms, this distinction means that for case 1. the main reasons that differentiate open source from closed source software are either normative (e.g. political) or on vendor lock-in and adaptability (case 2). Other factors like cost and fit for the purpose should not differentiate specifically between open source and other software, although e.g. cost structures may differ between different types of software.
2. Adapting existing open source software,
A typical example for case 2. is one, where an open source solution to the problem generally exists, but needs to be adapted slightly to fit the exact case.
3. Building completely new open source software.
Case 3. should only be relevant if a project or problem is "generic" enough that it can be interesting and relevant for others. Only then, it makes sense to develop a new open source solution, considering the effort and dedication it takes to build and maintain a community of users and developers.