Over the years, you might have spent a lot of money investing in new developments and Intellectual Property and you may wonder what you should ever consider opening your source code.
At first glance, if you’re living in a European country, your guts might even tell you not to do this: if I invest in new technology, why should I share it with everybody including my competitors? Won’t it be destroying value and jeopardizing my business?
If you feel so, the goal of this article is to give you a few reasons why you should reconsider your position.
Don’t fall in love with your code!
- Unless you are working on highly innovative topics for defense, most of the code you need has already been developed somewhere else.
- If this does not exist yet, 20 other people are probably currently working on it.
- The development models have changed over the past years. The current paradigm is now assembly coding (Maven, Composer) rather than developing from scratch.
- Collaborative coding is the new way to code with successful tools such as GitHub for code repository and the StackOverflow community for coding questions/answers.
- Products have a much shorter life than pets.
Don’t fall into the most common pitfalls!
- A bad code is useless: it leads to too much maintenance and support
- A good code is useless if nobody uses it
- The larger the development team, the less the productivity
- A high team turnover leads to delays and quality issues
Get the best of your team!
- Hire the best developers in town
- Invest in processes and quality tools
- Consider methods and organizations to deliver projects more rapidly
- Create emulation and motivation in your team
How opening my source code can help me with this strategy?
You don’t necessarily need to have full open-source products to take profit of the open-source community. Simply consider the part of your code that is not a differentiator on the market.
By sharing parts of your code:
- You leverage a community of heavy experts who share the same passion for solving technical problems. Your problems get solved quicker.
- You have a window open to the world, you follow the new trends in software development faster than working in a closed environment. Your developers are not left behind.
- Your development team feels part of a community much larger than their internal team. They will find there the emulation and rewarding they might not necessarily be able to get in their own company. Since rewarding is the most efficient driver for motivation, the productivity of your team will increase dramatically.
- Hiring good developers is not an easy task and if you want to attract talents, being part of a community is crucial to develop awareness of your company.
- Think of the PR and advertising budget spent by your company. By being part of communities, you communicate for free and develop a brand name in the developer community. Developers spend a lot of time in front of their computer, including social network and forums – eg. stackoverflow – they are great influencers.
What about licensing?
- Making code public doesn’t mean developers can do whatever they want in terms of usage. It is important to tell people how they can use the code. Whether you want it simple and permissive, you are concerned about patterns or you care about sharing improvements, you will find the answers you are looking for on the web site launched by GitHub Inc. to help companies choose their Open Source license (“choosealicense.com”).
- As a thumb rule, it is always a matter of give and take: the more you give, the more you’ll receive.