Developers And Open Source
Developers and open source. This is one of the weirdest relationships to ever try to explain. Trust me I attempted to explain this to my wife and the conversation went down in flames. With her response “why do you care?” First open source. The idea that you write code (or anything you can open source) and make it available to all. Free, no charge you are doing it for the love of doing it. But we all have day jobs. Some better than other but we have them.
So why would a developer want to write open source code. Or contribute to open source software or OSS for short? First let’s get the paying the bills part out of the way. Most of us cannot afford to work for free and live off the generosity of others. If we could I would be updating the documentation of FreeBSD still. So if developers don’t want to work for free why do we prefer working with OSS when we develop? The simple answer is, well there isn’t one. So let’s look at some of the reasons.
First transparency, you are asking me to develop with someone elses code and I need to see it. Nothing is worse than betting your review, raise or what ever to a close framework of code that didn’t do what it said. When OSS is a gut check to that. Sure, no developer will ever read through every line of OSS code they use. But for the rest of us it’s impractical. We have lives and whatever that prevent this. But if I needed to I could look at the code make comment or corrections for them to change or correct. Sure they have the right to accept or reject your claims. But at that point you can fork it and go your own.
Next it is this weird concept of platform. This right here is the hardest to explain. Developers won’t developer for a platform because they feel it binds them to it. That is a mouthful so let’s break this down. First no developer wants a close platform. They want something open to say that they can be part of the full solution. Develop to Kentico, “F$#k no I hate that”, develop to Kubernetes?, “I am all in with k8s and here are my Helm charts”. OSS, makes a developer part of the solution. They have an opportunity to own part of the solution. Why productized OSS offerings are so popular with developers? It gives developers OSS and it gives Ops a supported solution to manage. The trick is to make sure the productized version of OSS you choose isn’t bastardized.
We also have the price. This gives the ability to try before you buy. Yes, you can say “other software is free for X amount of days”. And this does work, you can try it if you don’t like it you can shut it off. But this is bound to a time frame where people rarely see the benefits. Look at the Terraform business model vs any of its competitors. Terraform is free, when you need enterprise features, you buy them. You can buy them in a few ways to meet your business needs. Any competing product requires a PhD in ELA to understand. When developers are able to adopt something they will own it.
We also look at OSS as other developers putting themselves out there. It takes a lot to start, contribute and support OSS. When your dev’s want to uses OSS don’t stifle it. Know the cost and I recommend that you line up a few productized offerings. Weigh the options if you are going to need for productized.