One of the most popular mobile operating systems is the world – Google’s Android – is based on an open source Linux operating system. In 2015, Google also open sourced its AI engine TensorFlow, so external companies and researchers could use the software to build more advanced products and tools. Last year, IBM bought Red Hat for $34 billion while Microsoft paid $7.5 billion to acquire GitHub. And even Walmart released its own open source software, OneOps, back in 2016. It doesn’t seem like open source is on everyone’s lips – it actually is. But how did this happen? And what’s with all the hype?
More Than Just Giving Away Software
In 1983, a software developer at MIT, Richard Stallman, determined to create a free alternative to the Unix operating system. He wished to build software that would enable users to use it how they saw it fit. Whether they wanted to study, modify or share the source code with the others – his goal was to guarantee that freedom in all cases. Finally, GNU (“GNU’s Not Unix”) was created and soon licensed. But this software wasn’t only completely free – Stallman also allowed companies to sell copies of GNU.
It didn’t take long for other programmers to follow Stallman’s example. In 1991, Linus Torvalds created Linux – a “kernel” that as the core of an operating system talks to the hardware and translates the basic input into something the software understands. At the time, GNU didn’t have a finished kernel, so many users combined it with Linux to create a functional operating system. Such companies as Red Hat started selling support for open source technologies like Linux. Soon Linux became extremely popular for running web servers. Its success inspired the development of many other tools such as Apache web server, MySQL databases and programming languages like PHP and Perl.
Yet, the term “free” was still understood differently and caused many tensions between the developers. So, in 1998, a group of them got together to discuss how they could combine the idea of shared code and open collaboration. Christine Peterson offered a label “open source” and during the 2000s, it went mainstream. Ruby on Rails, released by David Heinemeier Hansson, quickly became one of the most important web development tools in the world used to build Twitter and Kickstarter. At the same time, Yahoo was funding the further development of Hadoop, an open source data system. Many giants like Facebook, Twitter and eBay started funding the project, further promoting the idea of inter-company collaboration. Companies and tech giants started to see that open source could be a big business.
But Why You Should Care?
The reason for businesses investing millions in open source software is pretty clear. It reduces expenses, allows companies to build better products and services, and due to a huge community, bugs are fixed in a shorter period of time. But why programmers should embrace it as well?
#1 Huge community. Open source is all about collaboration, so there’s no wonder that its community is growing and is extremely supportive. Developers here are more likely to help each other – they share their skills, knowledge and various useful resources every single day, so there’s plenty of material to learn from. Or to find a quick solution to your problem. And since open source can be studied and analyzed publicly, peers can do code reviews and check for various mistakes. This prevents major bugs slipping into releases and teaches how to write better code. With support and recognition like that, developers are more motivated to push their limits and build more functional, reliable and secure products.
#2 It’s more stable and secure. It might sound weird since open source can be accessed publicly, but many consider it to be more secure and stable than proprietary software. In this case, the fact that it’s available to anyone is more of an advantage, because there are more eyes looking into the code and analyzing it. With more developers looking into it, it’s more likely they’ll find any occurring mistakes in the code that the original authors might have missed. Meanwhile, proprietary software has more unknowns in the equation. It’s unclear how many bugs there are, how many people are looking for them and whether they’re attentive. It’s also unclear when and if they’ll be fixed, so there’s a chance for bugs stay unnoticed.
#3 Speed, speed, speed. As it was already mentioned a couple of times, open source allows you to do various tasks in no time. Instead of wasting time trying to come up with a solution for a problem yourself, you can turn to open source community for advice. And since this community is huge, chances are you’ll get your answer in less than an hour. You found a bug, but cannot understand there’s the mistake? Again, you can turn to the community. Do you have a small technical problem which can be solved by adding a specific module? You may write it from scratch for hours or can spend several minutes downloading and setting up the open source tool that will solve your problem. These are just a few of the examples of how the input of the huge open source community can help you.
So should you forget proprietary software forever and switch to only open source? This would be bold, but maybe a bit unnecessary move. Instead, take advantage of open source tools and see how you can mix it with proprietary software. Consider all the ways it could make your everyday tasks easier and get to the solution faster. This what many companies, such as Facebook and Google do as well.