Open-source Software Definition
Open-source software, commonly referred to as OSS, is a class of software that adheres to four main principles:
- you can use it for any purpose
- you have access to the source code and can change it
- you can redistribute original copies
- you can redistribute modified copies
Open-source software also falls under the free software category (sometimes termed free and open-source software or FOSS), although not all free software is open-source software.
Another dichotomy of open-source software is project/community open-source and commercial open-source software (COSS).
The open-source community comprising volunteers maintains the former, although some organizations might sponsor/contribute (e.g., Apache Web Server, Linux, ReactJS).
COSS is typically owned in entirety by one entity that controls contributions and requires that any modifications become its legal property (e.g., Red Hat distributes enterprise versions of the open-source software Linux).
All open-source software is distributed with a license stating how it can be used, modified, and distributed.
The most common open-source software licenses are:
- MIT License
- GNU General Public License (GPL)
- BSD License
Examples of Open-source Software
Linux: A UNIX-like operating system, Linux is one of the most widely used open-source operating system software, with multiple forks like Ubuntu, Fedora, CentOS, and others available.
Drupal: Drupal is a highly customizable, extensible, and secure web platform that powers ten percent of the top ten thousand websites globally, including Tesla.com, the Australian Government, Mint.com, and NASA.com.
LibreOffice: LibreOffice is a free and open-source office productivity suite launched in 2010 and overseen by the Open Document Foundation.
WordPress: WordPress is the most popular CMS platform on the Internet, powering 455 million websites globally, including TechCrunch, BBC America, The New York Times, and Microsoft News Center.
Apache: Apache is a free and open-source HTTP server that works in Windows and Unix environments. A community of contributors maintains it, overseen by the Apache Software Foundation.
Mozilla Firefox: Firefox is a popular open-source software browser developed and maintained by the Mozilla Foundation that uses the Gecko rendering engine, which implements current and next-generation browser best practices.
Chromium: The Chromium project develops the open-source software Chromium browser and Chromium OS. Google Chrome and Chrome OS are built using Chromium.
Open-source Software Pros and Cons
- Free to try, use, modify, redistribute
- Free community forums that offer support
- Open standards that increase transparency
- Better overall security
- Fewer bugs and (usually) faster fixes
- No vendor lock-in
- No IP restrictions
- Simple license management
- Easily scaled and extended
- No competitive advantage
- Community support not suited for enterprise scenarios
- Highly technical due to heavy developer-focused development
- Requires extensive customizations to meet specialized use cases
- Hidden costs
- Limited liability and warranty protections
See what a professional website audit can do for your business
Proprietary Software Definition
Proprietary software has legal protections (usually copyright law but, in some cases, patent law applies) that limit its use, distribution, and modification.
Also called commercial, closed-use, or closed source software, its developer, publisher, or vendor enforces these protections and only provides access to it under certain conditions, usually purchase, lease, or license.
A distinguishing feature of proprietary software is that end-users can’t access the source code, which remains the owner's intellectual property. The source company (the Independent Software Vendor or ISV) manages all modifications, upgrades, and patches.
In addition, restrictions prohibit end-users from repackaging or redistributing commercial software, details of which are in lengthy End-user License Agreements (EULA), Terms of Service (TOS), and other user agreements.
Examples of Proprietary Software
Microsoft Windows and Microsoft Office: Microsoft fully owns and controls their operating system and productivity software, only installing or licensing them within the scope of detailed EULAs.
Slack: Slack is a SaaS platform and only provides end-users with functionality while abstracting the back end.
Adobe Photoshop: Adobe Photoshop and other Adobe apps are sold as downloadable software and are only usable after purchasing or licensing. Any software code is usually highly protected through encryption and other means.
Norton Antivirus: Most antiviruses are commercial software and restrict access to the source code, besides restricting any modification or redistribution.
Pros and Cons of Proprietary Software
- Precise usability because of the limited scope of features
- High product stability due to its commercial nature (it must work well to make commercial sense)
- Specialized technical support, especially for enterprise clients
- Warranty and limited liability protections for end-users
- Complete ownership and use of the software after paying the license fee
- Ongoing dedicated support, updates, software development, and bug fixes
- Vendor lock-in
- Limited flexibility and extensibility
- Costs more at the beginning
- Customizations may come at an extra cost
- Reliance on the vendor to continue to debug and improve the product
- Transfer of software products to another company can compromise privacy
- Often complex EULA and TOS
- Convoluted licensing processes
Would you like an audit of your business website?
From the list above, you’ll notice that there are about equal pros and cons for each class of software. This parity alludes to the fact that each one might thrive in specific scenarios while faltering in others.
Let’s break down the main differences between the two based on their strengths and weaknesses.
Open-source software often comes with many features due to so many people contributing to the code base and the almost unlimited scope of an open-source project.
Proprietary software often has limited functionality due to focusing resources on easily commercialized and maintained features.
Open-source software is free software, so the upfront cost is low. However, customizations, maintenance, and support add a cost component to it.
Proprietary software has a high upfront and ongoing cost. However, these costs can be offset if the vendor offers support and maintenance.
Open-source software is heralded for its easy customizability. With an open-source code base, it is easier to make deep customizations that provide highly specialized functionality.
Proprietary software is considered rigid due to inbuilt customization limitations like a restricted source code, hard-coded features, and locked-in product scope.
Open-source software platforms like Drupal and WordPress have hundreds of community-made plugins, some paid but most free, extending the core product.
Lack of such resources makes extending proprietary software difficult, even though sometimes the software vendor might invite the community to develop additional non-core extensions (like Adobe Photoshop plugins).
Open-source software platforms are typically more secure because of the sheer number of eyeballs scanning the code. Fixes are also often quick because of enthusiastic community members.
Proprietary software tends to have more exploits, although they aren’t as visible because of code restrictions. In this sense, this software is secure because no one has found the exploits (yet).
Open-source solutions have extensive integration capabilities again because of the unlimited nature of product development. Community members can include integration capabilities (APIs) simply because they can.
Proprietary software usually has limited integrations due to its rigid nature. Nevertheless, most ISVs will provide an extensive list of available integrations and usually provide new ones on request.
Open-source software has a tremendous number of free and paid templates, themes, and libraries provided by a community of developers.
Proprietary software often has a limited number of templates due to the limited resources and scope of services most provide. However, most offer features that allow end-users to develop custom templates or themes.
User Experience / Developer Experience
Open-source software platforms like Drupal are typically not user-friendly because they mainly focus on back-end programmers. Others, like WordPress, have a more user-friendly experience, although at a high cost to customizability.
Proprietary software is built with the end-user in mind, so most have excellent user experiences. Also, developer-facing features are designed and built for ease of use.
Assume you are facing a site redesign or rebuild. Should you pick proprietary software like Agility CMS, Kentico, and Sitecore or open-source software like Drupal, WordPress, and Adobe Magento?
The answer is... it depends.
Since each software class has strengths and weaknesses, the choice will depend on project dependencies like budget, timeline, features, and scope.
Here’s a brief rundown on which type of software to pick for different project scenarios. (Keep in mind these dependencies interplay, so the recommendations below will differ in different scenarios.)
Significant budget: Proprietary software, though more costly, comes with refined features out of the box, so it might be a good option.
Limited budget: Open-source is always a good idea when resources are limited. Other free components like themes and plugins add to its affordability.
Ample time: Open-source solutions are a good option here because most are developer-friendly and can be customized to meet requirements with enough time.
Limited time: Pick proprietary software because it works more seamlessly, works right out of the box, and has a more straightforward route-to-market.
Few/simple features: If you are building a brochure site or a similarly limited website, consider proprietary software as its limited flexibility will not hinder the outcome.
Many/complex features: Consider using open-source software like Drupal because it offers maximum flexibility for customizations and extensions.
Open-source software and proprietary software each play a crucial role in diverse business environments. While companies might pick one or the other, working with both is the better solution in some cases. For instance, a company might run its main website on a proprietary CMS like Adobe Experience Manager (AEM) but run its blog/news hub on open-source software like WordPress.
At O8, we work with both proprietary and open-source software because we understand that each can play a pivotal role in helping a client meet their objectives.
As one of the developers on our Extended Dev Team says, one type of software might meet the needs of one client, but as an agency, we offer both because they each have a place in meeting diverse project requirements.