TYPO3 Blog

Pros & cons of open-source software at the enterprise level

Open-source software has come a long way since pioneers unleashed the development in the late 80s. A major milestone along the way was back in 1999, when IBM announced its support for the open-source Linux operating system. Source code being available to the general public for use or modification was totally new back then and the idea of running a business based on open-source software was groundbreaking. Open-source software had a huge impact on the business world, and has long since found its place therein. It rapidly gained considerable validity and huge popularity, and when it did, it simply became mainstream.

When researching your next business software solution, bear in mind the following pros and cons of utilizing open-source software in your business

PRO: In general, not just in software, secrecy is the enemy of quality.

We’re all human beings. Pretend all you want to, put on all the airs you wish, but when push comes to shove anyone opening their code is going to give it extra work to ensure that it won’t embarrass them. When code is on display, you’re going to make sure it’s of higher quality than if it’s hidden behind license restrictions. The biggest difference between proprietary software and open-source software is quality.

CON: You’ll spend more time getting the software into shape.

Using open-source software isn’t simply a matter of choosing the system you want and popping a bottle of champagne as you wait for “the community” to start beavering away to meet your expectations. You’ll need professionals to get the system customized to your wishes and this will take time. The point is: you have a choice. With proprietary software you won’t have a time issue as you don’t have access to the source code.

PRO: The source code is freely available.

Developers have the ability to customize the software to perfectly fit customers’ needs and to
isolate and fix bugs. A common illustration equates open-source software with a car. As the hood opens, car owners can fix problems themselves, or choose a repair service that best fits their needs.

Using proprietary software is like driving a car with the hood welded shut. If the car breaks down, the owner has to return the car to the manufacturer for repair. Having no access to the engine means that that neither the owner nor the repair service is able to fix the problem.

CON: If the product doesn’t work in the way you expected, you have to get it sorted out yourself.

With any proprietary software, there is a single source for support, bug fixes, security fixes and updates. If things aren’t working right you know who’s chain to yank to get it working right. And if they don’t get a move on, you can consider taking legal action. All of this may well be bothersome to you, but you do have the option.

PRO: Open-source software is safer and more reliable. Bug fixes and security exploits are fast in coming.

There is common misconception that open-source software is prone to failure. In actual fact it’s quite to the contrary. Open-source software is more reliable because it has been reviewed by many developers, users and testers. This means bugs are more likely to be found and fixed quickly. No company can afford programmers going over the code 24 hours a day, 7 days a week. Open-source is all voluntary work, from all over the world. So at any given time there are lots of people looking at the source code to find or fix a problem.

CON: No one is obliged to help.

While the open-source community is good at responding to issues quickly, no one is legally obligated to help you. That being said, most open-source software applications do offer support and maintenance services - at a cost. For instance, if you’re using the open-source TYPO3 CMS there are a whole lot of agencies and freelancers specialized in this specific content management system who can be hired to get things sorted out.

In response to this concern, we - the TYPO3 GmbH - have now incorporated SLAs (service level agreements) for TYPO3’s core into our repertoire. This warranty covers service due to failed components within a specific time. The overall goal is to establish 100% accountability.

PRO: As Spiderman already learned: “With great power comes great responsibility.”

Open-source software puts you in the driving seat. Being able to tailor software to specific requirements gives you a competitive advantage. Open-source software improves efficiency, innovation and provides effective and powerful solutions. But it also means that you’ll have to make sure website maintenance is running as it’s supposed to, as the responsibility ultimately lies with whoever is responsible for coordinating the work.

CON: The potential of orphaned software is greater.

There is a chance that developers will move off the project and officially “orphan” the software. That being said, any product or service on the market today could be discontinued for whatever reason, no matter if it’s open-source or proprietary.

PRO: It’s affordable.

The open-source software itself doesn’t cost a cent. Zero, nada, nothing, niente. Getting the system fixed up to suit your needs will come with a bill to foot, but you also get an immediate return on investment for that. Each and every feature you’d like to have can be integrated which makes your project totally unique. You can get that awesome website created that you’ve always dreamed of having.

CON: … ehm … errr … well

… as you see, we’ve run into trouble. Darn it all, earlier on we promised to take a neutral stance, but we’ve come to a full stop. We’ve simply run out of cons. We have done our best at keeping the balance, honestly. So do we stop here? We do still have a few pros at hand. So, no, it’s just the way it is - there are just so, so many good reasons for using open-source software at the enterprise level. Further good reasons are:

PRO: “Open-source” is the currency developers understand.

Open-source speaks to a mindset that resonates with many developers and attracts bright developers with ideals like community engagement, openness and collaboration. Many open-source projects get started because a single developer or a team of developers reckons there must be a better way to do things. And these developers often do things just for fun. They truly enjoy tinkering with code to make it do just what they want it to do. They’re passionate about making good things even better.

PRO: The code can be externally reviewed for security issues.

There is no such thing as perfect security and open-source software is not immune to security issues. But it does have the potential to be safer than its closed-source counterpart. It may seem paradox, but source code being visible to others strengthens its security. If the code is freely available for review, then end users, experts, as well as the open-source community at large can verify that the software does exactly what it claims to do. It’s not that open-source software is automatically more secure than closed-source software. It’s that without source code it is impossible to check for security. You can verify for yourself whether the code is secure and do something about getting security issues fixed. And by being able to control the risks, benefits are reaped.

PRO: And best of all, it’s fun!

There’s no denying the fact that the social component of code sharing is fun. It fosters collaboration, camaraderie, and creates a new network. As supporters of open-source software we’re happy to see the re-energized debate over open source versus proprietary software. Let’s end with defining both models’ philosophies.

Proprietary software’s approach is “Let’s keep it secret so we can make money off selling it.”

Open-source software’s approach is “I find this useful, maybe some others will as well.”

Is open-source software always the perfect fit for everyone? We think it can and should be the default for all software and for all companies. You may find the same. We’d love to hear your thoughts on this!

Contact us now
Susanne Moog

About the Author

Susanne Moog

Senior-ita Developer, Düsseldorf, Germany
Susanne has been part of the TYPO3 project for the last ten years. Originally she studied media economics, but quickly realized that programming was more than just a hobby and started working in the IT area.

She works at TYPO3 GmbH and team neusta, mainly as a scrum master and developer. In her free time she loves reading, dancing, learning C# and doing code katas.

More posts by Susanne Moog


No comments

Write comment