Last week in a pitch meeting, we were asked about the pros and cons of open source content management systems like WordPress vs. proprietary systems like Adobe Experience Manager. I thought I’d dial the conversation up to the highest level and talk about the fundamental differences between open source vs. proprietary systems.
Over the years there has been a big debate over proprietary software vs. open source software. For those who aren’t familiar with these terms, you need to buy a license to use proprietary systems (examples: iTunes, Microsoft Windows, Mac OS X, and Adobe Creative Suite). Open source software are collaborative systems available to everyone, where the copyright holder allows others to study, edit, and re-distribute the code to anyone (examples: Firefox, WordPress, and Linux). When someone re-distributes code they cannot charge any fees and the system must maintain the same open source licensing laws. There are pros and cons to both kinds of software, but the debate has focused on trying to answer “Which one is better?” That question is too complex to address with one overarching answer. It is important to review each case on an individual level, looking at the details of each user’s or business’s needs.
Open source software promotes a non-exclusive collaborative community since the code is accessible to everyone. It also breaks down the wall between a project’s owners and users because anyone who uses the system is a co-owner. Julie Bort, a technology reporter, says “Open source is socialism at its best.” Many argue that if you are going to run a program on your machine you should have access to the code to understand how it works. Even though the source code is free, people can still make a profit from developing open source platforms by selling services such as technical support, consulting and increased security.
However, sometimes you get what you pay for. When you buy a license for a proprietary system, you have access to their troubleshooting and technical support. These systems have undergone a lot of testing to improve the design and usability, and will have consistent debugging support. Open source systems usually do not have official technical support since the project can be spread across many developers working on multiple versions of the system. While there are not official technical support services, open source projects have large networks of contributing users that provide technical support to each other through online discussions. Sometimes these online help forums can be confusing to navigate because of all the individual forks that stem from one project.
The adaptability of open source software provides both benefits and drawbacks. Proprietary systems are usually built for a specific market need. This can be important for some businesses that are looking for software to fulfill a particular requirement. Because of the smaller scopes of these projects, the products often have better developed features. Proprietary systems also tend to be more stable, since there is a steady team working on it with a shared goal. On the contrary, open source systems are malleable and can be shaped to fit the exact needs of your business. If there is a feature of the system you don’t like you can remove it, and if it lacks something you need you can build it. You can share your changes to the larger open source community so that all users can benefit from your work. In my opinion, this collaborative nature is the biggest pro of open source projects. It encourages a cycle of paying it forward, and creates a more diverse community of developers.
TLDR: Proprietary is best for niche needs. Open source is best for customization and scalability. And if you lean towards open source, it’s best to have a skilled development team under your belt to mitigate the lack of support on open source platforms.