DEV Community

Cover image for Pay your rent from open source 💸
Liyas Thomas
Liyas Thomas

Posted on • Updated on

Pay your rent from open source 💸

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 hoppscotch.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.

GitHub → Web app →


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.

Top comments (96)

Collapse
 
lukegarrigan profile image
Luke Garrigan

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!

This shook me, I love your enthusiasm for creating mate, keep it up.

Collapse
 
liyasthomas profile image
Liyas Thomas • Edited

Make beautiful things.

money is not the mission, money only funds the mission.

mission is not to live forever, it is to create things that will.

Collapse
 
dentych profile image
Dennis • Edited

I enjoy reading about your enthusiasm.

I have a slightly different problem - I have come up with some ideas in my past, and have started building them. I will investigate, try out new languages to solve the problem, but as soon as I have figured out my roadmap for solving the problem, I lose all interest.

I think it comes from the fact that I created many web-based projects when I was younger. So once I feel a "deja vu" kind of feeling, I gradually lose interest, because I've done it so many times before and don't get paid for it.

I am still waiting for that "omg I need this" idea to come forward and really stick :P

Anyways, I enjoyed the article. Thumbs up :)

Collapse
 
liyasthomas profile image
Liyas Thomas • Edited

I lose all interest.

Trust me my friend, this happens to all. But do you know how I find motive to continue working on existing or new projects..?

It's because I believe "motivation is a choice."

Don't wait for that motivational quote to read, or that youtube video to boost your self confidence or that advice from a great personality.. Take responsibility and make things. Motivation is a choice.

Collapse
 
dentych profile image
Dennis

That is true. I used to be able to keep the interest, and have made my own lightweight social network for a school I went to when I was younger.

However, now that I have tried that many times, I like the technical challenges like algorithm solving more than I like making a complete usable product :)

Thread Thread
 
liyasthomas profile image
Liyas Thomas

You'll grow everyday ✨

Thread Thread
 
moreurgentjest profile image
more-urgent-jest

I could be motivated to work on something like this ... maybe:

"motivational products don't work. but our demotivator products don't work even better."

Collapse
 
atulcodex profile image
🚩 Atul Prajapati 🇮🇳

What a thinking, mindblowing haaaa

Collapse
 
nthmost profile image
circular firing squad captain

I have sort of the same problem, Dennis.

Try starting the project well before you've solved the problems. Just start. Literally anywhere except for the algorithmic or new-skill parts.

Start in the middle. Start with the tests. Start with a command line app. Start with a UI. Whatever.

Since the enjoyment for you lies in solving the juiciest problems, do the parts of the work that are trivial FIRST and save your dessert for last.

Collapse
 
dentych profile image
Dennis

Good suggestion. Will definitely try something like this for my next project! Maybe even on my current project that I have stalled. Try to reopen it and take this approach. Thanks :)

Thread Thread
 
liyasthomas profile image
Liyas Thomas

Go for it my friend

Collapse
 
energeticpixels profile image
Anthony Jackman

You sound like me. You enjoy the chase of the solution. Almost like a scientist. We crave the incomplete puzzle in front of us. And the less we see of the 'completed picture's from the start, the bigger the craving.

Collapse
 
dentych profile image
Dennis

Yes! I like the technical side of it. How do I solve X in programming language Y? I was also playing with GPIO using Go on Raspberry Pi. As soon as I found a package, it turned a little boring. So I think my next project will be to manage the GPIO using /dev/mem or something even lower level, just for the challenge.

Thread Thread
 
liyasthomas profile image
Liyas Thomas

Like minded people are AWESOME ✨

Collapse
 
liyasthomas profile image
Liyas Thomas

💯

Collapse
 
aadibajpai profile image
Aadi Bajpai

Is the problem you're trying to solve not something you experience on your own? I've found being motivated to do something that other people might find useful doesn't come close to doing something that you will find useful——and others (optionally) when you open-source your solution.

I am still waiting for that "omg I need this" idea to come forward and really stick :P

Exactly this! It doesn't need to be anything complex, you could maybe think about something trivial you regularly do to automate and grow from there?

Collapse
 
