Software is full of either-or choices. Android or iOS, Agile or Waterfall, backend or frontend, AWS or Azure. One that we often get asked about is the difference between open-source and proprietary software.
As a development house, we prefer to work with open source software when we can, but utilise proprietary software when necessary - which these days is fairly standard within the industry.
Why? Well, you’re about to find out...
Open source software has all the code of the system readily available
Open source software is a software project where all the code is available for anyone to view or download.
Gimp, for example, is a free and open source image manipulation software application that people use as an alternative to software such as Adobe’s Photoshop (a proprietary software).
You can either download and install the application, or you download the source code of Gimp and build the software on your machine yourself.
Pros of open source software
You can alter the code
Application missing a feature or doesn’t do quite what you want it to do? With open source software, you can add to the code, build the feature yourself, and hey presto, it now does exactly what you want.
You can see exactly what the application / library / etc. is doing
If something it’s functioning as you would expect it to, you can examine the code to see exactly how the data is being processed and what it’s doing.
It’s often free
Many open source projects allow you to do whatever you want with the code for free. Other projects may charge a fee if you use it for commercial purposes (but often not if just used internally).
Often backed by a developer community that contributes and adds new functionality
Big open source projects have many contributors, including top software development teams, who add in new features to the application to share among the community. For instance, Facebook has a total of 474 public projects, and made 28K commits to other external open-source projects in 2018. This can make new feature builds fast and ensures the software itself keeps thriving.
Proprietary software is owned by a company
Proprietary software is a software application owned by a business, that is generally closed-source (you can’t view the source code, features are probably only exposed via APIs if at all), and it is usually available for a cost, although some proprietary software is free, or has a free version.
Pros of proprietary software
It is often very powerful
Can you find an open source word processing software that is as powerful and feature-packed as Microsoft Word? No. That’s because many paid hours of top developers’ time have gone into the product - so that Microsoft can sell it to customers at a premium.
Can fill a niche you can’t find without building onto open-source software yourself
Searching around for a free software that will do everything you want but you can’t find it? That’s pretty normal. Proprietary software is built to suit particular business or consumer needs that can’t be met with free software. By building proprietary software that fits a certain market need, companies can profit off it.
Often built with UX in mind, not just functionality
Proprietary software is generally built with user friendliness in mind, with intuitive flow built in, whereas open source software (for the most part) is mainly just functional - user friendliness is just a nice to have, since there are generally not that many resources allocated to development, or people are working on the project in their spare time. This generally makes proprietary software much more pleasant to use than open source.
How does this fit into software development?
Of course, we all love something that’s free. As developers, we also love to be able to see what somebody else’s code is doing. The unknown is scary after all - what if their code has bugs in it we can’t see? Being able to build in features to existing code makes us happy.
Open-source software, libraries, and tools, have become standard across the software development industry, so we can help each other as a community build better software infrastructure. We utilize proprietary software when necessary, such as perhaps using Visual Studio for .NET development.
At CodeFirst, we try and build software projects with as many open-source software products as possible.
Choosing software for the workplace
While it might be appealing to choose open source software in the workplace to cut costs, you need to think about who your end users are. If it’s your admin team, they may get frustrated with a product that’s purely functional, rather than easy to use.
While open-source software abounds in development offices, in other workplaces there are generally few open source tools that are part of the digital workplace.
We build software for businesses large and small
If you are looking for a software development partner for your next project, then look no further. We offer bespoke software development services, or the opportunity to supplement your team with one of our great developers. Reach out to spark the conversation.