Paying for Open Source
Open source isn’t as free as you might think. Sure, we can go through the tens of thousands of projects we can see on GitHub. Pick one, pull it down and start using it right away. Sounds free to me as well, but we should look at the cost of doing this. There is a misconception that it’s free and sure you don’t pay for it, but you do. Stop looking at it like it is free but more so that is community supported software. Someone is paying for it even though you might not be. Either in time or in donations.
The cost of using a framework can be little to nothing. But the cost of replacing it can and will add up. So, in picking your frameworks see how well they are supported. The schedule framework we used in our previous posts. This is well supported but it’s a very simple framework. If we had to replace it that would cost much in the way of time. But if we are using Steeltoe throughout our .NET app and use many of the features. Replacing it or one of the features would cost some time to do. Time to implement or replace a framework is the biggest cost to using it. So, when picking a new framework treat the process of selecting it like you are paying for it. Because you will pay for it if you have to replace it.
Applications like databases or platforms are very tempting to use. Why pay for SQL Server when we can get PostgreSQL for free? Well, Let’s unpack that. Sure, PostgreSQL is free but does it have full feature parity to SQL Server? It might come close. But if something goes wrong do you have someone to call to help fix it? And how long will it take. So, the cost is there for the time and expertise you might need to keep on staff to manage this. This is especially true when it comes to platforms. If this is the model you want to go then know this going in.
Anything that is open source should go with the same amount of scrutiny as paid software. This includes frameworks not just applications and platforms. Don’t just let a developer add something to a project because they Googled it. If you are using open source software take the time to keep up to date with what is going with it. Following the project lets you see what changes they are making. If you are using open source software consider supporting them. Some projects take donations if they do consider donating.
Lastly if making the jump in to open source software is too risky for you. Look at productized offerings. Products like CockroachDB or Confluent. Both offer solid productized offering of popular open source software. They add in extra features and have support if needed. They make this jump in to open source a little less scary.