dentych profile image
Dennis

I have been working on a project that was born out of a need me and my girlfriend had. But after working on it for a few months it died out. I have thought about catching up on it again :)

Collapse
 
liyasthomas profile image
Liyas Thomas

Building things that ease up my works is as heavenly as stuffs other people find useful.

Collapse
 
stilldreaming1 profile image
still-dreaming-1

Actually I think GitHub stars could pay your rent. Microsoft would just need to change how pro/paid accounts work. If you are paying for an account, they should donate a certain percentage (say 20%) of your subscription fee to the projects you have starred. So if you have only ever starred one project in your life, it would all go to that. Otherwise it would divide up that 20% evenly among all the projects you have starred. You would only be eligible to receive money for your project if you yourself have a payed account, which would encourage more people to have one. Then we would just need to be cognizant to go out of our way to unstar projects we prefer to no longer support so more of our 20% can go to other projects.

Collapse
 
v6 profile image
🦄N B🛡

Whoa, I love it. I would voluntarily pay a higher price for my Github accounts for this.

Collapse
 
liyasthomas profile image
Liyas Thomas

Count me in 💯

Collapse
 
liyasthomas profile image
Liyas Thomas

That's an interesting thought! I wonder how much it is practical to an organization as huge as GitHub and were talking about millions of repos!!

Collapse
 
stilldreaming1 profile image
still-dreaming-1 • Edited

I don't see why Microsoft (the owners of GitHub) could not afford it. They would only be giving away a percentage of the money that comes in from people that pay for GitHub.

Thread Thread
 
liyasthomas profile image
Liyas Thomas

I wanna ask a genuine question here: what if there exists a platform that allows creators (especially developers) to accept donations and or recurring payments from fans (those who benefit from their works)..? more like a shopify for developers.

there're couple of such platforms already.. open collective, patreon etc.. anyways.. how cool it would be?!

Thread Thread
 
stilldreaming1 profile image
still-dreaming-1 • Edited

Yeah there are plenty of things like that, and I think it is cool they exist. The idea I was promoting with the GitHub stars is a little different. The general idea is there is a service that you are willing to pay a monthly fee for to get something in return, as in even if donations were not part of it, it is already a nice service worth paying for. Then a percentage of that monthly fee goes toward developers or projects you want to support. The idea is to eliminate as many barriers as possible (barriers to being willing to give away your money). So you would not need to go out of your way to decide to give away some of your money, you are paying the monthly fee either way. Which projects you star only affects which projects a portion of your payment goes toward supporting. It would be a nice way for Microsoft to give back to and support and promote open source developers/development. I think this could also give these developers the option to pursue more creative projects, not necessarily always needing to work on something super down to earth with an obvious benefit, but to really shoot for the stars to completely revolutionize programming.

Thread Thread
 
stilldreaming1 profile image
still-dreaming-1

I think I just grasped an element of your question I didn't understand before. Yes, I think it would be super amazing for me personally to be fully funded to just pursue my best and most interesting ideas as open source projects, and not just in my spare time, but to get paid to do work on it as many hours as I want! So far the coolest open source projects I have completed and released are living-test (a nodejs library that makes it possible to have a live testing experience in Vim when writing nodejs code) and vim-project-search (a workflow optimized search and edit plugin, with the latest feature being 3D code editing (from a third dimension, not the third dimension)). These are just the tip of the ice burg of my ideas. I am also fundamentally and deeply in tune with the flaws and limitations of the tools, languages, and techniques I use while writing code. The deepest fibers of my being used to cry out to me that there is something fundamentally wrong with how we write code, that there is a much better way. I searched and explored, and finally partially figured out what my intuition was telling me. But I don't have the time to implement my findings. Basically I think I know a way to synthesize the following concepts into a Kotlin library and some tools: type oriented programming as a replacement of object oriented programming, emergence driven development, contract driven development, expressing features very directly in the code, clearer code via expressing solutions as time travel paradoxes, purposeful programming, and lowering the bar of achieving 100% code coverage from a torturous undertaking to something that is fun and enforced.

Thread Thread
 
liyasthomas profile image
Liyas Thomas

