How and why to open source the company internal tech
How do you prove the business value of open source to higher management? Many of us have enjoyed this dialogue with the boss (or even with the boss’s boss), right? That’s a hot topic that may result in overly heated discussions and frustration (or worse...). And the sharpest point is often the costs associated with pushing the company code up for everyone to view and possibly even contribute to.
We can probably split the costs into 3 big buckets:
- Legal costs
- Engineering costs
- Developer relations/community/marketing costs
At my previous workplace this dialogue, or rather the process, has lasted for well over 2 years and is still ongoing with a bonus, the 4th costs bucket called "the missed opportunity costs". I’ll reflect on it all once my NDA expires in March.
Guess that’s another reason to follow me ;-)
At this point in life, I have the luxury to contract for a company who has decided to embrace the open-source approach and has shared nearly all products built for internal purposes under popular and permissive licenses such as Apache2, GPL3 or MIT for the small things.
So the code just went up on the GitHub with the licenses slapped on accordingly. What happened next? You have guessed it. Nothing significant.
Once again. Production quality code designed and built by experienced engineers has been shipped to the GitHub under standard permissive licenses and the world didn’t notice.
So what does it take for the world to notice open-source initiatives?
I will spend 20-40% of my time to try to gift-wrap and polish the GitHub repos, make the readme/contributing/getting-started in a way the world can comprehend. I will reflect on what I/we did and the corresponding results on my dev.to blog along with calculating our costs vs the opportunities. So that you can make a case for your boss and your boss's boss out of our efforts.
The first internal project I have started to look into is Ptah, a vue.js based landing-pages builder - https://github.com/ProtocolONE/ptah-editor
It is a tool for non-techy people to easily build progressive web apps. You can use Ptah as a standalone app, extend it with additional templates and widgets or plug it into your CMS. We even have a demo.
By now I’ve put some makeup on the readme, added contribution rules and a docs stub. Also, I am a few hours off the call with the development lead and can now clarify the docs and start playing with the thing.
What's next?
This may be a once in a lifetime opportunity that somebody tries to make a business case of open-sourcing the internal tech and documenting the corresponding process in a programmers' friendly way.
In the next long read I'll share how I've been tweaking the repo landing page on GitHub, how did posting on Reddit help and how I discovered that we didn't really unplug internal systems and company Amazon accounts. Welcome to dev.to/tooevangelist