Many times when people think about open source software, the first way of describing it is as “free software.” Further, there is a perception that since it is “free,” it must not be that good. This view couldn’t be further from the truth.
When Microsoft bought GitHub in 2018, I would argue that this move finally recognized the importance of open source software for those unfamiliar with this term. The concept behind this category deals with the idea of decentralized software development, with a focus on collaboration. By making the source code available to users, a community of developers forms in a way that provides better guidance for the development of a product. As a simple example, Wikipedia is an open source and community concept in that contributors come from all over the world to describe a given topic or subject. Likewise, open source projects provide their source code to the public as a way to make an application better. To keep contributions organized, and prevent the promotion of ill-conceived code, these projects have lead(s) that review contributed code before deciding to promote or discard it.
In addition to using an open source concept to make an application better, this development model also allows for the forking of code to create a variant. For example, Linux is a commonly used operating system for servers, as well as for clients. The Unix-like operating system, which is based on the Linux kernel, has given birth to multiple versions or distributions. Below are just a few:
- CentOS
- Debian
- Arch Linux
- Fedora
- Ubuntu
- Red Hat Linux
These distributions were created as a result of a need to satisfy certain functional requirements through customization. Users who adopt a particular distribution usually share similar development objectives. There are many more distributions than those shown above, but the idea is that these all belong to the Linux “family.” However, for those folks shaking their heads and picturing other operating systems, just remember that the majority of web servers use a Linux operating system.
Another powerhouse software is the Apache HTTP Server (Apache). In addition to being free, Apache is the most widely used webserver (~35%), beating out even proprietary software like Microsoft IIS. Given its wide usage, solving problems/issues with Apache is easily available on a world-wide level. With so many users of Apache, a quick web search will point you to a blog post or a question/answer forum that has the solution you seek. Usually with proprietary products you have to call the vendor or consultant specialized in the product.
So, the next time you are looking for that one product to save the day, but are not ready to commit large dollars to a proprietary product, consider searching for an open-source solution. However, full disclosure, someone in your organization will need to have a certain level of skills (good way to vet your IT staff) and stay on top of updates.
Now, open source is not for everyone or the faint of heart. For those naysayers who point to websites listing pros and cons, I would argue that the same cons apply to proprietary software: not always reliable or flexible, expensive, and support is not always easily available. My only point is that open source software is an option for many companies, and this category of software has been the source of technology for many successful companies. From electric cars to web applications and social media products, open source is all around us. It is time that more people get educated on this particular area of software development, and start exploring new opportunities for technology solutions. Below is a list of well-known open source software.
- WordPress
- Apache
- Linux
- Python
- PHP
- Mozilla Firefox
- Filezilla
- LibreOffice
- Canvas LMS
- WinSCP