“Standing on the shoulders of giants” is a great way to describe open source. If there is some software out there that does almost what you need but not quite, then you can add the features yourself or even hire a web developer to do it for you.
Open source software differs from closed source software in that open source projects have their source code available for study, review and modification by anyone wanting to try. Anyone with the know-how can add features or fix issues and submit those updates back to the original developers to be reviewed and incorporated into the project.
I first started contributing to open source by improving the Content Management System (CMS) I was using, fixing bugs and adding features that I needed. This confused some of those around me as I was essentially improving a product that my direct competitors could use. Yet if we all work together, then everyone wins.
As web developers we use Symfony, Laravel, PHP, Docker, Vagrant, Linux and more every day. Each of these are large open source projects built on top of other open source projects. There’s a cumulative effort of millions of hours from thousands of people all over the world.
What are the benefits of open source?
There are many benefits to open source… Firstly there’s the security of having many pairs of eyes looking over the code and potentially seeing and reporting any issues. Plus, if you have the skills then you can help projects that you care about, even if all you can do is make the documentation better, it’s still helping. If a project is no-longer supported by the original developer then instead of it becoming stale and broken like a closed source project would, an open source project can be picked up by someone else and carried forward.
Closed source projects like Microsoft Word, Adobe Photoshop etc have large teams of developers and testers. Many projects would simply be out of reach for a single team, but if you start the snowball rolling, it just might grow. Linux was only ever going to be a hobbyist project, and now it powers the majority of the internet.
Software, like any project, changes as it grows. Some software starts off as closed source and then gets opened up like PowerShell. Docker started off as closed source dotCloud then they pivoted completely by renaming to Docker and open sourcing it, yet still retained commercial value with their new business model. Even Microsoft (the largest software company in the world) is embracing open source. They’re contributing to Linux, open sourcing some of their software (plus ported some over to Linux) and have even embedded part of Linux within Windows 10. They’re a new Microsoft.
Open source for everyone
So open source software could be anywhere. It powers phones, kiosks, game consoles, healthcare systems, cars, and more beyond just computers. But open source isn’t just for software; anything can be open source; even hardware, documents, drinks, and so much more.
Once upon a time open source was viewed as hobbyists giving away their hard work; now it’s people helping each other reach goals higher than they’d ever reach on their own. You (or your team) could add an amazing feature. Then someone else might come along and make it even better, even faster and even more secure. In open source you always get more than you give so everybody learns, everybody benefits, everybody wins.
Open source for you
So with all this in mind, are you going to consider open source with your next project and discover the benefits firsthand?