|1. Setting the foundation for sustainable open source engagements||3. Building your own public sector OSS community|
After assessing your needs and IT capabilities and evaluating the open source solution market, there are a few elements that you will need to consider if you decide to join an existing open source community. The list below will help to guide you and ensure that, having selected the community you want to engage with, you establish sustainable long-term collaboration.
2.1 Understand the community behind the software
Before joining an existing open source community and reusing its software, there are several questions that you should ask yourself in order to fully understand its nature and how you can best contribute.
What is the setup of the community we are joining?
To find a community that will match your organisation, you need to consider its setup and governance. Identifying the governance model, the community’s communication channels, its manager, and consulting the code of conduct are good elements to start with, as outlined in Figure 4 below.
A clear understanding of the community’s governance model of the community is key to your future contribution. Put simply, the governance of the community should be compatible with the processes in your public administration or at least compatible enough that your public administration can adapt to the processes within the community and ensure its smooth cooperation.
Although each open source community is slightly different, the main types of governance models are as follows :
- Founder-led: a type of OSS community where a single person, normally the founder of the community, is in charge of making all the key decisions with regard to the evolution of the project. Such a governance type can often be found in smaller organisations and young OSS communities with only a few contributors. As the project evolves, the single decision-maker can also be replaced by a steering committee.
- Merit-based: a community where responsibilities are assigned based on merit, i.e. developers’ commitment and contributions to the project. In such communities, decisions can also be driven by voting to ensure member-driven project evolution.
- Member-driven: a community without a strict or formal governance model, where contributions are made by individual members and the evolution of the project is driven by consensus-building among community members with varying degrees of influence. Usually, the governance of such projects is implicit, and it might be difficult for new joiners to grasp.
Each governance type comes with its own benefits and drawbacks, and it is not unusual for a community to adapt its governance structure oas it evolves.
You will need to identify a future point of contact in the community, and assign a point of contact within your own organisation. This will ease your onboarding in the community and allow you to get more information on the project. Similarly, understanding the community’s communication channels will help your team to stay on top of any community updates and easily collaborate with key members.
You should also check the community’s code of conduct to see if it is aligned with your own needs and public administration’s values.
How mature is the community we are joining?
The maturity of the community will affect how you collaborate with it. The following criteria that may help you gauge the maturity of a particular community:
- size of its developer community
- size of its user base
- number of recent commits to the code
- sustainability and diversity of its funding model
- frequency of update releases
- date of last update.
If the community that you wish to join was only created recently, you will be in a better position to help shape the functioning of the community and to establish yourself as a key player regarding decisions about the core features of the solution. Smaller and newer communities also allow you more flexibility when collaborating with other community members as rules and practices are typically quite new. However, ‘young’ communities might require the mobilisation of more financial and human resources in order to kick-start their growth.
If the community you join is large and mature, you will benefit from extensive existing content. Most probably, the OSS will already be at a mature stage of code development and some contributors may have developed substantial forks and plug-ins that are worth consulting. It might also offer capabilities to host the software you need on their own platform. However, individuals involved in the community will have reduced influence over the direction of the community and the OSS product itself.
To conclude, the choice of open source community depends on your financial and technical resources, as well as the type of software you are looking for. In both cases, you should pay attention to the interoperability of this solution with the software already in use in your organisation.
How can we make the most of the OSS community behind the software?
If you have decided to use an open source solution, it is best to fully exploit its potential. Unlike proprietary solutions, open source solutions benefit from a community of developers around them who fix bugs, develop new features and plugins, and contribute to the code. Below are some tips on how to make the most of the open source community behind your software.
- Interact with the community if you have questions about the installation or use of the software.
- Contribute to the community by developing code, contributing to or creating documentation, and resolving issues.
- Have a look at other public organisations using the same software. Their variation of the software can provide inspiration for your own version.
- Make sure that citizens are aware that the software your organisation is using is open source. Not only is it a guarantee of transparency, it also gives visibility to the community and to the OSS solution. This way, your organisation is contributing to the sustainability of the open source community.
In order to make the most of the open source solution, it is important to not only receive from the community, but also to contribute to the sustainability of the solution. Should your organisation develop plugins, write documentation or create additional features around the software, these elements should be published under an open source licence, preferably the same as the solution itself, and shared with the upstream community.
2.2 Facilitate sustainable collaboration
There are several steps that you can take to ensure that your public administration will reap the full benefits of collaborating with an OSS community.
How can we adapt our procurement rules and processes to work with OSS communities?
Appropriate procurement procedures and rules are a prerequisite to healthy collaboration with OSS communities. Public procurement templates should have clear and permissive clauses on purchasing open source solutions. The templates should also allow civil servants not to only purchase OSS solutions but also engage with the community surrounding the software
Public administrations are encouraged to maintain lists of compatible OSS licenses, and those should also be specified in public procurement templates when purchasing software. Check whether your country has guidelines on public procurement and open source solutions.
The Linux foundation has published a guide on open source software for procurement professionals, which addresses the key questions on this topic.
How to best implement open source software?
Once your organisation has chosen the open source solution, you need to decide whether you will be running the software in your own premises, relying on the upstream community to host it for you, or modifying the source code altogether and tailoring it to your own needs.
Relying on an existing software version is a good way to start your open source project while minimising financial and technical outputs for your public administration. Hence, you might want to choose this option if you have limited IT resources and the existing solution is strongly aligned to your needs.
Creating add-ons and plug-ins is useful when you want to add tailored features to the existing software. However, you should follow the open source industry best practices and share your changes with the upstream community. If the changes are important and relevant to the broader community, they can potentially be included in the upcoming software release.
Contributing upstream is an crucial aspect of giving back to the community as code-sharing is one of the key values of OSS.
The Linux Guide on Participation to Open Source Communities lists several best practices when it comes to contributing to the upstream community.
What are the strengths that we can offer to the community?
When choosing to join a community, you should assess what kind of contribution you are willing to make. The potential resources you can mobilise include:
- financial resources;
- human resources, both in terms of technical human resources such as developers, and supporting human resources such as project managers, community managers and communication specialists;
- technical knowledge and resources, assuming that your organisation has the capacity to create content for the open source solution that could be shared with the community;
- leverage of your public administration’s involvement with the community so as to attract other public administrations, thus helping the community to grow.
Contributing to the open source project helps your public administration to gain substantial respect within the open source community, which in turn can expedite your transition from a minor community player to a core decision-maker. Decision-making control is beneficial because it will allow your public administration to direct the trajectory of the open source project in line with your own needs.
2.3 Contribute to the solution in the long run
Joining an OSS community is not a one-off engagement. For a more complete view of your potential contribution, assess your capabilities and resources in the short-, medium-, and long-term. An honest and representative assessment will prevent you from over-committing beyond your capabilities.
Your public administration will have to find ways to contribute, collaborate and give back to the community in the long run. Collaboration is one of the key principles behind the success of OSS.
How can we promote the solution in other public administrations to help grow the community?
Growth is crucial to any community’s sustainability. Therefore, as a public sector community representative, you can help to expand the community’s user base. If you happen to know a public administration like yours that could be interested in the open source solution, share your documentation. You can also plan to pool your resources with several other public bodies to promote a solution. This strategy is particularly useful for small public entities which, taken alone, often do not have the financial or technical resources for a long-term involvement in an open source community. This will allow you to build expertise across public administrations that can then train, implement and offer policy suggestions to other public bodies.
How can we contribute to the visibility of the community?
Contributing to the visibility of the OSS community is essential to its sustainability. Without visibility, the open source community is unlikely to attract new members, thus putting the long-term maintenance of the solution at risk. Public organisations using open source solutions should therefore market the community and the software behind it, allowing viewers to access the software’s repository.
Your organisation can also communicate actively about the community. We encourage the development of a dedicated online space for the solution that your organisation plans to use. It is worth outlining the software’s open source characteristics and providing a brief explanation text about the solution and the community behind it if the website is addressed to the wider public.