11 Jun 2019 - by 'Maurits van der Schee'
For us (professional software developers) there are open source libraries and tools that cover most of what we are doing. Even in commercial projects we can often leverage these as their licenses are often permissive towards commercial use. Which raises the question: When do you write your own code? On a GDS blog I ran into the "open source pyramid" as advocated by JP Rangaswami:
This is a pattern I have often encountered in commercial software companies. I have seen exceptions to this rule when the software is very important to the company (for instance part of the strategy or "core business" of the company).
When "open source" is part of the companies strategy then Buy is often not an option. In such a case the pyramid reads:
Contributing and forking is an essential part of taking part in the open source community. Companies that keep tools and changes for open source software to themselves may do this to protect their intellectual property or just because publishing takes extra effort. Other companies are creating their own open source software instead of collaborating in existing successful open source projects. This behavior is an example of the famous "Not Invented Here" syndrome.
The Build strategy is often applied without much consideration for the long term costs. Although "build-your-own" often seems faster and cheaper, the truth is that the majority of the costs of software is spent during it's maintenance, not during it's creation. And even the costs of creation of software is often underestimated, especially testing (for performance, security and functionality) and documentation (for developers and users).
Bottom line: Think twice before starting a new project.