By: Phillip Sharpless

 
 
One interesting trend in software development over the past few decades has been the tremendous growth and adoption of open source software development. Large technology industry players who once shunned the concept now openly embrace it.

Let’s take a look at the history of open source development and try to understand why it has undergone the boom it has enjoyed. We will also take a look at some of the pros and cons.
 

Open Source Software Development History

The concept of open source software development has been around as long as there has been software. The idea is very straightforward. A large number of people working collaboratively will surely be able to produce both more and better software than a smaller number of developers privately working together ever could.

Interestingly enough, in the early days of computing, source code was not usually considered something to be kept secret. The commercial realities of the era were such that hardware was what typically drove revenue. However, as the market matured, it became apparent that a tremendous amount of money was to be made by selling software itself. Aided by court rulings that source code was the subject of copyright and the concept of software licensing, the age of proprietary software development began in earnest.
 

 
Most of the large early players in the booming software industry such as Microsoft always kept their source code a fiercely guarded secret and were at times outright hostile to the open source community. Open source projects were very much active in these days, but were largely relegated to the realm of hobbyists with the number of end users and companies actually utilizing such software projects seriously extremely low.

The GNU Project (1983) and the Free Software Foundation (1985) were early pioneers in defining and advocating the philosophy of free software. The “free” in free software is concerned with freedom, not pricing, with open source code being one of the four essential freedoms of the philosophy.

With the rise of widespread internet usage, the growth of open source development began to surge. One of the most key benefits of open source development – collaboration – became significantly easier to achieve and was able to involve a much wider audience. The Open Source Initiative was founded in 1998 followed by the Apache Foundation in 1999, both considered watershed moments for the modern open source community.

The next few decades would see tremendous growth of open source projects as they proved to be commercially viable both to develop and use. The largest technology companies today (such as Google and Microsoft) are now extremely active in the open source world. Several popular Google-backed open source projects today are Android, Angular, Chromium, Go, and Kubernetes. Microsoft’s release of Visual Studio Code in 2015, .NET Core in 2016, and their acquisition of GitHub in 2018 cemented a complete turnaround in their thinking from a few decades prior and showcased their commitment to an open source future.
 

Pros and Cons of Open Source Software Development

Consideration of open source tools and platforms is almost a must these days, and understanding some of the pros and cons is a good place to start.

The pros of using open source software are numerous. There’s of course the biggest: open source software is typically free or substantially cheaper than closed source proprietary software. Large open source projects are also highly reliable. For projects with thousands of contributors, flaws or bugs are noticed and addressed very quickly. And finally, open source software is highly flexible. You’re not locked in to a specific vendor and one can easily develop their own customizations to address specific needs if desired. New features and updates are added much faster than with proprietary software.
 

 
With the boom of open source software it’s clear the pros are now outweighing the cons pretty drastically. However it’s still good to be aware of the negatives.

For one, open source software is typically less “user-friendly” than commercial software. The projects are typically created and maintained by experts, and there is often an assumption that the users of the project will have more technical expertise than the average user. Getting the software installed, configured, and running is often times more challenging for laymen.

Another potential con is the lack of official support for many open source projects, particularly smaller ones. If you’re experiencing a problem, you’re reliant on the community to address the issue. Depending on the particular software, the community support may not be as robust as others. Finally, there is always the risk, however small, of the software becoming abandoned. Any open source project that no longer attracts much attention or contributors can fall victim to this fate. Although one can mitigate this risk by sticking to the larger, more popular open source projects for mission critical uses.
 

Wrapping Up

In just several decades, open source software has gone from mostly smaller, obscure, projects without much adoption to now being perhaps the most preferred development methodology for even the largest software companies in the world. Becoming comfortable with the open source methodologies and licensing models are now essential for any software developer.
 

Questions?

Thanks for reading. We hope you found this blog post to be useful. Do let us know if you have any questions or topic ideas related to BI, analytics, the cloud, machine learning, SQL Server, Star Wars, or anything else of the like that you’d like us to write about. Simply leave us a comment below, and we’ll see what we can do!
 

Keep Your Business Intelligence Knowledge Sharp by Subscribing to our Email List

Get fresh Key2 content around Business Intelligence, Data Warehousing, Analytics, and more delivered right to your inbox!

 


Key2 Consulting is a data warehousing and business intelligence company located in Atlanta, Georgia. We create and deliver custom data warehouse solutions, business intelligence solutions, and custom applications.