Choosing Between Open Source and Closed Source Coding

Sara Miteva
wearelaika
Published in
4 min readJul 12, 2019

This piece is written by www.wearelaika.com, a platform for matching Tech professionals with companies. Check out more content here.

The source code is a collection of text commands that tell the program how to function. When creating any software, creators, regardless of whether they’re companies or individuals, need to decide whether their code is going to be open source or closed source.

Open source code is a code that anyone can get access to, meaning it’s public. Its licensing agreement allows anyone to share it, view it, and work on it. Open source code promotes community-oriented development where everyone can exchange knowledge and collaborate.

Closed source software or “proprietary” software where the source code can’t be viewed and changed by the public. Here, only the original authors can view and modify this software. Any additional user signs a license (which you often see when you first run the software, like Microsoft Office or Adobe Photoshop) that they won’t distribute it beyond permissions.

Here are some variables that you should consider when creating a new application:

  • Legal terms. The most important difference between open source and closed source software are the permissions each user gets. Open source code can be distributed freely, while closed source users must accept the terms of a license. Basically, open source code can be used for any purpose the user needs it for, while purposes of closed code are precisely defined with the license. The license is the boring thing that comes out when you download an app and you just click “agree” and “accept” without even reading the terms. So, if you don’t want your code to be shared and used for different purposes, make it closed source.
  • Earnings. Most open source apps are free and people can donate only if they want to. For example, Linux and FreeBSD are free. Closed source apps and operating systems, on the other hand, usually come with a price, but not all of them. Windows usually comes preinstalled, but computer manufacturers calculate it into the selling price of computers because they pay a licensing fee to Microsoft. If the goal of what you’re creating is to make profits, charging developers to use your API is a good way to do it.
  • Developers support. If you decide to make your code open source, you’ll be able to share experiences with other developers. Some of them might tell you things you didn’t know and contribute to making your app better. Open source makes your app more customizable and flexible.
  • Contributing to the community. Letting other developers get access to your code is a very generous thing to do for the community. Many of your colleagues, especially juniors will be able to learn from your code and take advantage of your experience. I bet your “young self” appreciated every developer who made their code open source.
  • Competitive advantages. If you’re looking for a competitive advantage, closed source code can do it for you. Your competition won’t be able to see how you designed your product and they won’t be able to copy you.
  • Security. Open source applications are transparent and therefore more secure. Other developers, rightfully, have more faith in open source applications because they doubt closed source applications. Moreover, the fact that anyone can look at the code means faster bug detection and submission.
  • Lifetime length. Over the years, the original creator of the application or the software might stop improving and developing the code, leaving it left behind. An open source software enables the code to live longer, as other developers will have the chance to extend its lifetime.
  • Experience. A closed source allows the original creator to choose all the features without giving anyone the chance to modify them and therefore “discover” some better ones. This means that all users will have a similar experience with the standard code you created.
  • Costs. Closed source apps are developed within the company, so the development costs are fully covered by the company. This makes closed source code more expensive for the company because open source projects are being funded by donations from other companies or individuals.

Both open source and closed source code have their pros and cons. When a company comes in front of a decision like this, it’s important to identify its long-term business goals and make the choice according to them. Knowing the condition of the budget, the need for new earnings, the level of flexibility, and the plans to shorten or extend the developing team are important to consider when a situation like this comes.

Some companies decide to go with open source when they’re presenting a new technology. For example, Tesla is one of the leaders of the “open source movement”, making its patents’ open source Linux code available.

“Technology leadership is not defined by patents, which history has repeatedly shown to be small protection indeed against a determined competitor, but rather by the ability of a company to attract and motivate the world’s most talented engineers. We believe that applying the open source philosophy to our patents will strengthen rather than diminish Tesla’s position in this regard,” Elon Musk wrote in his blog.

However, companies that do this probably have a version of their technology that is being kept closed, to preserve their uniqueness and integrity as a company.

Laika is a platform for matching Balkan Tech professionals with IT Companies. Sign up, start exploring.

--

--

Sara Miteva
wearelaika

Senior Technical PMM @ Checkly | Secure your app's uptime with Monitoring as Code | https://www.linkedin.com/in/sara-miteva/