Digital Consumer
Digital
Innovation
July 25, 2024
The advantages of using open source code
Cost is lower, and the community can contribute with updates and improvements
For any software to be executed on a computer or mobile phone, it is first necessary for someone to write its source code, which will then be translated into machine code to finally be executed on the device. Generally, we only have access to this machine code, which is practically impossible to understand. However, some software goes further and also makes available the source code, readable for those who understand the programming language used to write it.
Most people depend daily on some tool whose source code is available to the public. Even those that do not have accessible source code also benefit in some way from projects that make theirs available.

The sharing of source code has always been a common practice in the scientific community and among computer enthusiasts, whether for dissemination of knowledge, for error correction, or as the main form of software distribution.
The idea of publishing the source code with a license that allows its modification and redistribution was formalized with the creation of the Free Software Foundation, led by Richard Stallman, in 1985.
In 1986, Stallman presented the first definition of free software, which establishes that, to be considered as such, software must guarantee the freedoms to run, study, modify and distribute the code. According to him, “the freedoms of free software are among the human rights that society must establish and protect” and are essential for the maintenance of other human rights. In 1998, however, a new concept was coined, from the strategic and practical point of view of development: “open source” (“open source”).

Unlike the definition of free software, whose origin was political and philosophical, the notion of open source aimed to define a development strategy that would bring benefits to those who adopt it, as external contributions help with the reduction of expenses and the greater speed of development.
The concept was idealized by the recently formed Open Source Initiative (Iniciativa do Código Aberto). For a license to be considered open source, it must respect ten criteria that guarantee, in summary, that the code can be freely redistributed, including new additions and changes, without restriction or discrimination between users, groups, or fields of application.
Even with different philosophies, the two concepts resulted in a similar practice, focused on contribution and open development, terms that, nowadays, are used interchangeably. A new definition, in fact, has been gaining popularity: Free Open Source Software, incorporating both concepts, that of open source and that of free software. From now on, the term “open source” will be used to refer to both projects considered free software and open source based on the definition of the Open Source Initiative.
Copyright
It is important to note that open source does not fit within the concept of public domain, as it is protected by copyright, even though its terms allow redistribution and modification in a way similar to the public domain. Furthermore, in most open-source licenses, reference to the authors and the inclusion of the license in all distributed copies are still required.
Open source also does not mean that any contribution will be accepted, regardless of quality and objectives. Open source projects are led by maintainers, who are the developers responsible for analyzing and discussing contributions from the community, and who are generally also the main contributors to the initiatives. In this way, new features always seek improvements to the software with its users in mind and can be suggested and implemented by the community itself.
Split
On the other hand, the community does not always agree with the project’s development. Due to the freedoms of open source, anyone can create a “fork” (bifurcation), a version of the code with their own modifications. However, while open-source licensed code allows the publication of these versions, logos and names may be under different licenses, which generally results in names and logos distinct from those presented in the original projects.
Often these forks are created by community members who wish to continue the project’s development, but in different directions, and it is not uncommon for these modifications to end up in the original code after a while, just as it is also not uncommon for a fork to end up more popular than the original project it is based on.
Recently, the company responsible for the development of the Redis database software started releasing new versions of the project with a more restrictive license, which is not considered open source. In response, the community created a fork that will continue development from the last available open-source licensed version. Companies like Amazon and Google are already financially supporting the new fork.
There are open source softwares for various purposes, and many projects are alternatives to paid versions, such as Libre Office (alternative to Microsoft Office), GIMP (Image editor, alternative to Adobe Photoshop), and Zotero (Reference manager, alternative to Mendeley). Other projects are references in their areas, such as Open Broadcaster Software (OBS), for live streaming, VLC, for playing media, and projects like Blender, a 3D modeling and animation software that has been used in multiple award-winning animated shorts, such as “Agent 327” and “Spring”.
This list does not include only projects with few developers or small companies. The Edge, Chrome, and Opera browsers depend on Chromium, an open-source project developed and maintained by Google. Android phones use a modified version of Linux, an open-source operating system. Companies like Netflix and Meta also have multiple open-source projects available.
Advantages
The cost is just one of the advantages of using open-source projects. Because their development is closely tied to how the community uses them, these tools are developed to work well with other software, without their use being limited to software from the same company. It is also possible to find official versions or versions adapted by the community for each operating system. Another benefit is that often the documentation and manuals are also available under an open-source license, which means the community can contribute with updates, improvements in writing, and usage examples.
Because the code is available to everyone, vulnerability problems are less frequent, as those who depend on the tool can review and validate the code and, if any flaw is found, indicate it to the developers or even implement their own solution.
Some companies provide paid specialized support for the software they develop and distribute through open source. Others offer hosting for open-source projects, such as, for example, WordPress (WP), which supports websites that use its site and blog management tool. However, as WP’s code is open, it is possible to host a website elsewhere using the same tool.
In the case of Chromium and Linux, multiple companies that depend on these projects also provide resources to them, either through developer time or with financial donations to the foundations responsible for managing these projects.
Care
However, just as with closed-source software, it is always necessary to take some precautions before committing and depending entirely on an open-source project. It is important to consider whether the project is still under active development, has investments, or is tied to a company.

Furthermore, a large and active community usually results in better documentation and a higher chance of finding help when needed. Popular projects are rarely abandoned, with community members taking on the role of maintainers and continuing the work of overseeing development.
At Skylar, we use multiple open-source projects, from version control tools (git) to technologies for developing our applications (React and Vue). The fact that these projects are open-source, besides allowing them to be completely adapted to our use, is a guarantee of functionality, future development, and community support. When other developers find flaws in these projects and report them or contribute fixes, we also benefit. Within Skylar, we have already made fixes for flaws in projects we used, sharing our solution with the community.
Overall, adopting the use of open-source software can bring great advantages, such as security, quality, cost reduction, and flexibility for future changes. However, some precautions must be taken: it is important to consider the available community and support; another important point to keep in mind is the maturity of the project, to ensure that it can be maintained in the long term. For the project, making code available with an open-source license can generate benefits such as contributions from developers outside the organization, identification and correction of errors with agility, and greater transparency and trust from users, in addition to the creation of a community around the company’s products.
| To access the references of this text click here |
This content was produced by:

Renato Augusto do Carmo de Lacerda
Renato Augusto do Carmo de Lacerda is a software developer and Open Source community enthusiast. Since 2022, he has contributed documentation and code to various projects. He works at Skylar in the area of web front-end development and has experience creating landing pages and interactive pages.
Who wrote this column
Skylar








