hello world! 👋

This is my first #discuss thread and I want it to be on something relevant rather than "Which IDE color scheme does devs like?". This went a little bit lengthy than my usual articles but I think it's okay.

It’s been a while since I've written something here, but I don’t want to write articles for the sake of “keeping the blog alive”, screw that.

Last week, I came across an article "GitHub stars won’t pay your rent". If you haven't read that yet I'll give a TLDR; It is about how Kitze (author of Sizzy) turned his OSS project Sizzy into a profitable business.

What made me curious is the title "GitHub stars won’t pay your rent" and I think it is funny because it is true 😕.

Dear devs, we've been there. 99% of us literally received 0 (zero) amount of money doing open source projects.

This is because people misunderstand how open source works all the time, and we aren't any different. If you want to make people pay for software that already exists, then the only realistic way is mild extortion, and that means a proprietary license. But the whole idea of free software is that once the software exists, it "belongs" to everyone (in the sense that every single person on the planet is free to use it, inspect it, modify it, and share it). You can ask people to pay for it, but why would they? It's already "theirs", it already exists, paying for it can never be anything but a courtesy to anyone who already sank time into it. This is why donation-based projects are struggling: you're asking people to pay for something they already have.

However, when it comes to making people pay for software that doesn't exist yet, things look very different. Plenty of people and companies do, in fact, spend considerable amounts of money on making software exist that they need to exist. This is how the majority of serious open source projects get funded.

Take, for example, Firefox. Regardless of what the Mozilla Foundation's marketing copy says, it does not exist because a bunch of philanthropists decided they need to make the world a little better - the only reason the project is viable is because Google (and a few other companies) massively benefit from its existence, and hence pump substantial amounts of money into its development. Or take Linux (the kernel, that is). Thousands of companies worldwide benefit from the existence of a free, tinkerable kernel, for all sorts of reasons: cloud hosting providers benefit because it makes their operation affordable for the masses, server hardware manufacturers benefit because it increases the customer surplus (money not spent on OS licenses can be spent on hardware instead), consultancy firms benefit because they can now sell support contracts for an OS that they can control but don't have to maintain themselves, research facilities benefit from not having to develop a custom kernel for their supercomputing clusters, etc. So all these entities help fund kernel development.

Another model is for companies to pay for desirable features, basically using their money to vote on the future direction of a project. Apart from the scope, this is essentially the same payment model though.

There are plenty of ways to get paid for your work, the proprietary model is just one of them.

Open source IS NOT A BUSINESS plan.

It is a DISTRIBUTION plan. You DISTRIBUTE using open source. You need to ATTACH A BUSINESS PLAN to your DISTRIBUTION plan.

However, because code IS the most valuable byproduct of a developer give away code is give away the MOST valuable asset. Is like a chef giving away the meals ie: Is not just the receipts is the full meal. Code is not just a description by mean of cheap building is the END product.

Why you will pay the chef if he already give you the food? And the way to have the food without the chef?

Open source is a very idiotic business plan WITHOUT a seriously extra advantage. In the case of single/small team of developers is the worst possible business to have: Everyone that is claimed to make money with open source have a BIG extra thing as side that is so valuable that the value of code become irrelevant.

Think like restaurant where all the food is free. 100% total free. BUT here is where the most popular actors are. Have a photo with them cost $$$$. In this convoluted scenario the popular actor are the BIG thing that this place have that is much more valuable than the food. ​But now you are a street food seller and give the food for free. And in you place no one of notoriety visit and you don't have anything of value worth a damn. Obviously you will say that guy is a idiot.

That is the same of open source: Apart of your code what exactly can you give? That TRULY is big enough?

4 weeks back, I published postwoman.io and I open sourced it on GitHub so everyone can use it and contribute. People loved it. The project received 15k+ stars. Became the #2 product of the day on Product Hunt. The analytics were going crazy. I couldn’t believe what was going on.

I'm closing in on 30 public, nontrivial non forked repos on GitHub. Since GitHub's inception, I've received a total of $200 in donations for my OSS projects and many job offers from people who are familiar with my work. I don't make money off OSS, and never have (at least not directly).

But I just. can't. stop.

I can't. I've tried suppressing the urge to create, but I just can't do it. Ideas, challenges, problems, unmet potential, are everywhere, and I can't unsee them. On many days I despair that I won't live long enough to build even a tiny fraction of the things I see in my mind. It's infuriating!

And so I do my best to keep my focus small. I have a full time job, so I try to keep my extracurricular coding down to at the very most 3 hours a day if I can, but my idea list just keeps on growing faster than I can keep up.

I keep thinking that maybe I'll calm down as I get older, but I started at 8, and I'm 23 now. If I had no financial pressure at all, I'd be doing this stuff all day. The only difference would be that I'd burn through my list faster.

But long story short, don't write OSS for money. Have a full time job and do OSS on the side.

If you want a heads up on my next projects, or just want to chat about the web, make sure to follow me on Twitter @liyasthomas 💙. If any of my projects helped you please consider making a small donation on PayPal to help me pay my server bills and rent.