DEV Community

Cover image for 3 Principles to Speed Up Your Development Process with Open Source
Netanel Mohoni for xs:code

Posted on • Edited on

3 Principles to Speed Up Your Development Process with Open Source

Most software companies use open source components in their products in order to save time and accelerate their R&D pipeline. But open source isn’t just code. Focusing only on the code would be like driving an eight gear Ferrari while keeping it in first gear. I will discuss below what three principles you should adopt in 2020 to maximize the potential of open source in your development pipeline, so that you can get yourself into top gear.

Principle #1: Maximize Github’s potential to the fullest - Unlock copyleft licensed repositories using dual-licensing as a purchasing model

A large portion of software companies enforces strict policies preventing the use of any copyleft licensed code in their products due to the usage limitations created by those licenses. Some companies even use expensive tools and a battery of lawyers to ensure these policies are enforced company-wide. By ignoring copyleft licensed code, they are essentially ignoring a wealth of knowledge that open source has to offer. They are giving up on the opportunity to use excellent, well-maintained code, while investing a lot of time and money to write the same code themselves, or compromising with other alternatives.

Adopting dual licensing as a purchasing model can unlock millions of repositories for commercial use. The idea is to initiate a request for a paid license that is given in tandem with an existing restrictive license. The paid license can either be a custom license, or a standard open source permissive license supplied by the developer(s) behind the code. While it is true re-licensing copyleft licensed code can sometimes be challenging, there are still solutions available that can work for both the needs of the developer and your R&D pipeline.

Most of the open-source components with restrictive licenses (such as GPL) are maintained by a group of developers who are most likely looking for donations for their projects. You can offer to these maintainers an option to purchase from them a permissive license, and kill two birds with one stone: you will enjoy a well-maintained repository with a permissive license, which was unavailable for you up until now; and the maintainers are now motivated to keep maintaining it, which opens the door for more companies to purchase licenses to help keep the project going. An example of this dual license approach can be found on the very popular Vue Tables 2 project, which offers a GPL version of the code and a paid permissive license for companies.

Principle #2: Get support packages from the developers behind the code you use

The whole idea of using free software is to speed things up, so why is your team wasting over 25% of their maintenance time to deal with open source components? It’s ok to fix small issues yourself, but when it comes to more complicated problems with code that you’re not familiar with, why not simply ask for help from the developers who actually know the code like the back of their hand? Their solutions will be faster, more creative, and won’t break anything else, while your team gets to invest their focus and energy in your core business. This helps save time for your team and reduces costs for your software development. You can get support for almost any open source project and give your team the peace of mind they need. Plus, the fixes you’ll pay for will most likely be merged into the main branch, so the rest of the community will enjoy your contributions.

Principle #3: Paying for premium versions is sometimes cheaper than free code

The “open core” model (freemium) we all familiar with from the big vendors can be used for the small components as well. When you need a feature that doesn’t exist in a free repository you are using from GitHub, you can simply hire the repository’s developers to build the feature and maintain it for you. It’s a win-win situation. Your team gets customized code and the developer gets supported.

There are over 40 million open source developers out there and they are very good at what they do. By tapping into this talent pool and working directly with the creative minds behind the code, you can get things done better and faster and easily shift your team to eighth gear. The evolution of open source is here and it's time to push the pedal to the metal with your development process.

Top comments (4)

Collapse
 
sjones6 profile image
Spencer Jones

This post suggest that Vue is licensed under GPL, which is inaccurate. Vue is licensed under MIT: github.com/vuejs/vue/blob/dev/LICENSE

"An example of this dual license approach can be found on the very popular Vue project, which offers a GPL version of the code and a paid permissive license for companies."

Unless I'm misunderstanding this line?

Collapse
 
netanelmohoni profile image
Netanel Mohoni

Yes, I missed the links in the article :-/
will fix asap.
github.com/matfish2/vue-tables-2

Collapse
 
netanelmohoni profile image
Netanel Mohoni

Done :-)
Thanks for the comment!

Collapse
 
sjones6 profile image
Spencer Jones

Welcome! Thanks for fixing!