What is open-source software?
Open-source software is software that anyone can use, access, change, and share.
The ‘source’ refers to source code (lines of code are the underlying building blocks of all software – and commonly referred to as ‘source’ code as the traditional model was creating or ‘compiling’ a program from that code, which was therefore the ‘source’ of the program): it’s accessible to users and developers, who are able to inspect and modify it if they have the desire and knowledge to do so.
This is in contrast to proprietary software, whose source code in almost all cases is not available to those who install and use it. The definition of open-source is maintained by the Open Source Initiative.
Although open-source software is sometimes called 'free' software, this is not in the sense we normally understand 'free' - it shouldn’t be understood as free-of-charge but rather in the sense of freedom of speech: it’s perfectly legal to sell open-source software and benefit commercially, as long as the software’s source code is available to view and edit by those installing it. Many developers who are looking to benefit commercially from open-source software they create choose to make the software available free of charge, and charge instead for support and advice. It is also common for more popular open-source software projects to encourage donations to keep the project going.
Ultimately, the definition of open-source software in individual cases comes down to the licence under which it is distributed. In this article, we want to talk about the benefits of using open-source software for your business and day-to-day life.
Open-source software has sometimes been seen as niche or eccentric. Although some open-source solutions are more common than others, much of the Internet runs on tools and software that meet the definition, being open to anyone. That doesn’t mean that, should you use any of these tools, they’re any more susceptible to hacking. It just means that anyone is able to create their own versions of the software, make changes to it that better suit their needs, and make their version available for use by others as well. In fact, many tech giants run open-source projects alongside their proprietary software.
Why use open source software?
There are many benefits of open-source software. Although it isn’t necessarily free of charge to own, it is the case that many open-source programs are free. That doesn’t mean you’ll never spend money on them: it’s common for large open-source platforms to have paid-for plugins or features (and you’ll still need to pay for servers or hosting on which to run the software). For example, the basic versions of both WordPress and Magento are free, but both have the option to pay for themes to make your website stand out; in contrast, the makers of proprietary software like Shopify and BigCommerce charge a monthly or yearly fee which allows you to use their services (known as 'software as a service'). This means that you don’t truly own your website, but rent it with a certain degree of aesthetic and functional customisation permitted. With an open-source platform, your website is yours in every sense.
The customisability of open-source software can be a double-edged sword sometimes, as if you don’t have a background in coding or web development then making these changes to your website can be difficult to do yourself. However, WordPress in particular has a reputation for being incredibly user-friendly and is also open-source. On the flip side, while Shopify markets itself as being a platform that anyone can use to create a high-quality-looking website, regardless of coding ability, the effort involved in building and maintaining Shopify websites with custom features may still require the use of a development team. Essentially, if your requirements are complex and your business has no internal development or programming resource, you are likely to need some custom coding done, so that is not just something that only happens with open-source software.
This leads on to the next point, which is that there are generally many more options for getting work done on an open-source platform, with a wider developer base to choose from. Closed-source platforms, if they allow external developers, will tend to have an approved list of vendors who are permitted to add features or customise the system's behaviour. This means that you’re at the mercy of what the platform decides to provide in terms of features and functionality or what approved vendors and developers can actually change - and those changes may come at a significant cost.
In contrast, anybody can modify or develop extensions for open-source software (assuming they have the technical ability to do so). Depending on the platform and your own coding ability, you may even be able to add these to a system yourself. However, if you do use external developers, you will have significantly more options - as well as getting the benefit of working with a company that is familiar with that system and can work efficiently on it.
This is true both for general development and maintenance, and for creating custom extensions from scratch. While custom development comes at a cost, with open-source software you will have more developers to choose from and you won't be locked in if you do want to change your supplier in future.
Which open-source software is right for me?
At GWS, we work with a wide range of open-source software and platforms. Which open-source software is right for you will depend entirely on what you want it for, but here’s a quick guide to open-source e-commerce platforms and web content management systems. Open-source software goes far beyond these though – there are open-source alternatives to pretty much everything on the Windows and OS-X platforms, e.g. word processing, spreadsheets, browsers, and presentations. Read on to see what could work for you.
Drupal is an incredibly powerful CMS. It’s great for when you have lots of different types of content to organise or need different levels of user permissions, and has multilingual support built in. However, it’s not always user-friendly, and if you don’t have some coding knowledge, you will definitely need the help of a developer.
Definitely the most accessible option listed if you want to try creating a website on your own using open-source software, WordPress is great for primarily content-management-based tasks. That said, it’s capable of handling complex features. It can handle e-commerce too, although it’s often not the best option if that’s the main focus of your website.
Magento is another powerful platform, but this time geared towards e-commerce. Somewhat like Drupal, it’s not as easy for beginners to pick up, but the customisability and integration capabilities are unparalleled.
Prestashop is great for smaller e-commerce businesses that don’t need as much in the way of the advanced options Magento offers. It offers many free themes for personalisation. However, it offers limited scalability and integration options out-of-the-box, so if your website’s traffic grows, you may need to migrate.
Other open-source software
If you’re convinced by the ethos of open-source software and want to incorporate more into your life, why not try out some of these swaps?
- LibreOffice instead of Microsoft Office – includes word processing, spreadsheet, and presentation software, plus others
- Firefox instead of Chrome, Edge or Safari – a fast, reliable browser
- Ubuntu instead of Windows or Mac OSes – a Linux-based operating system which is reasonably user-friendly and compatible with the LibreOffice suite, though it may involve a learning curve!
More information on open-source content management systems for e-commerce
We previously reviewed Magento, Drupal and two other open-source content management systems for e-commerce solutions, WooCommerce and OpenCart Free, in comparison to the closed-source content management systems PrestaShop and Shopify. See our e-commerce content management system review here.