A passion for open-source fuels developer creativity, learning, and community, but it’s not an easy culture to blend in.
The benefits of the open-source approach to creating software and writing code are undeniable. The Linux operating system and MySQL are two examples of software developed using an open-sharing and collaborative development model.
Any doubts about the effectiveness of the open source concept have been answered by four decades of excellent code fostered by the philosophy of openness.
Open source, for all its virtues, is not without flaws.
Developers should consider some of the drawbacks of open source now that it has become widely used, not so much the philosophy but the practical application.
Here are a few reasons developers might hesitate before contributing to an open-source project.
Open source has a diversity problem
Although the word “community” is frequently used concerning open source, this does not imply that this culture is easy to blend in. Structural inequality may be less noticeable when people contribute relatively anonymously to open-source projects, corresponding only via email or bulletin boards. However, occasionally, feelings of disconnection are sparked by obscurity, making collaboration less enjoyable and inclusive than it could be.
Also read: Why Developers Should Care About User Interface (UI) and User Experience (UX)
It takes time to establish and maintain a community
The “community edition” of many enterprise products is open-source. It’s an excellent tool for marketing, gathering suggestions, and occasionally working on the kernel to enhance development. But creating a true community around that project takes time and money.
An online community bulletin board user or potential contributor expects a response to a question they post there. When it works well, the outcome can be a growing, collaborative team producing excellent code, but there is frequently much work in the interim.
The trade-off has the effect of making more significant enterprise projects predominant in the market. They can afford to fill paid roles that smaller businesses can’t handle to finance the community model.
The lack of mentorship in open source
While many developers are happy to share their code with anyone, this does not necessarily mean they want to aid others in learning. Giving someone access to a Git repository only takes a few seconds, but helping them develop as a developer and contributing team member takes a lot of work.
Some projects go so far as to state in their contributor agreements that contributors should not count on receiving any onboarding assistance, ongoing support, or even answers to their questions.
Older Open source versions are incompatible with the cloud
Before the advent of the cloud, when users downloaded software to run on their desktop computers, many open-source licenses were created that are used today. Since then, cloud computing companies have discovered ways to profit from the open source movement without disclosing the source code of their modifications.
By drafting stricter licenses or amendments like the Commons Clause, some open source proponents are fighting back against cloud co-option. Future developments could bring about improvements, but they won’t help with the legacy systems still being distributed with the original open-source licenses.
Code that is used by a diverse group of developers who can collaborate on its development is better off in open-source form. However, there are some situations where organizing the work of creating software is made easier and ultimately more sustainable through the exchange of money.
Also read: Chromium to support third-party Rust libraries
Overlap in Commercial Interests
Microsoft and its changing relationship with the open-source paradigm serve as a great case study for how game-changing technologies can completely transform an industry and how large corporations struggle to keep up with them. Microsoft began contributing to the Linux kernel in 2009 and made the.NET Micro Framework source code available to the developer community under the Apache 2.0 License.
Microsoft started supporting the Southern California Linux Expo later in 2018. This action elevated Microsoft to the forefront of the open-source adoption field. Additionally, it strengthened the significance and disruptiveness of the open-source paradigm.
Microsoft had to give up its proprietary software and associated formats sooner or later, but only as damage control. Microsoft, a company that once opposed the idea of open source, eventually turned out to be a steadfast supporter.
Large corporations frequently resist paradigm-shifting technologies or an inability to adapt, which creates a barrier for developers—the physical constraints of the real world conflict with the open-source philosophy of free sharing in numerous ways.
Open source fits awkwardly with larger codebases that full-time programmers support, but it works well for small stacks and passion projects where no one expects to be paid.