I have been so busy lately, that during the end of an interview I was performing for a candidate, the interviewee told me over small talk that if we are using Moq as an organization we may want to reconsider that. My eyes went wide, because we do use Moq, but not nearly as much as FakeItEasy now so we are probably safe. It blew my mind to learn about what Kzu did. Sadly, for Daniel Cazzulino (Kzu), he has signed his own death warrant. I can tell you with 100% certainty there are corporations who have taken this as a threat since he is openly collecting software developer PII and storing it on a system he owns. I don’t care if it is encrypted, I never agreed to this and that’s the same line of reasoning so many people are taking. The trust is gone 🖕, so ta-ta 👋, so long Moq. This was nothing short of a temper tantrum by someone who wants to be paid for their hard work. Unfortunately, if you are working in the Open Source Software (OSS) space, then you are barking up the wrong tree.
Context links
- https://github.com/moq/moq/issues/1374
- Open discussion about baking SponsorLink into Moq.
- Spoiler: Everyone is pissed off.
- https://www.cazzulino.com/sponsorlink.html
- Kzu owns SponsorLink and wants you to pay for Moq or he will annoy you with build warnings.
Why I openly mock OSS
I will often choose to not use open source libraries for the same reason I don’t believe in bonuses as compensation. There is no guarantee that you are getting either one of those things. I always warn people when they are getting bonuses, “Bonuses are great, but don’t think of it as part of your salary because one day you may not get that bonus and you shouldn’t be depending on it either.” I feel the same way about OSS. OSS is awesome! It allows us to dick around with new code that we probably wouldn’t be allowed to at work or if we are just looking to learn something new for the hell of it. I am in no way shape or form saying that OSS is bad – it’s amazing and I love that it is a thing.
However, from a professional standpoint I don’t trust it 😊 because I cannot depend on its owner to not do something bone headed like what Kzu did above. Not only is morally reprehensible, it is incredibly dangerous because at least what he did wasn’t that bad. It could have been far worse like what a developer did in the NodeJs world who wanted to punish Russia for the war in Ukraine. Regardless of their motivation – this is an excellent example of why I don’t trust OSS for professional use. I have been burned repeatedly by OSS on projects which were all choices made by other developers who were trying to reduce costs or just didn’t care if the project was safe or not. It was from this that I learned, I would rather purchase software from a reputable company rather than be at the mercy of a part time hobbyist gone rogue demanding a payout because SURPRISE you don’t get paid for developing things for free!
Setting expectations
Every single piece of software I have written that is on my GitHub is something I did because I thought it would be fun, cool and reusable. I have attempted monetization before and I put the least mount of effort into doing so because that wasn’t my primary goal. I have a full time job I don’t intend on leaving, so my side projects will always come second. Therefore, the trade off is simple.
The reason I can confidently say this is because no one pays me to work on these projects. However, if you find inspiration in something I did – then good for you. I am especially happy if it saved you time or taught you something new. This is the same thing I want for people who stumble across my blog. I have adds placed in places that won’t get in the face of my readers because I don’t care – the Ad monetization was more of an experiment than anything else because I wanted to see how it worked. I made pennies and I could care less. I have a PayPal link at the top right – I don’t bash people over the head to pay me, but hey if you want to throw a few dollars my way – THANKS! However, I don’t expect ANYONE to pay for my work because I am putting it out there for free!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
OSS community temper tantrums
On more than one occasion I have witnessed blind optimists get upset at companies for taking OSS and making it their own. This is a "cake and eat it too"
situation. You cannot make something free, then be upset when people take it FOR FREE. However, the OSS community will find a way to be upset about it. This is why I openly mock OSS because it’s the equivalent of watching someone poke themselves in their own eye with their thumb then blaming everyone around it for something that was very clearly their own fault. Stop throwing temper tantrums it’s just childish.
Elastic versus Amazon
Not too long ago we saw Elastic getting butt hurt over Amazon “taking inspiration” from Elastics hard work. Elastic was forced to change their license as a result to make it more strict to prevent large companies like Amazon from taking their code, rebranding it and then getting rid of the original creator from their AWS space. Now before anyone calls me a boot licker: Yes this is a scummy practice, but wasn’t illegal! So once again, know what you are getting into when you OSS your stuff. That is the authors fault, not the person who forks your free software.
General Microsoft hate
Many people in the non-Microsoft (MS) world love to hate on MS. Those people are very much usually living in the Unix, Linux, Mac space (*Nux). On numerous occasions they would point at something that the OSS community would do and then be with mouths agape and outraged that all of a sudden MS would make their own version of it for profit?! How dare they! I primarily use MS technologies for my personal and professional work and I have to say, this doesn’t bother me at all. I like code quality, dependability and customer service when I need it. I don’t like depending on the good will of a fickle community that expects that free work drive innovation. If you are getting into OSS, then you need to know that you aren’t getting paid, so once again if you are upset that you are not getting paid that’s your fault.
I would always joke with OSS enthusiasts that MS is brilliant because they would watch the OSS community try something. Wait for them to work out the kinks, swoop in, fork the branch and manufacturer their own version of it. More often than not the MS version would come out near perfect (obviously a subjective opinion). So if that’s the case, who is the smart one here? Scummy? Maybe? But you OSS dumb-dumbs keep giving them the code for free! Stop it!
Amazon
If you haven’t noticed already, Amazon is constantly taking popular Apache software, forking it and rebranding it. So this practice is alive and well. It’s not going to stop, so stop getting upset about it. This is essentially what happened between Amazon and Elastic.
Proper ways to monetize
People like Kzu and others looking to get paid for their hard work should take inspiration from people on YouTube and other venues where you are literally consuming their content for FREE. I am not saying it’s perfect and I don’t guarantee pay, but frankly you chose this path so you have no one to blame but yourself. I continue to work a job for a company because I like stability. If you don’t want a boss and you want to be more liberated then good for you, but don’t complain about something you chose. Don’t like it? Want stability? Get a job!
- Use Patreon or other things where people can pay you for your work monthly.
- Let everyone who uses your software know that the future versions will be pay for only for corporations. If your software is being used commercially I do believe you should be paid. Many once completely free projects are pay for now such as:
- iTextSharp – I used them for a long time when they were a port from jTextSharp and it was free. It’s okay software. When they went commercial, I obtained a quote for their software and told them to shove it because it was outrageously expensive in comparison to competitors. Regardless – they still stand today!
- EPPlus – I still use them today and consider them invaluable. Allows me to create Excel files via C#. I use it personally, but if I had to use it commercially I would consider paying because the software is that good.
What I appreciate about these OSS rooted projects is that they didn’t use gorilla tactics to force payment. They were smart and used licensing.
Conclusion
Don’t get into OSS thinking it is a noble cause. You should be paid for your work, but you should not expect to be paid for it if you are giving it away for free. If you produce something for free, then the reward was the knowledge gained, the people you affected and the enjoyment spent. If it feels like a job, then stop doing it.