We are living in an era where there is no end to invention and innovation. The world seems to surprise us with unbelievable growth and transformation in all sectors of society. But the biggest challenge we are facing today is, ‘sustainability.’ Meeting our own needs without compromising the ability of future generations to meet their own needs is imperative. Today’s growing society is less concerned about it. This indeed brings a threat to the welfare of mankind.
As sustainability problems can be seen bothering every sector, so is open source. What do you think, is open source sustainable? Today in this article, you will discover what motivates one to contribute to open-source projects. If there are any challenges while contributing, what are they? Most importantly, we will unfold all the solutions of open-source sustainability making it a secure community for all.
What’s in open source for any individual or a company
The open-source movement is growing rapidly around the world by providing a great platform for people willing to utilize their talents and do wonders in their aspiring careers or businesses. With increasing users, we now see a growth in the contributors as well in the community. Some of the reasons why an individual should contribute to open source projects are discussed further. To start with, one gets valuable work experience which helps in shaping one’s career path by being a part of this community. Open-source projects allow one to enhance his/her coding skills and become a successful coder. Great job opportunities come along and one gets the chance to build a flourishing career. This platform gives an exposure to work with people who are superbly talented to guide a beginner participant regarding any open source projects or technologies. Open source projects are very inclusive. Therefore, people from different work backgrounds are welcomed in this community. Lastly, an OSS participant gets global recognition as his/her work is easily accessible and used by people around the globe.
Why should businesses take interest in contributing to open-source projects? With open source projects, you can make your company staff learn new concepts, ideas, or unique techniques to meet work needs or expectations. Using open-source software in place of expensive proprietary alternatives can be a good option in saving a lot of money which can further be used in meeting a company's other important requirements. The companies can contribute to open source projects according to their preferences. For example, Pfizer, the huge pharmaceutical company, has contributed to Drupal’s 8 content workflow system to shape one of the world’s most powerful content management systems.
This platform allows you to find new clients and potential employees who can contribute to the growth and development of your company’s goals and aspirations. While using open-source software, you can analyze the code of the product you’re using and also change it according to your choice. Such modification is possible due to the availability of open source licenses. In open source after a software gets released, if a user wants certain types of changes, he doesn’t have to wait for someone. But rather he/she can make the changes in the form of updating and expanding with numerous plugins and modules also sharing them with the community. Therefore, this gives you a sense of ownership and self-satisfaction. So, these were some of the reasons listed to show the need for companies to run on open source. More on the impact of large companies on open source here.
Now, once an organization decides to run on open source, then one question which comes to my mind is, “How do you manage open source projects”? It isn’t an easy task because you will have to look into various aspects to successfully be a part of this free and open movement. Only by choosing the right open source project, one’s job doesn’t get finished unless there is approval coming from the product owners, legal departments, or executives to smoothly use the open-source projects. Sometimes organizations worry about the risks associated with open-source projects. Therefore, the following tips can reduce the concerns of the organizations making them more confident about choosing an open-source community.
Implementing component lifecycle management. You should develop a process to determine which components are acceptable for people in your organization to use. The level of risk can be reduced by testing components or doing static and dynamic analysis which further builds up more confidence with executives.
Finding the right convincer. If you find a person at your organization who can take the authority of convincing the project owners or legal departments to understand your company’s concern and work in your favor, then it will certainly help in the smooth functioning of your company’s work within the community.
Get help from the open-source project. You will find that many open source communities include people who can help you in building a well-structured business case for your approvers. This indeed will be a great help for your organization to initiate a task or a project in the open-source community with clarity and confidence.
Increasing awareness about the challenges of open source
While contributing to open-source projects, one comes across few challenges which create hurdles in the process of participating in the community. Therefore, these challenges need to be overcome so that the growth and future of the open-source community are not hampered. Let’s find out what makes a good open-source project?
Need for proper financial resources to support open source projects. The participants of OSS need adequate financial assistance for the smooth functioning of the community. This will further help in sustaining the contributors in open source projects for a longer time.
Communication needs to be made stronger among OSS members. Good communication must be built up among the participants of OSS projects as this will help in proper coordination and understanding of the projects in a much better way.
One has to be smart enough to consult the right mentor for better performance. To gain knowledge about the OSS projects, it is essential to take guidance from an experienced person who has a high proficiency in terms of OSS projects and software.
Improvement is needed in the field of OSS governance. Good governance is followed by a code of conduct describing the guidelines and principles for the contributors to get full transparency and clarity about the OSS projects. The OSS projects should have a roadmap document describing the future goals, ideas, and plans to inspire participants of the community to reach the desired work aspirations.
The ratio between takers and makers has to be well balanced. The number of users and contributors has to be proportionate so that along with the usage of software, contributions can also be made to help the OSS community grow and flourish for a longer time.
Here, I would like to take you through a discussion held between Aaron Stannard, CTO, and founder of Petabridge, and Rachel Appel, NET Developer Advocate at JetBrains regarding open-source sustainability challenges. It is generally observed that open source is adopted by the majority of the organizations but still it is seen struggling as a result of misalignment between the user’s value and contributor’s value. Therefore, there is a need for a better business model to help open source sustain for a longer time. Take a look.
Ensuring sustainability and maintenance of open-source projects
Focusing on improvement: How do you maintain open-source software
By far we all have understood that the contribution made to improve sustainability in open-source isn’t enough. So, let’s look into the possibilities which can help to enhance sustainability in open-source in a much better way.
How do you organize an open-source project? Let’s start with the most fundamental significance of open-source sustainability i.e. the governance. Good governance consists of a code of conduct that is created to state the project details enabling the contributors to have a clear understanding of OSS projects. Next, it is very essential to maintain a high-quality document as it receives the most amount of traffic. Documents like Contributor’s Guide can be of great help for the contributors. Depending on the quality of the project’s documentation, a contributor decides whether to continue learning about your project or not.
There is a need to maintain high-quality code throughout the project. A documented code review process should be followed for every type of contribution including both human approval procedure and automated checks to maintain high-quality code standards. It is a good idea to set up a legal organization to safeguard the liabilities of individuals involved in the project. To give clarity to the community members, there should be an open ledger for every project’s income and expenditure showing how funds are spent on projects. Lastly, there is a need to improve the licensing of OSS projects as fair licensing of all contributions safeguards the security of the community.
Therefore, with the above discussion you get clarity about how to create a successful open source project.
Now let’s have a look at the basic sustainability principles of open-source which are of great importance. By following these set principles, the longevity of the open-source community can be guaranteed. Here it goes:
In the community, the membership rules must be published and adhered to.
All types of contributors shall have the availability of membership within the community.
Membership must-have requirements for validation of identity, and review of contribution to the community (to avoid stacking the membership roles). Any impediment to membership must be low enough that a person with the least advantage could achieve it.
To give each member an equal vote, the voting process must be put in the proper place.
All positions of authority in the project must be, directly or indirectly, the result of a vote.
A strong code of conduct with clear, fair enforcement mechanisms is needed.
Under the terms of the open-source license, any patents included in the software must be granted.
Every contributor must retain his/her copyright unless the software is being managed by a foundation for license enforcement.
All contributors intending to have their work incorporated into a distribution must contribute their work under the same terms as the software license they received it under.
Any commercial activity around the software must further the sustainability of the community, and the potential for commercial benefit must be available to all.
The incentives in any commercial model must bend away from the creation of proprietary downstream software.
Contributing to open source: Essential strategies
To make meaningful contributions in open source projects, various strategies are developed which act as a support in sustaining participants in open source. The steps taken to bring a positive change within the community are discussed below.
Hiring sufficient maintainers for OSS projects. The companies can balance the workload by hiring suitable maintainers to handle the numerous OSS projects. They should have the flexibility of working with the contributors and handle projects according to their own convenience.
Developing an open-source award program. It is always a good idea to acknowledge the contributors with awards and recognitions. It also has a very special recognition for its contributors. When any contribution is made, it is marked with a green square on a huge calendar. With more contributions, the square becomes even brighter. If you contribute for several consecutive days, then GitHub counts it as a streak and records your score for future reference. This can be a way to motivate people for more active contributions. Below is the diagram:
The Drupal Association too hasn’t stepped back and introduced the contribution recognition committee a unique way to recognize the contributions of both individual contributors and their organizational sponsors, followed by measuring the contribution ecosystem which supports Drupal. This will encourage the employees to work even harder to generate unique innovation and ideas for the community.
Starting an open-source program office. Companies like Google, Facebook, Amazon, etc have set up formal open-source programs within their companies to look after the open-source strategy to use and contribute better in OSS projects.
Contributing to the non-coding tasks. The non-coders of a company can educate people about the benefits of contributing to OSS projects by writing blog posts. If someone is interested in designing, then he/she can help the developers with some design ideas regarding any icons or logos which could make their app look visually appealing and also help in justifying the concept or purpose of the app.
Open source has a funding problem: Resolving economic woes
Companies can start an open-source fund to support OSS projects financially. For example, CarGurus launched an open-source fund to support OSS projects. Contributing a portion of a company’s equity to open-source can be very beneficial. Here is an example, Citus data donated one percent of its equity to the PostgreSQL community. There are some initiatives taken by an American foundation i.e. the Gordon and Betty Moore Foundation, a nonprofit organization, the Alfred P. Sloan Foundation, and the Chan Zuckerberg Initiative (CZI) in providing financial support to open source software as well. Along with funding, there is also a need for full transparency regarding the finances, allowing everyone to see the money received and spent on any project. Therefore, Open Collective is the best example of providing such assistance to open source contributors helping them to get a clear vision about their finances and plan a better and healthier community for all.
GitHub announced an initiative called GitHub Sponsors where the users of OSS projects can pay the contributors for their work within GitHub. Such commercial sponsorship is very important to acknowledge the contributors for their work towards OSS projects. This not only helps open-source projects to sustain their contributors but also improves their diversity within the community. More on the diversity, inclusion and equity in open source here.
How do you create an open source sustainability? I hope now you can answer this question in a very confident way since in this article we tried covering every aspect of open source sustainability. Well sustainability is not a one-off investment. It needs constant nurturing and support from its contributors. Therefore, every member of the community shall take ownership of delivering consistent efforts towards the longevity of open source projects. With open-source, together we learn and innovate.
Over the last two decades, there has been a rapid growth of open-source technology around the world. Therefore, it leads to an increase in demand for better OSS projects, products, and services which isn’t possible without the support of its dedicated contributors. So, amid all the challenges that come across while contributing to OSS projects, the contributors shouldn’t step back from contributing and making the open-source community sustainable for us and our future generations. Now, I would like to end this article by pointing out a very important fact that the rights of the contributors are always to be safeguarded and taken care of in the most effective way.