You're awesome 💯

kindly share your GitHub link so that we could check out your projects.

Thread Thread
 
stilldreaming1 profile image
still-dreaming-1

I feel the need to express something I have been thinking about. Even though I say I wish I had more time to pursue these things as my day job, and this is true, I also can't really say there is not enough time. The time is there for me to pursue them more fully in my free time, I just choose not to. This is my choice, nobody is forcing it on me, and I don't regret my choice. Seeing as how this is my choice, I need to learn to be more comfortable with it and happy about it. Of course it is still somewhat annoying that I can't work on these things more on the job, but it's not as if I have fully pursued being able to do so and was shut down. I keep the flexible and practical job that I have for reasons I don't regret. There is still the possibility I will be able to pursue my biggest ideas on the job one day, even at my current place of employment. But I know now is not the right time to propose that. So I will keep doing what is best for the team and the companies services and customers. By doing the best I can with the time I do work, I still hold out hope that one day those two goals will align with each other, the goal of working on what really makes the most sense for this job and the goal of working on my biggest ideas. It is my hope that when I get to that point, as a result of the extreme value I keep getting better at adding to the company, I will have also earned enough respect and political capital to be able to negotiate that we develop those big ideas as open source projects.

So far I have had success with similar goals at this company, as in they keep giving me more and more freedom to do things according to my best judgement. Even if this does not work out as I hope, I still do not regret my decisions of how I have been spending my time. I am confident there is a time coming when mankind will be able to pursue their hobbies with a certain amount of leisure. I'm not saying life will be focused on that, but we won't have all the stresses and demands we have today. Anyways, I don't want to use this website as a place to preach, and we are now veering into my religious beliefs, but my point is, that is one of the reasons I don't regret how I spend my time. There is a time for everything, right now is not the time for me to fully explore and pursue my biggest and most interesting programming ideas. Anyway, I still have some time now to have fun pursuing these things.

Here are the links you asked for

Living tests - github.com/still-dreaming-1/living...
This is a Node.js testing library that organizes your tests in a strange style that makes it possible to run them as you write them and get immediate visual feedback, if you use codi.vim from Vim or Neovim. It is a bit outdated now as I don't write Node.js code anymore. I never moved it into one of the package manager repositories for easier install. If someone wants to take over as the maintainer, or fork it and maintain the fork, this might be for the best. I am still open to fixing reported issues, but people don't report any.

vim-project-search github.com/still-dreaming-1/vim-pr.... I use this daily when I work, and it has really improved my productivity. Basically it lets you search through the code of your current project, and potentially edit the code directly from the results, or you can easily navigate to the code from the results. It is designed to eliminate as much friction as possible, providing a very optimized search and edit workflow. A while back, I started releasing open source code for Vim/Neovim customizations and plugins. If I really want this stuff to be useful to the most number of people, I need to change the elhiv library to be fully uninstallable just by installing it from a plugin manager the normal way, with no extra steps or temporary error messages that scare people away or prevent them from wanting to complete the installation process. I may do this one day, but I would have more motivation if someone requests it or another person mentions their difficulty installing one of my Vim things.

I don't have any of my big ideas released as open source projects right now, other than an old attempt that didn't go anywhere called PurposefulPhp. My latest attempt to implement them has taken a more practical turn in that it has resulted in a currently very small Kotlin library that is immediately useful in improving the expressiveness of your code and allowing the compiler to catch more of your mistakes. I am using it in a closed source program I am making in my free time. I am going to keep this library closed source for now because I may want to donate it to the company I work for at some point, and would rather negotiate working on it as on open source project on the clock in good faith, rather than use the fact that it is already open source as a bargaining chip where I am somewhat trying to force their hand.

Thread Thread
 
liyasthomas profile image
Liyas Thomas

This is gold. Please allow me to quote your comment in an article which i'm preparing. I think more people need to read this so that they'll also be inspired as I did.

Lots of love, keep doing what you love.

Thread Thread
 
stilldreaming1 profile image
still-dreaming-1

Sure

Thread Thread
 
stilldreaming1 profile image
still-dreaming-1

