My FeedDiscussionsHeadless CMS
New
Sign in
Log inSign up
Learn more about Hashnode Headless CMSHashnode Headless CMS
Collaborate seamlessly with Hashnode Headless CMS for Enterprise.
Upgrade ✨Learn more
Open Source Software vs Proprietary Software

Open Source Software vs Proprietary Software

Graham Church's photo
Graham Church
·Aug 1, 2019

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.