Software is like chocolate cake
Jun 19, 2023Imagine a world in which there is only one recipe for chocolate cake. That recipe is owned by Corporation Pty Ltd, where it was developed to the tastes of a board of executives. It’s kept a secret, only known to a select few people. They use this recipe to make and sell chocolate cakes.
Now imagine that, in this universe, you’re craving chocolate cake. You could buy the chocolate cake from them, but it’s expensive and it contains hazelnuts, which you’re allergic to, or it’s too sweet, or too dry, or you’re simply bored of eating that exact same chocolate cake every time.
You know a little bit about baking, and from tasting Corporation Pty Ltd’s chocolate cake, you can deduce some of the main ingredients, so you decide you want to make your own chocolate cake, which will be more suited to your taste and needs than the cake you can buy.
But because you don’t have the original recipe, you end up spending hours upon hours and hundreds of Rands trying to figure out how to make your own chocolate cake. Maybe you can’t even get the original taste quite right because you don’t know that Corporation Pty Ltd adds vanilla essence and a pinch of salt to the batter to enhance the flavour. Maybe it takes you seven tries to determine that 180 degrees Celsius is the ideal temperature for baking cake.
Maybe you give up before you get your perfect cake and just go back to buying it.
Maybe there are others in the world just like you, who also want to make their own chocolate cake. One person just wants to add sprinkles to the top. Why can’t they just add them to a cake that they bought? Well, the thing is, Corporation Pty Ltd has made it illegal or impossible to add things to their cake. And how will they know? Well, that’s where this metaphor falls apart… like a perfectly moist, crumbly chocolate cake.
Corporation Pty Ltd’s chocolate cake is like proprietary software: if you want it, you must buy it. You cannot alter it to suit your specific tastes and needs, nor can you examine its recipe (source code) to learn more about baking (software development). If there is a problem (bug) in the recipe, you have to wait and hope they fix it, rather than just fixing it yourself.
However, if Corporation Pty Ltd were to make its recipe available to everyone to read and alter as they wish, then it would become open source.
What is open-source software?
The source code of open-source software is accessible to everyone, meaning anyone can look at it, change it, fix it - do whatever they like with it. Some examples of open-source software include Plone (the CMS we use to build our websites), Ubuntu/Linux (the open-source operating system, an alternative to Windows or iOS), and LibreOffice (the open-source alternative to Microsoft Office).
Other software - software for which the source code is not openly available - is called “proprietary” or “closed-source” software. Examples of proprietary software are Microsoft Office and Adobe Flash Player.
Perks of open-source software
Open-source software is designed to promote collaboration, which is why most open-source projects are developed and maintained by a community.
This means the software generally ends up being a by-product of the community’s skills, needs, and values. For example, security is a top priority in the Plone community, so there is a specialised security team that makes sure it maintains its excellent security track record.
Because the software is such a product of the community, each is so different that it is difficult to list advantages that apply to all open-source projects. However, there are some general perks:
- Lower costs: Almost all open-source software is free to use, which means no up-front or subscription costs. You don’t need to buy it to test it and see if it will work for you.
- Flexibility: You can alter and customise the source code, which means you can freely customise the software and add functionality that doesn’t exist yet. You are not limited to the functionality that the owner has come up with like you are with proprietary software.
- Less training for developers: If you don’t have the skills to customise the software yourself, you can find people who are already familiar with the software who can do it for you. You aren’t limited to the developers employed by a proprietary software company.
- Faster development: Because you can see the work that has been done before, all you need to do is build on it. No need to work from scratch, which leads to faster innovation and development.
- Independence: By using open-source software, you are not dependent on a company that can change or even decommission the software they’ve sold to you. The open-source software is yours.
- Security: The more the community values security, the more secure the software will be. This means the security of open-source software varies greatly, but the more secure software projects will make it known. Also, you can check for yourself that the code is secure, or pay someone to do it for you. You don’t need to trust a company.
- Licensing: You don’t run into any legal issues with licensing, because the source code is free to view, use, and modify.
Perks of proprietary software
So, if open-source software is so great, why isn’t all software open-source? Why do people make and use proprietary software? There are a few reasons:
- Money: Developing software is hard work, and people want to be paid for it. There are many companies that make money selling software. Even though some open-source projects are funded by companies or governments, many are not. A lot of the work is done with little immediate financial motivation, although members of an open-source community usually use the software themselves, or work for organisations that do.
- Ease of use: Proprietary software is usually easier to use than open-source software if you’re not a developer. Skipping the cost of buying proprietary software may translate to more time and money being spent on setting up and running the software. In many cases, you may have to employ a developer or team of developers to do the work for you.
- Compatibility: Open-source software is not necessarily compatible with other software like groups of proprietary software are. Open-source projects tend to be more independent of one another, as opposed to proprietary software products which are often developed by the same company specifically to be compatible with one another. However, since open-source software is so customisable, you can make it compatible with other open-source software, it just takes some extra development and time.
Which should you choose?
Of course, you don’t need to choose between open-source and proprietary software as a whole: most of us use both. There are so many different software products available, each with its own pros and cons. Ultimately, whether you choose to use open-source or proprietary software for a specific purpose depends on your:
- Needs: If you can find proprietary software that meets all your needs and is within your budget, that will probably be an easier choice for you. However, if you can’t find exactly what you need on the market, it is worth it to look into open-source options.
- Resources: If you have access to software development skills, whether that’s your own expertise or the ability to pay a software developer, open-source could be for you. However, if you don’t have these resources, proprietary software could be a good choice.
- Values: Finally, you may choose to use open-source software as far as possible because open-source values align with yours. Maybe you value freedom, flexibility, and independence over ease of use. Maybe you would rather pay a developer that you can contact directly and personally, than a company that has a tiresome customer service process.
Choosing Plone
Clearly, we love open-source software - the content management system (CMS) we use to build our websites, Plone, is open-source, and it embodies all the perks of open-source. The community is robust and has spent over 20 years developing a powerful, secure, elegant CMS that we can customise to suit our clients’ needs. Unlike with proprietary software, we don’t need to worry about suddenly not having access to Plone: it is protected by the Plone Foundation, which ensures it stays open-source and free. Plus, we value collaboration, sharing, and innovation, which are all pillars of open-source.
Let us put it this way: it is usually easier and can be cheaper to buy a chocolate cake from Corporation Pty Ltd. It could be good enough for your purposes. But the chocolate cake you make yourself, or pay an expert pastry chef to make for you, can suit your needs exactly, and be so much more delicious.