Just an FYI, I am rethinking my decision not to release that Kotlin library open source very soon on my own. I will explain more about why when I have more time.

Thread Thread
 
liyasthomas profile image
Liyas Thomas

my inbox is open for y'all. ✌️

Thread Thread
 
stilldreaming1 profile image
still-dreaming-1 • Edited

Okay, so the only reason I'm saying this is I recently said the opposite, so I feel compelled to correct myself. Even though I said I will not be releasing that Kotlin library as an open source project on my own any time soon, I actually might. The truth is I have been highly conflicted about this decision for some time now, and keep changing my mind. I thought I had a moment of clarity when I was typing that last reply when I first explained my decision not to, but it turns out no. When you think you have come to a decision, it sometimes helps to think about if you are really willing to stick with that decision long term, no matter how things play out, or if you would regret it. Depending on the decision, it might be okay to change your mind, but other decisions you may need to stick to. I was thinking, what if I donate this library to the company I work for, and they accept it, and then later they don't allow me to open source it? It would belong to them and them alone. I would not be okay with that, and would regret my decision. It might be better to just get it out there as an open source project soon. That would not really be forcing anyone's hand, I do have a history of releasing things open source, so it's not like I'm just being manipulative, it's just being real. This way if they don't let me work on this open source project on the clock, I can still do so in my free time, and there will be proof it existed before I started writing similar code for them. What makes all of this both a little tricky and kind of nice at the same time, is this library I made is actually just how I write code now. Even if they don't let me work on it open source, I would end up recreating something similar for them, because it is really just the way I think now when writing code. To say that one person owns it would be like saying object oriented programming is owned by one company, and they will sue anyone else who writes OO code. In a way that is nice because it gives me a legitimate way to write code like this anywhere. At the same time it could put me in a difficult place if I'm working on the same classes at work and in my off time, and I can remember the differences between them and I why I made the decisions I did. This would make it difficult for them not to become more and more similar, perhaps even identical. But that is also a line of reasoning I can use as to why I should be allowed to work on it that open source library on the clock, and why we should use that library for our work projects.
Another possibility I have considered is leaving it closed source forever, owned by me. I could then use it to develop closed source programs that I release as pay for apps or services. The idea is this library and other tools I build around it would give me an advantage in quickly building high quality, robust, almost bug free programs. I realize this sounds a little selfish, but if I made enough money off these, I would retire, and then would have more free time, which I plan to spend in a very non-selfish way. But let's say this worked out, and I ended up donating my free time writing code for a non-profit organization. I would end up wanting to use those same tools and libraries while working for them. So I guess open sourcing it now is the only way to go since I want to be free to use this library and other tools I build around it in my personal projects, and at any organization I work for.

Collapse
 
michaeltharrington profile image
Michael Tharrington • Edited

I think another angle to think about is that while a developer may not directly make money from an OSS project that they contribute to, they can build their portfolio or perhaps even be discovered/hired by a company because of their OSS contributions. This is an indirect route to getting paid and it's also a big "if", but it's worth mentioning that OSS work could be a catalyst for money making.

This is a great discussion topic, by the way!

Collapse
 
n8chz profile image
Lorraine Lee

My hope is certainly to be discovered, or somehow power through the fact that entry level jobs are basically nonexistent, which I'm guessing requires feats of astonishing brilliance. My main worry is that I'm not talented enough to do nontrivial work.

Collapse
 
michaeltharrington profile image
Michael Tharrington

Even if you're not the most confident with your skills at the moment, I think that's okay. If you show that you're actively trying to learn, I think that counts for a lot. Everybody has to start somewhere!

I wish you the best of luck!

Collapse
 
liyasthomas profile image
Liyas Thomas

I too wish you best of luck and an awesome career ahead!

Collapse
 
liyasthomas profile image
Liyas Thomas

That's a huge topic for discussion. Since we're talking about OSS, where source code is publically available there's lot of chance of duplication. I wonder how to solve this forgery problem.

But projects like devfolio, no cs degree are doing extraordinary things.

Collapse
 
jitheshkt profile image
Jithesh. KT

