Open source might not be a concept you’re familiar with, especially if you’re not a developer, but it’s something you’re guaranteed to use every day. In this article, we examine open source software and explain why it might prove useful.
What is source code?
To use a crude analogy, if the software you download or install from the app store is a fully prepared meal delivered on a plate, then the source code is the recipe. If you enjoy the meal, you can try to recreate it at home, but you will have to figure out the ingredients, quantities and all the steps to cook it yourself.
What is open source?
Open source software projects make the source code available to anyone, free of charge. You can go to a site like Github or SourceForge, browse millions of projects and download the source code.
Moreover, you can have permission to take this source code, modify it however you like, integrate it into your project and redistribute it or even sell it yourself.
This is where things can get a little less clear, as what you have the right to do depends on the license under which the software is offered.
The most significant difference is whether or not you are forced to share any changes you make – going back to our food analogy, if you take an open source recipe, change the mix of spices used, and serve the dish in your restaurant, you might be required to share your modified recipe with your customers.
Where is the open source software?
Everywhere, everywhere. You are probably using some open source software right now.
All modern web browsers are built around it, most websites will use at least some open source components, as well as the servers they are hosted on.
As the devices we have in our cars and smart homes become more sophisticated, they rely more and more on open source software.
Even commercial software relies heavily on open source – 96% of the 1,700 projects reviewed by Synopsys used open source software.
Why should people give away their software?
Open source software is a concept that might surprise people, especially in the private sector where human effort is measured by profit. But tech giants are unlikely to keep the biggest projects open source.
Why do organizations provide source code for their software?
- Increasing prestige, mastering marketing, attracting the attention of developers
- Allowing the wider community to contribute bug fixes or improvements
- Attracting users to a paid ecosystem, where the product is open source with paid offers for hosting, support or premium features
- Using other open source components with a license that requires them to publish their changes
The vast majority of open source projects are small and made by volunteers who:
- Enjoy software development
- They need to fix a feature or bug in the project they are using
- Do you want to show your portfolio to potential employers?
Some developers can make a living by contributing to open source projects through user donations, grants, and bug bounties.
What are the advantages of open source software?
charge
Probably the most obvious advantage of most open source software is that it is free to use. You will also potentially avoid jumping through any organizational procurement hoops.
Modifying
Given the technical skills (or willingness to hire), open source means you’re free to adapt it to your needs, fix bugs that matter to you, maintain compatibility with new operating systems, patch security flaws, and so on.
Return
A less obvious benefit of using open source is that you support an ecosystem that allows access for everyone. Open source removes cost barriers for projects like One Laptop per Child, and generally represents an approach where communities work together to build and improve something for the benefits it brings, not for profit.
What are the disadvantages of open source software?
Difficult to use
Using open source software is usually easy, although the level of user support and documentation can vary. Some popular open source projects can be downloaded from official app stores, while others may “require assembly”.
Understanding Licensing
Another challenge when entering the open source world is simply understanding the different licenses, both in choosing the license under which to release your code and in understanding what a particular license allows you to do.
Fortunately, most fall under a small set of popular licenses, and you’ll find that they’re incredibly short compared to the fine print associated with proprietary software. There are some useful tools online to help you understand open source licenses such as tl;drLegal.
One thing to keep in mind if you use open source components in an app published through an app store, the terms of the store and your license may not be compatible.
Publication
The most obvious disadvantage of open source your software is monetization – which may be more important in the private sector. Despite the commercialization possibilities of free and open source software, publishing your product on the Internet for free means that people don’t have to pay to use it.
You may also find that users of the software or people who suggest changes or bug fixes are now contacting you for support. You might want to spend some time providing documentation and curating any changes people suggest, but you’re not obligated to do so. You can simply put your creation out there for people to do whatever they want without any guidance.
What about security?
Cybersecurity and software vulnerabilities are concerns in all types of software, open source and proprietary. The widely publicized Log4j vulnerability in late 2021 was caused by an error in a popular open source project. Having the source code can expose these vulnerabilities to bad actors, but also users can audit this code, find and fix these vulnerabilities.
Perhaps a bigger security issue is when the inclusion of different open source components can open up many different applications to vulnerabilities, especially when the software is not updated.
Openness beyond software
The concept of “openness” has applications beyond software. The UK government is committed to the openness of the data it produces.
The Open Government License allows anyone to use public sector information, and open datasets can be browsed at data.gov.uk, where you can find everything from government spending data to environmental research.
Other media and creative works may be licensed in a similar way, for example, the textual content of Wikipedia is available under a Creative Commons license, where you can share, reuse, adapt, modify the content, provided you acknowledge the author and all derivative works are shared under the same with a license.
Philanthropic funders “OpenPhilanthropy” publish content under a similar license, although they prohibit commercial use.
So even if you don’t create software, you can still consider sharing your data or content, and there are licensing options that allow you to shape how people can use what you publish in terms of commercializing it or making sure they “pay it forward” by sharing the performed works.