Open source software, where did it start and why is it so popular? What are some real examples? Where is it going? And what is our open source strategy here at Polyseam?
This post is an introduction to open-source software, we have also created a video which you can watch below.
Open source software (OSS) - is computer software that is released under a specific license which makes the source code publicly available. There are many different open-source licenses, some are more permissive, some are less, but generally they allow users to run, change, study and even re-distribute the source code to anyone for any purpose
The Free Software Foundation was founded in 1985 by Richard Stallman as a non-profit organization to support the development of ‘Free Software’. A year later Stallman published the Free Software Definition which defines the four essential freedoms of free software.
Over the next few years there was a lot of misunderstanding and ambiguity with the term “free” since it was meant in the context of freedom, not cost. This led to a need for a “free software” rebrand, and the term “open-source” was coined by Christine Peterson in 1998 who was working as an executive director at Foresight Institute.
In the same year (1988) shortly after the term was coined, the Open Source Initiative or OSI was founded by Bruce Perens and Eric Raymond as a non-profit with the aim of becoming the leading voice on open-source principles and policies. They claimed the fundamental difference between proprietary software and open-source was the availability of the source code.
Since then, open-source has absolutely exploded in popularity and basically everything is created on top of some type of open-source software. One of the first and most famous examples was the operating system Linux and since then other common examples include programming languages like Python, development environments like VSCode or 3D modeling software like Blender and there are countless others.
For contrast some examples of non open-source or “proprietary” software are the Adobe Creative Suite, Microsoft Office and Cinema 4d, just to name a few.
But what really drove the explosion and why did open-source become so popular? Open-source software was a strategy created with the focus on development of the projects. With the source code publicly available, project innovation rapidly accelerates since everyone can look at it, see how it works and try to make it better. The people making these improvements are called contributors.
Contributors are a major aspect of open-source and they can be anyone who wants to help with the development or improvement of a software project. It’s a perfect way to learn as a developer and build out your skills with new technologies. It gives you projects to talk about on your resume and you get to have a real impact on the direction of a specific tool while you learn.
If you're looking to contribute code to a project it’s a good idea to have some familiarity with the language the code base is written in and the version control system it uses. But there are other ways to contribute to open-source, with design or writing docs for example.
Some other reasons open-source has gained so much popularity are because it gives financial advantages to anyone using it, you can avoid vendor lock-in which happens with most proprietary software, and it really builds great communities around the software. This is perfect when you run into problems or need to do some troubleshooting because there are people you can ask for help.
Every software project has a license which says how the software can legally be used. There are many different types of open-source licenses with many of the common ones being approved by the OSI.
If you go to https://opensource.org/licenses/ you can find a list of open-source licenses. But some of the most common are the Apache, MIT and GPL licenses. If you want to create a license you can submit it to the OSI, they will review it and it can get approved and added to their list.
In more recent years a concept called “commercial open-source software” or COSS has been gaining popularity and lots of venture capital. Because businesses can’t be maintained and grow by just giving away everything for free, so COSS opens the door for your company to monetize their open-source offerings.
While still releasing your code base to the public and giving away their software for no cost, they can sell support services, implementation, hosting packages, or create smaller proprietary features that revolve around your core open source offering.
If you're interested in diving into the COSS community I highly recommend you check out https://www.coss.community/ they are an awesome resource to learn about all of this stuff and stay up to date with recent news in the open-source world.