You sound almost like me, except the part that I have no fraction of success stories or ideas to share. Only a bunch of unfinished projects in my Gitlab account. Your write up is a great motivation. Hello from Kerala! Hope this place is familiar to you ;)

Collapse
 
liyasthomas profile image
Liyas Thomas

I'm from Thrissur 💜

Collapse
 
jitheshkt profile image
Jithesh. KT

Ernamkulam 😍

Thread Thread
 
liyasthomas profile image
Liyas Thomas

I was at Kerala Startup Mission Kalamaserry for 2-3 months before I went to Kozhikode Cyber park. Now I'm at Kozhikode.

Thread Thread
 
jitheshkt profile image
Jithesh. KT

Awesome! I am basically from Malappuram. Been here for around 8 years. Got a telegram id? Connect further?🙂

Thread Thread
 
liyasthomas profile image
Liyas Thomas
Thread Thread
 
robole profile image
Rob OLeary

Wow. I visited Kerala last month. 🌴 God's own country . Pity I didnt know you from here beforehand!

Thread Thread
 
liyasthomas profile image
Liyas Thomas

Next time you visit Kerala, do let me know 😀✨

Collapse
 
netplayer profile image
NetPlayer

"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! ". My version is that I am booked for the next 100 years, only I'm already 56 and counting.

Collapse
 
yaser profile image
Yaser Al-Najjar • Edited

Thanks Liyas for starting this topic.

I was once looking for an open source license that says:

Use this software personally for free, but not for professional use.

Apparently, OSS never works that way... it's free in essence.

So the way to go is to launch a premium service for highly desirable features.


I don't know why the author of Sizzy has bitter feelings about the experience of publishing his tool as an OSS:

  1. He validated the need of his tool.
  2. He validated it twice, by neglecting it for some time but the usage numbers kept increasing.
  3. He found the perfect mix of what features people exactly wanted, by giving it for a broader audience for free.
  4. He gained followers (aka potential customers).
  5. He finally launched the premium product.

If he can't see all that as a positive experience, I don't know what to say!

Collapse
 
liyasthomas profile image
Liyas Thomas

Afterall, contributing to OSS community is a free will. No one's gonna force you to do anyways. But what I must say is that, all things premium/paid kinda services are made because of open source projects.

What if all npm packages were paid services..? I can't even imagine what would've happened! No one will ever make a facebook, twitter, google, and nothing.

Collapse
 
helad11 profile image
Helad

Hey, My name is Elad. I'm the CMO at xscode.com
We are creating a licensing and billing platform for open-source developers.
We launched yesterday our pre-registration website and the platform should be ready in the beginning on November,
I would love to hear your thoughts about our mission and to see if it's a platform that you would use.
You can check it out here:
bit.ly/2mDZ3Cn

Collapse
 
liyasthomas profile image
Liyas Thomas

That's a great plan. Looking forward on its execution 🎉

Collapse
 
helad11 profile image
Helad

Thanks, will let you know once we will be up and running

Collapse
 
leadegroot profile image
Lea de Groot

I came across TideLift (unaffiliated) yesterday, which seems like Patreon for OSS - cool name (“a rising tide lifts all boats” nice). Hopefully it is a fair service and takes off, as a way for independant devs to be funded to maintain their OSS projects!

Collapse
 
liyasthomas profile image
Liyas Thomas

Cool.

Collapse
 
codenamev profile image
Valentino Stoll

Firstly, thank you for your contributions! Secondly, I can't help but share your pain with the catch-22 of OSS. I have made many tools that continue to save me countless hours of pain and misery; and after sharing these with the world, and seeing others benefit, I can attest to the zero-sum game of profitability. Hopefully this is something GitHub can fix.

However, not all is lost! Don't despair. There are working models out there for making an OSS project a sustainable source of income. You may find this interview with Mike Perham (creator of Sidekiq) encouraging 😄

Collapse
 
liyasthomas profile image
Liyas Thomas • Edited

Initiatives like GitHub sponsors are doing pretty much great things. But that again gives privilege to only developers and similar streams. There's lot of other creators like artists, musicians, etc. They are struggling to make a living, to be honest.