During the recent Pycon 2023 conference in Florence, I was particularly struck by Carlton Gibson’s keynote titled “Open Source for the long-haul,” as it was quite unique and different from the usual talk focused on “how wonderful and useful it is to contribute to the open-source movement.”
In the keynote, Carlton highlights that, despite the countless positive aspects, there are challenges and obstacles to be faced within the movement to ensure the long-term sustainability of a project… especially when you take on the role of a contributor.
If, like Carlton Gibson, we compare open source to roses and flowers, here are the main thorns:
Inclusion in the open-source movement
The open source movement, like many sectors of computer science and software development, must face the issue of poor diversity in terms of gender, race, and language. The problem stems from its very premises: the movement was started by men. White men. English-speaking white men.
Socio-economic barriers limit access to education and infrastructure for contributing to open-source projects. The consequence for people belonging to underrepresented groups is the lack of opportunities to reach leadership positions.
It is essential to adopt measures that promote inclusion and diversity within the movement. To achieve this, it is necessary to promote equal access to resources and educational opportunities, create collaborative spaces that encourage the participation of people from diverse backgrounds, establish multilingual communication channels, and promote a culture of acceptance and respect for everyone.
Fortunately, the movement is a shining example of initiatives aimed at promoting diversity. There are organizations, working groups, and conferences that specifically focus on creating an inclusive and diversified environment. Open source supporters are actively promoting diversity and inclusion as fundamental values for the long-term success of open source itself.
Suggested article: How to Find Cool Open Source Projects
Contributing to open source is undoubtedly a rewarding and stimulating experience, but the risk of burnout is just around the corner. Contributors dedicate day and night to projects, sacrificing their free time. This commitment can become excessive and ultimately unsustainable. The enthusiasm derived from feeling part of a project that is particularly close to one’s heart subjects the person to intense work rhythms, leading to extreme fatigue, exhaustion, frustration, and burnout.
High expectations from developers, such as numerous help requests and the addition of new features, cause significant stress. Conflicts within open-source communities, criticism, and tensions also have a strong negative impact on contributors’ emotional well-being.
Physically, prolonged commitment can lead to a sedentary lifestyle. Developers spend many hours in front of a computer, working in uncomfortable positions and neglecting physical exercise. This lifestyle causes postural problems, muscle and joint pain, and an increased risk of diseases related to sedentary lifestyles, such as diabetes or heart disease.
To mitigate these risks, it is essential to take care of one’s mental and physical health. Here are some useful strategies:
- Say no to new features.
- Set boundaries: establish reasonable working hours and respect free time. Avoid overworking or responding to requests incessantly.
- Seek support: communicate with other open-source contributors, and share difficulties and experiences.
- Take breaks: schedule regular breaks during work sessions to relax and recharge. Engaging in physical activity, meditation, or hobbies can help reduce stress and maintain mental balance.
- Communicate openly: if experiencing stress, it is essential to communicate it to other community members or consult mental health specialists. Do not hesitate to ask for support when needed.
- Maintain a healthy lifestyle: taking care of one’s body is essential. Maintain a balanced diet, exercise regularly, and try to adopt a good posture while working on a computer. Have a life outside of the computer screen – there’s beauty out there!
- Expectations: Open source contributors often begin their experience with misconceptions about the nature and challenges they will face. Understanding reality is essential to avoid frustration and get the most value from this experience.
One common mistake concerns the time and commitment required for significant contributions. Some contributors expect their involvement to be easy and require only a few occasional hours of work. The reality is that contributing to open source requires a substantial commitment. It is necessary to dedicate time to understand the project, collaborate with the community, solve problems, and continually improve the software.
Another false expectation is immediate gratification. People may think that their work will be welcomed enthusiastically and recognition will be instantaneous. The truth is that open-source projects are often large and complex, with many contribution requests. The review and acceptance process can take time and patience. It is essential to be aware that recognition and appreciation may not come immediately or perhaps never!
Another misconception is the level of autonomy and independence that the contributor will have in the decision-making process. Open source is based on a community structure, where decisions are made collaboratively and based on consensus. This means that contributors must learn to work with others, discuss and negotiate to advance their ideas. They don’t always have complete control over project decisions.
It’s important to consider that contributing to the movement requires continuous learning and adaptation. Technology evolves rapidly, and open-source projects evolve accordingly. Contributors must be ready to learn new technologies, follow standards and best practices, and stay up-to-date on the latest industry news. A willingness to engage in continuous learning is crucial for success in contributing to open source.
Suggested article: The History of Open Source
One of the most debated aspects of the open source movement is related to the fact that large corporations often benefit from the code for free. While open source offers numerous advantages such as knowledge sharing and collaboration, there is a question of fairness when it comes to companies using the software for commercial purposes without financially contributing to its sustainability.
Many large companies extensively exploit open-source software to develop products, improve efficiency, and reduce costs without significantly reinvesting in the community from which they benefit. This leads to financial imbalance and dependence on other funding sources by open source communities, such as donations, sponsorships, or non-profit foundations.
This situation raises some concerns:
• The fact that large corporations do not financially contribute to open source puts the sustainability of projects at risk. Without adequate financial support, communities may struggle to cover infrastructure, maintenance, and ongoing software development costs. This could lead to a decrease in quality, project stagnation, or even closure.
• The absence of financial contributions can hinder the participation of independent developers and small businesses. While large companies can afford to invest in human resources and infrastructure to take advantage of open source without having to pay, smaller entities may find themselves at a disadvantage.
It is worth noting that some companies recognize the value of open source and choose to contribute significantly by sponsoring projects, hiring developers who actively work in communities, and providing financial resources to support their sustainability. This demonstrates that large corporations can play a positive role in the ecosystem if they choose to invest appropriately.
Carlton concludes the keynote by reminding us that:
- Despite all the problems, open source rocks! (We have talked about thorns so far, but the beauty of this rose makes all the suffering fade into the background)
- To do open source well, it is essential to take care of oneself, one’s code, and one’s community.