I'm closing in on 100 public, nontrivial, nonforked repos on github. Since github's inception, I've received a total of $200 in donations for my OSS stuff, 1 job from a company that uses a product of mine as the foundation of their business, 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 44 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.
I feel exactly the same (with ~300 forks, ~3000 stars - not that it means anything). It's a creative urge, like writing music (which I also do, and I feel the passion for both is very similar).
I've received some donations, but nothing that could pay for anything significant, but I don't really see the donations as something that might eventually pay, but instead I see them as "thank you for the work", which is always appreciated.
However, I have seen some upsides, which are hard to put a dollar value on:
* Found staff for my company
* Been asked to be a technical proofer on a Manning book
* Made great connections with smart people
* A powerful sense that I'm contributing to humanity (even if it's in a relatively small way), rather than just being a consumer
There are probably other things that I've forgotten, but there's more value to OSS than just cash.
Have you tried charging for commercial licenses? They can be the exact same as whatever you license it as now, but with a price tag. Relatively speaking it’s very hard for a company to donate money, but very easy to buy things. I know you said it’s not about the money, but if you -do- want to make more from it, maybe give it a try.
Personally, I find it the case that when somebody makes something their job rather than their hobby, they'll slowly begin on a journey of losing interest. You can take out your anger on a job and leave it at work on the way out of the door - your hobby/project? That lingers with you at home. Maybe OSS is best on the side.
> But I just. can't. stop. [...] 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. [...] my idea list just keeps on growing faster than I can keep up.
If you really want to stop, well, I can tell you what worked for me. :/ Basically, burn out on it. Leverage that despair to turn aside. Increase it by focusing on things whose absence badly harm people, but where external constraints make progress largely intractable. Unripe fruit; unproductive research career planning. This degrades the reinforcement of little successes. Disengage from the list. Make it something that hurts to look at; don't review it; touch it less often; set it aside; forget it. Keep two or three open-ended and intractable projects around to serve as distraction from the rest. Incrementally pull back on seeing opportunities. Sort of a twisted mindfulness: see them swarm by; acknowledge them; let them go; forget them. With time, they become less in-your-face noticeable. Let's see... Make supporting past work a resented burden. Have stuff you enjoy doing and "care about" to absorb the displaced attention and effort. And so forth. Attack the system. So the hose can be turned off. Or at least down to dribbles. Just perhaps be clear on what you hope to accomplish by doing so. "This hurts so I want it to stop" is perhaps an insufficiently nuanced objective. FWIW.
Far from your count (I'm at 59 non-fork - had to look it up - for which many are very small, and about the same non-public/local).
I've noticed that the ones that got traction/stars/forks were entirely unexpected and started as one hour hackjobs (ex-mode for Atom, trim_patcher, 1st gen Xbox One controller kext, Matterfront) whereas the ones I just can't let go and pour genuine long term effort into are the ones getting zero stars/forks (ArchMac is like 12 years now and I'm still the sole user).
Not that I care, I'll just keep on scratching my own itches, and I learned a lot (and still do!) doing that.
I would just like to say, as someone who will probably never be as much a net contributor as you but has probably benefitted monetarily from your impulses, thank you.
When you're a creative person, you're like a tree : you bear fruits whatever you do, you just can't help it :-) (I took that sentence from a presentation online, somewhere on youtube)
I'm in a similar position... almost every week I have an idea for a new project I really want to start, and every other week I actually do :D
It's just what I like to do... but one day, I do want to start my own company out of one of these projects... I know one of them is being used by a large train company in Europe and a local government in the US (because they wrote to me asking for help with issues! so government-y, write an email instead of opening a GH issue). But unfortunately it's not a project I currently have interest in working on (it's like 5 years old, uses tech I haven't used basically since then)...
But my reason for wanting to start a company is just so I have freedom to work for myself, not feel like a slave sometimes (well paid one, but still!) more than anything else.
I admire the OP for doing that and even getting his girlfriend and another developer on board! Good on him!
I've less repositories, ~30 repositories. 5 or 6 of them I would consider significant projects at least from my point of view (aka a lone developer who is actually more of a sysadmin/devops in his day job, so not it's not really my main trade).
I've yet to reach a project with 100 stars (even if two of them are getting close \o/).
And indeed, I never got or even tried to make money out of it. I already fell kind of a moral obligation to answer to tickets, sometimes emails, and exceptionally phone calls (actually happened only once), if someone gave me money for a project I would feel even more morally obligated, so that's why I don't even try. Also, my projects don't exactly have a success in the thousands of starts and users, so it's kind of hopeless.
However, contrary to you, I'm far less active in the last few years (contrib per years, 2014: 491, 2015: 1228, 2016: 1095, 2017: 646, 2018: 225, 2019: 288).
Basically, I lost a good chunk of my motivation, not sure why however. Either I grew tired of it, or my current job (since 2016) drain me of my motivation, or seeing tickets accumulating in my half abandoned projects discourage me, half thinking, "let not create another ticket generator" and "I should really fix this project before starting that new project... (and in the end doing none of those)".
It's not the lack of ideas, I have actually a few from small to quite big:
* web ui in JS to calculate production in Hearts of Iron IV (actually started that one, and also a good opportunity to learn frontend development)
* a dead simple and as transparent as possible artifact manager
* a small daemon to name your NIC because it's on a given network (think servers with several NICs and dedicated prod/admin/backup networks, it would far nicer to have them named eth-prod/eth-admin/eth-backup instead of eth0/eth1/eth2 (and sometimes eth1/enp0s3/eth0 because this special duck is wired differently).
* a C clipping library (I need one for a current project).
* a tsdb taking ideas from rrdtool, like fixe size DB, values computed at insert time, reducing resolution as time passes, round robin, with meta data like the unit attached to the metric, with a network endpoint, and some support for a multi-node setup, all that written in Rust (because I don't know the language yet).
After full time at work, gym, any real life tasks I need to attend (groceries, eating, bills, cleaning, etc...) it can be rather difficult and feels like starting a large project (or any) is hopeless (relatively for a single person in their spare time) or maybe intimidating.
Could you perhaps share some of your tips and wisdom as you are now older on how and when you started habitually doing this and how you keep up the energy and motivation? I'm surely not the only one interested in anything you can inspire with.
I have many ideas I want to start and I am excited about. Often I just do not know where to even start. Especially with limited time.
For me, the big thing is securing long chunks of thinking time. Thinking time is the most important time, hands down. When you think (away from a computer), you can't start on anything, so you have to go through it in your head. This makes me more creative because I don't end up spin-writing (writing code with no solid plan in place). You need at least half an hour to think, but an hour is better. I do all my design work like this, and by the time I'm at a computer my hands are just itching to write down what I've thought up. I used to do a lot of thinking during commutes, but now I work remote so it doesn't apply. But there are other ways to use time that would otherwise be lost. I'll sometimes do it during a run, or in the shower, or during some mundane chore.
You also need to set aside some down time, where you literally make a point of not doing anything useful for awhile.
I made a habit of optimizing my chores to give more opportunities to think. Sometimes the solution was to devise a better process. Sometimes it was batching many things together. Sometimes I'd need to invest in some gadgetry. Think of chores as unoptimized code.
For example, I bought a deep freeze and a vacuum sealer so that I could buy in bulk, and also prepare meals in bulk, then keep them in the deep freeze. Vacuum sealed (in a vacuum chamber based sealer), they last up to 2 years. I lived in a very rural location for a few years, so I got good at keeping track of what staples and foods to buy when. Frozen vegetables are usually fresher than "fresh" in the store. I also made my own bread in a bread maker. It's a lot of up-front setup, but once you're in the swing of it, it's basically max 2h per week of preparation for a whole lot of convenience. I'd also bake up a good selection of meals in bulk that I'd keep in the freezer and heat up in a sous vide cooker (for days when I was feeling lazy).
Eating right is essential. Poor diet ruins your thinking ability. Processed carbs are the worst.
I do my workout at home. That's not for everyone, because often you want the camaraderie. I prefer to be focused when doing a workout, so doing it at home works well. My workout is mostly body weight based. I used to box, so I stuck to the most efficient methods to maintain a boxing physique. My equipment is a chair, a floor mat, a walker, free weights from 1lb to 5lb, a pull up bar, a heavy bag, and good running shoes. Each day I do a 1h workout for a particular group (legs, core, arms, cardio, yoga, shadow boxing) which works out to once a week for each type.
When you say write down, do you mean design/list of tasks or literal code?
I live in a major metro area, so working out in my condo isn't an option and I do like getting out since I live alone (I go every day). I pick up what I need at the store when I walk home from the gym. It's an extra 10 minutes maybe. I keep my diet simple, meat, veggies, eggs, not much more and I don't eat any processed foods. My only chores are keeping my condo picked up instead of a mess of a bachelor pad, which it is in right now (har har).
Right now I'm trying to plan out my first side project in a while since job interviewing/preparation really burnt me out.
"I can't not do it" is a phrase I've been employing for a few years trying (though mostly, it feels, failing) to explain what it is that compells me to do what I do.
> 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.
This is exactly how I am, too. I maintain a list of ideas of useful applications that I could build, particularly in the education space. I cannot stop coming up with f/oss ideas and I will not have the time to finish most of them.
I'm working since 2011 only for OSS software and non-profit organizations (unintentionally) and it was starting all with Google Summer of Code for me. Earning money and working for OSS can go in the same direction, it does not need to be side thing.
I've got a lot of respect to the ppl who work on OSS, especially the maintainers since they're in the trenches tending to a lot of the daily crap we often don't see.
Because you won't get money from OSS contribution for most part. If your priority is money, then OSS is not the best option unless you have a clear strategy of monetizing it.
I will tell you a secret: There are corporate and non-profit organizations out there which want to you to write open source software and they pay you for it (I know it's shocking).
Big companies have an Open Source Program Office (OSPO) where community / OSS skills and licensing knowledge mean you can help the company both consume OSS and contribute back to it.
One of which is finding a company that is a major contributor to OSS projects. It probably won't be the same as being simply a pure OSS contributor, but nothing that earns you money is likely to be.
That's based on a guy that just puts it out there on GitHub, doesn't have a side service based on his OSS stuff, doesn't offer support/commercial licenses, and so on...
Correct, and as that guy, I don't have enough time to build the side services and market it because of lack of time meanwhile maintain of job ofcourse (if you are planning oss without a job, tread carefully). Though I really want to so saving up for that.
Yeah, or get a full-time job that actually satisfies you. Ever since I started working I never created a private project anymore. If I don't like what I do at work, I find a different team or company that does something I want to do.
I could never imagine working on a side project while having a full-time job. That will inevitably mean you are doing neither of these things well.
respectfully disagree -- too broad a statement.. curl is not the same as MyFavortiePhPTableGenerator, and in 2020 should not be treated in the same ways
Been there. Done that. Pretty much every open source developer hits a point where they realize that even very popular open source projects don’t keep food on the table.
However, what gives open source value is that a project with 10,000 Github stars looks very good on a resume. That doesn’t matter now, where pretty much any programmer can get a good job, but it will matter after the current economic expansion stops and we are in the next recession.
I got not one, but two job offers in the middle of 2010, during a very tough recession, because of my somewhat notable open source project. My open source project allowed me to keep my skills current while I was living in Mexico as an English teacher and professional translator.
To this day, in job interviews, it allows me to demonstrate I was still working on computers and with technology after the dot-com bubble crashed.
The important thing to keep in mind is that users are not customers until they pay for the code. If they don’t like the fact you won’t implement their favorite pet feature request, you can give them a full refund, which won’t cost you anything. Never let your users cause you stress.
The dot-com bubble crashed in 2001, which left the entire tech sector in a recession throughout the first 2000s decade. The foreclosure crisis started a recession in 2008 which really didn’t end until 2015 or 2016.
> Honestly, it felt kind of shitty to delete the repository and unpin the project from my profile.
It is kind of shitty to do that. Why not just archive the repo and add a note to the README that you've turned it into non-free software? At least that way you don't break the main link to the project or remove all the content from the issue tracker. This is a project that other people have contributed work to, so it's rude to just destroy that.
The author here. If you look at the contributions, the only ones were a change to the readme, adding prettier and git hooks for linting, fixing typos, and few CSS one-liners. If the project had major contributions it would definitely be a shitty move.
Lots of developers have an expectation of "Build it, they will come" as a route to market, and they end up disappointed. Selling a piece of software, regardless of whether or not you also give away the source, is really hard. Moving people from "I want this handy tool" to "I will pay for this handy tool" is the hardest part of sales no matter how amazing your app is.
People who have relatively limited amounts of money (eg anyone who isn't a millionaire) will always want to keep their money if they don't have to spend it so you need to give them a truly compelling reason to spend if you want to make money. Just writing an app, even a useful one, isn't enough.
> Lots of developers have an expectation of "Build it, they will come" as a route to market, and they end up disappointed.
> Selling a piece of software, regardless of whether or not you also give away the source, is really hard.
Completely agree, if 1% of your users give a crap that you've engineered magic to get XYZ working, you're lucky.
99% don't care, but they'll use your product if it comes up on Google's first page, if it has a decent social media presence and they're hooked from one of your posts/blogs about it.
If you're building a product right now, and you've not written various posts about "How ABC solves your XYZ problem", welcome to the low-user zone.
Launching onto Product Hunt is not enough anymore. Get talking about you work, if you're genuinely proud of it.
It depends on the sales model. If people instantly see the value of the product, like in this case, people will come. But if they do not see the value, you have to manually sell it to them, which is a lot of work. For example if you invent a new programming language, even if it's revolutionary, it will still be a lot of grunt work teaching people how to use it, pitching it, explaining how it's better then current languages, etc. It's no coincidence that for example the most popular web frameworks are from Google and Facebook. And that TypeScript, #C is developed by Microsoft. All multi billion companies spending million of dollars marketing and selling said technologies.
Folks keep conflating these things. Sometimes we wanna code, no problem, code! if you feel like sharing, share! Expect nothing! If you feel your code deserves more and wish to turn it into a project, cool! Projects require much more time and effort to maintain. With a project, figure out what you want. Recognition? High usage? Job offers? Whatever it is, it can't be money. If you wish to get money, then you must turn it into a Business. Don't expect millions!
It's a business after all, not a startup. but that's another discussion.
I was just thinking the other day, "If Wikipedia became a paid product, would I pay for it?"
Really, what would happen if it became a for profit product? Would I pay for access to the greatest single repository of information the world has ever seen? Or would I shrug my shoulder and let Google tell me that I actually meant to query something else, and trust that the top placed link is really the best?
Its a different line of discussion, but one which is being wrestled with all over the internet. How do you compensate content creators who are not your direct employees for producing content on your platform.
I used to buy encyclopedias too, paper first and later on CD. But let's be honest here, there is no coming back from Wikipedia. The amount of informations on every single subject, the details, the fact that's its extremely dynamic (yes this new Usain Bolt world record is updated faster than than the actually record time), this is incomparable.
It's still interesting to note that the Wikimedia Foundation is getting more cash in donations than it requires to operate. If it wasn't a non-profit, it would actually turn out a profit.
I don't know what their current cost structure is, but assuming they don't currently pay contributors in a meaningful amount, going for profit would mean they would probably have to, and COGS would go way way up. The current income probably wouldn't cover it.
Why would they have to? Contributors do so voluntarily. This is no different than Quora or Stackoverflow which are both for-profit and don't pay for content.
It does turn a profit. You can be a non-profit and still turn a profit. You just don’t get taxed for generating income the same way, since we assume the profits help the greater good; since, we as a people, (not greed)(ideally) deemed it to be so.
The question “what kind of car does Jimmy Wales drive?” Popped into my head after reading this. Is it ok if he drives a Tesla from profiting off Wikipedia? What about a super car? Would anyone care?
It is probably even worse, people assume that they get what they pay for, so some people won't even look at the free options.
It is happening with me right now. I am searching for a Jekyll theme, and there are a bunch of free ones, but because time is money I will only try the paid ones.
Maybe Apple and Google need to give in and let us have free time-limited trials? Nobody wants to go back to the 90s software "You have 22 of 30 days remaining" popups every time you start an app, but is what we have now any better?
On iOS you can already do it. Apple has added a way to sell in-app purchases that cost 0. Your application can use such a purchase to unlock features, and then re-lock them when your trial period expires. The purchase manifest guarantees the timestamps and that it was made only once. The user would then have to buy a "real" in-app purchase to unlock the features.
Problem is the long tail user retention story is incredibly bleak on mobile. It's considered an achievement to get them to last a week, never mind a month.
That sounds like the "free trial" system working. Someone looking for an app for X purpose installs 10 of them and deletes all but one - giving very low average metrics.
It's more like the "one" they keep is also free, and marginally less useful or slightly more irritating to use.
Mobile app stores are a cesspool of terrible ideas and naive people who think if only they give away their time developing free software some company will notice and bless them with a job. The few gems to be found are a stark contrast.
By giving it away for free only for personal rather than commercial use, as lots of software used to be in the last millenium? But of course what's going to happen is a certain F/OSS advocacy org will shout "this isn't F/OSS as it doesn't obey our no-purpose-limitation criterion" and you and your software will be treated as a pariah and avoided like the plague and even more than pure closed-source software.
Fine, so you write a bunch of code, and release it under an NC license and a paid commercial license, no problem. Then someone comes along and submits a PR. What now? Will you accept their code and monetize it, despite the fact that you still deny that person the right to monetize your code, or will you refuse all PRs?
The problem with these proposals is that it creates an unequal relationship; some developers have more rights just because they started the project, even if others have contributed significantly.
I have a few things that I plan to release at some point. Small stuff, commercial use probably isn't a big issue, and I have no real plans for monetisation as this is hobby/interest stuff not the day job.
My intent is to go for full-on AGPLv3 and not accept PRs initially. If someone sees a bug they can tell me "if these options are picked there is an infinite loop" or "you've missed input sanitisation here" and I'll put together a fix for it. That way all the code is mine, I have full control, and I don't have to worry about treading on someone else's toes if I relicense later. When/if I later decide upon a more permissive license, or to try monetise through commercial licensing, or if I chose another route entirely, then changing will be frictionless.
In the meantime anyone wanting to work on it themselves because I'm too slow, they don't want to work my way, or "just because", are free to fork (assuming they are happy with AGPL), or contact me to negotiate other terms, or write something themselves from scratch to deal with the itch (again: these are not Big Things, I certainly don't expect to be releasing the NextBigThing™).
More likely it discourages others from contributing significantly. The PRs requiring copyright assignment end up being minor fixes, and anyone willing to develop a bigger functionality will just start their own project.
Idk what is so difficult about defining "commercial use". It is a concept even a child can understand. I acknowledge the goals others have for their licensing choices, and hold RMS in high esteem for his principled stance and achievements; I even release software under LGPL and other licenses. But I don't think OSI have an answer for the new software crisis where F/OSS developers are doing all the work, just to line the pockets of the three big cloud providers which obviously isn't sustainable. It also isn't in line with the ethics of eg the FSF to lock customers in to a walled garden built by F/OSS. In this sense, it's not me who brings up ideological arguments, but OSI who insist and hold-up their Open Source definition whenever someones dares to make a living with his/her work.
You can always release your software under the AGPL (which is an OSI-approved license)--which would effectively prohibit its use by cloud providers. Probably very few others will use it either but that's the tradeoff you make.
Careful with AGPL. It has yet to stand in court, and is actually the license mongodb has left behind in favour of their own SSPL because it turned out not strong enough, and not preventing eg. AWS to sell mongodb as a sevice without releasing any of their provisioning and monitoring sw (though I'm not sure AWS actually uses mongo or, like Azure with CosmosDB, a proprietary API-compatible product instead). The amount of confusion regarding AGPL shows in eg. [1], and I've also heard the opinion it might not be enforcable because it wants to restrict third-party software. IANAL, but I wouldn't rely on AGPL, and not many people would use AGPL software anyway.
I don't really disagree. No one knows how "viral" (to use a loaded term) the AGPL is. But non-commercial is the same problem. I've chosen to be comfortable with using NC CC-licensed media for anything I'm not being directly compensated for. I won't use it if I'm being paid directly to give a talk or produce a marketing document but I will for a conference talk I'm giving for "free" even if it's a conference I'm attending as part of my job.
But I know other people who think that using NC content even on a personal blog that uses Adwords is a strict no-go. Or you try to define NC in terms of US tax code which is fraught for a lot of reasons.
ADDED: Personally I think the latest round of the licensing wars is overblown. If you want to use a more restrictive license, go for it. Just don't expect the development model benefits of open source software. Of course, most open source doesn't reap those benefits either because vibrant communities are relatively rare.
I believe dual-licensed or freemium models aren't after contributions so much as they want to use OSS as a marketing instrument, or for being even considered. This is also the main criticism - that they use OSS networking effects to pull a bait-and-switch strategy. OTOH, the alternatives come with their own problems: that their incentive isn't aligned with their customer's. For example, Red Hat, easily the biggest and most successful OSS company (or at least it used to be before the IBM buyout), thrived on releasing a Linux which is (intentionally?) such a complex beast that you'll need a support contract anyway.
I don't get the concern; if the AGPL is invalid, then the software user is even more screwed: they have no license to use it at all. Wining such a dispute would be a pyrrhic victory.
When you're doing it for money. It's not difficult at all IMHO. Note that the new-fangled, earlier discussed licenses mongodb and others are using are targetting the case where your business is hosting sw for your customers (like cloud providers do); commercial use is ok when you self-host the software.
Just a note — open source doesn't mean free of charge. I think you can make a business from open source, even as a one person operation.
Off the top of my head: Newsblur, Bitwarden and Standard Notes, services I pay for, for one because I like to support open source, but also because I'm not in the mood of hosting them myself. I'm also evaluating Wallabag.
These examples are of web apps that require hosting, self hosting is a pain, so I prefer to just pay for it. And I did give up on 1Password for Bitwarden, because I'd rather support open source stuff, in spite of the former being superior.
---
The author's article is however correct in saying that donations don't work. I too have thousands of stars collected on GitHub and I barely got donations for hosting the documentation websites.
In order to make money:
1. you have to ask for it
2. people need to get some value out of that payment and this means creating scarcity
With the online services I mentioned, what I'm paying for is the hosting and I'm happy to do it.
Really good writing on many of the challenges of launching your own application.
Went through the same cycle, of first releasing an open source software that had donation support. Gathered an user base over many years, at max I was receiving maybe 500 - 800 USD in donations over a year, after working on the software like 3 years.
Was really reluctant to make the software a commercial version, because I was limited in my thinking that software should be available for anyone to use. You can't make a living out of that, except in some very rare cases.
Once we launched a commercial version of our software (https://OmniGeometry.com), got a lot of backslash from users complaining about the price not being free anymore, and actually we priced the software lot higher than people usually do, but we are implementing something that fills a very specific niche, where we have almost no competition.
As a result of that, we are now actually making money that can support the continuing development of the software and can support our two man team as creators. To be honest I am surprised that we managed to do that, but are very happy about it of course.
I agree with what is written in the article:
"Don’t let anyone tell you how much you should charge for your work"
Writing software can be very difficult and complex, and usually takes many years to reach anything usable and even then it is a risk if it will become anything that people will use.
Almost certainly you will receive hateful or resentful messages from people if you are charging for your work, as on some levels they would like to use your software, but would like it to be free also, so they just lash out at you for not making it free.
Something just have to get used to when selling software these days it seems. If people had any idea how much skills and dedication it requires to even be able to write usable software, maybe they would agree that paying for example 200 usd for a software package that will give you possibly hundreds of hours of entertainment is a good investment.
> "Don’t let anyone tell you how much you should charge for your work"
Feel free to ignore the choosingbeggars who are after freebies, but pricing is a dark art, and IMO when making the leap to charging money for things you've built, it seems way more common to undercharge, especially for apps like Sizzy made by perfectionists.
I have been in an interesting similar situation with my Trianglify [1] library, and have made money off of it a few different ways:
- Commercial licensing (the library is GPL) occasionally gets me a few bucks, but isn't a reliable source of income.
- Consulting on custom integrations/tweaks has been slightly better, but in general it's a simple library that's well documented and easy to use, so there isn't much need for this.
It became pretty obvious after I launched the project that my primary audience wasn't developers who could consume a JS library, it was designers. I wound up building a productized UI [2], and I've been experimenting with
- making money via donations (abysmal)
- ethical non-tracking advertising (low conversion rate, people hit the tool to accomplish a task, not click ads)
- and lately, paid functionality (so far, this has been the most successful approach)
I think that the skillset for developing a good and useful piece of OSS and the skillset for monetizing it are almost completely orthogonal - it would be really great if there was a way to make decent income off an open-source project without building a flashy website, learning basic marketing, getting in bed with advertising companies, etc etc. Unfortunately, the above seems to be what the market cares about.
> - Consulting on custom integrations/tweaks has been slightly better,
Interesting, can you share a bit more detail? Not asking for customer names or anything, but curious what kind of customer is interested in stuff like this enough to buy consulting for it)
Firstly, this post is really excellent and quite profound - I read it end to end and would recommend you do so too if you've just come directly to the comments - it goes a lot broader than the title might suggest and contains quite a few quotes I'll be referring back to.
That said, on the surface point about making money directly from open source, I'd just like to chip in with my own perspective that wasn't really covered in the article (it's a different type of thing).
In the article the author is talking about building a complete, functional product and open sourcing it, and how that means users are very unlikely to pay (donate) cash to the author. This is 100% accurate, and the point is very well made (again, seriously, read this article, it's great).
I've put out a few libraries and tools on my github (i.e. not full products, but smaller component parts others can build products from), mostly to solve my own problems, and have the source easily available and properly licensed to reuse between projects. And hey, if someone else finds them useful, great. This is pretty important - I did this for my own benefit, and I get this benefit regardless of if anyone else stars or uses the repos.
Most of these repos, that's exactly what happened, 1 or 2 stars at best, only I use them. But one of them, react-frontload [0], actually took off because it turned out to be useful for quite a lot of people. Now, the reason for writing and open sourcing that library was the same as all the others. I don't expect, need or frankly even particularly want people to donate money for me to work on that. Any time I invest in improving it pays off anyway, because I use it.
But what has happened because of my work on that library is I've had people contacting me for contracting work integrating it into their product, general job offers, meetup talks, etc etc. So in a way, it has actually led to opportunities for making money, more or less directly. As in, had I not open sourced that, none of these things would have happened.
Just to add that point to the discussion here: whilst you definitely shouldn't expect to make direct money from open source, especially via donations, you absolutely can find it opening doors to opportunities and making money in other ways. But even then, that shouldn't be your motivation going in. I suspect if it were, you might have a lot lower chance of it happening as a result, ironically.
It's a lot like writing books in technical fields. Should you do so with the expectation that you'll get rich or even that it will pay for a really nice vacation? Probably not. Some people probably make 5 figures (USD) but it's not common.
However, being a published author builds credibility in a lot of respects whether it's within many large companies or doing consulting/etc. work.
ADDED: I've written a few books. I've made no money off them (to a first approximation relative to everything else). But they've been immensely valuable in other respects.
Altruistic FOSS works best when there are many more users than issues, ideally technical users capable of fixing them, so a fraction of the users can donate just a small amount of their time and get the project going. Alternatively, when some business players decide to collaborate on a project and fund its development.
Otherwise, when there are many more issues than users, particularly users who aren't capable or willing to fix them, then it's just a few developers working their skin off to pull the project, and that requires a more direct form of compensation.
Truth. It's especially stressful, because too many will value your time as much as they pay for it. If you work on a team doing some big $10M deploy for an enterprise client, that client will be buying you dinners and setting you up in a nice hotel. You get on the hotel wifi and check into your foss projects and find a dozen messages saying how angry they are because some feature wasn't implemented, or see a comment on a post about it saying how much your work sucks and that they have written something better (that will be released some day "soon").
How long do people think this subscription thing will last? "It's cheaper per month than one Starbucks coffee" stops working when you have to pay for 100+ Starbucks coffees per month... and then the subscription bubble will crash.
People don't happily sign up for 99 $5 subscriptions and then cancel all of them when they need a 100th. They evaluate the value that each subscription is bringing them, and when they feel they're spending too much they cancel the ones that represent the least value for money. They do that even when they're not signing up for something new. Consequently the subscription bubble won't ever crash, because it's not a bubble. It's just a business model.
It's not a bubble, it's a model for paying for things you value. People used to pay a lot for their TV, satellite dish, VHS tapes, all the space to store them, newspaper subscriptions, 3+ magazine subscriptions, phones (which were actually just phones), long distance calls, etc. We came in and replaced so much of that with software, which is still overall cheaper and much better if you pay for it.
In some cases it works well, I would much rather pay a monthly subscription for Adobe PhotoShop then shell out hundreds of dollars up front for a license. Sure, in the long run I may end up paying more, but psychologically it feels like you are saving.
You are correct that as the number of subscriptions continues to proliferate we will at some point hit subscription saturation, but luckily, with most subscriptions it's as easy to unsubscribe as get started in the first place.
From an HR perspective, I'm sure organizations are already feeling this pain as they look at all of their different teams and the amount of money they are paying for subscriptions.
10% Sounds low. I can't judge for the product in question but for my programs, they are usually tiny blips standing on the shoulder of giants (libraries).
So far i have never ask for money, if i'd do so i maybe would need to pass on 80% to not feel bad about it..
Not sure if you are cynical of sincere, either way, if the library devs get 47 cent from every donation driven program that relies on them, this could add up to some nice sum.
I have a consulting business centered around my OS project. Project itself does not make much, but related things (support, consulting, opportunities, contacts) are good. It was a good way to leave cubicle and get remote job, once my daughter was born.
would be great if GitHub had some kind of patreon system built in, to make it very easy to do recurring donations. Especially for companies that use open source software for commercial activity, it would be great to have an automated way of paying each month and a culture for that, so that it's almost the default option.
I know there are ways of doing this today, but if it's not super frictionless and integrated into the platform, it's less likely to happen
wow, love it. Look forward to seeing it rolled out - it looks like you can only sponsor individuals for now, would be great to be able to sponsor projects
it looks like you can only sponsor individuals for now
I wonder if that will create some perverse incentives? Will people be as willing to contribute significantly to projects if they know the maintainer is making $1000s and they're getting nothing. Or will they instead rather try to start their own competing project in hopes of capturing some of that revenue.
it does actually look like you can sponsor projects too already, but the payments are not handled by github in those instances, it just links off to another patreon style provider - for example https://github.com/react-spring/react-spring.
I think managing the direction and budgets of open source projects that have many contributors in a fair, effective way is a really interesting problem. There are some blockchain DAO projects where this is handled by voting. Each participant's vote could be weighted by different things - contribution activity, seniority within the project, more traditional board/council structure, whatever. The voting results can also be automatically executed.
Or you could pre-determine and automate how funds will be paid out to contributors - ie. bounties for new features/fixing bugs
Yes! I really hope that this is what Github Sponsors will end up being. They should make it trivial for businesses to spend each month X USD to split between open source projects that they rely on.
They should make it trivial for businesses to spend
Donating money is always incredibly tricky if you work at a larger company, especially if you get nothing in return. I can a buy a license or support contract easily, with a bit more effort I could probably sponsor a local FOSS meetup/event. But just giving someone $50 as a thanks for writing that software we rely on, is basically impossible unless I just pay it out of pocket.
And on the flip side, it would be interesting to have better tools of distributing the funds collected in this way. Ie. how to best allocate the funds between the FOSS project participants/contributors.
Who decides where the funds get spent, how to automate some of it etc
A lot of people/companies don't like paying for software. You would be surprised by the amount of straight up pirated software some companies use before they get caught.
It's no surprise that offering your product for free won't make you much money.
Sometimes you don't even really want your side projects or GitHub repos to become popular.
When you're the only user of your app it's fun, you can deploy easily, maybe prod is also your staging env ... You can afford to screw up your database etc. If you have users you now have to be careful, if your deployment fails the downtime becomes a mental burden, you have to manage backups etc.
Maintaining an open source project is also a lot of work. Issues piling on, Pull requests to review, which are not that more fun at home than at work. If you ignore them you start to feel guilty. If you lose interest or have no need for the project anymore you'll feel guilty as well.
Anecdotal evidence, my father have made an open ESP*-based webradio. Somehow it got popular (especially in Eastern Europe for some reason). It's fun, people sending you photos of their finished projects etc but then requests for features you don't care for start piling on, you have more bug to fix.
He has a donation button and he could monetize more but he's retired and doesn't really care about money, he just wants to have fun making something and the success is a double-edged sword in that regard.
Open source for me personally and my company was more of a marketing advantage. We work in fintech and the culture there is that the code will always be closed source (like there’s no way it can be remotely open!).
When we (the engineers) suggested that we should open source our whole system (make the whole development open source), the marketing team were so pissed and they just couldn’t imagine what benefits an open source will offer.
A few months later, our project is well known by major banks here and it became clear that my startup excels in software. The first thing we say when discussing with a client our offer is that the whole system is free and open source and they can copy-paste it without our help. And that turned out to be very great as many of our customers had vendor-locks before.
The thing I’m actively developing our core business in Github and quite happy with its evolution. It received a small amount of stars (like 9 or something), but I really didn’t expect any stars nor direct users contribution anyway. And it helped us a lot in building our reputation as a FOSS startup and it will also contribute to my teams resume.
> when you give away something completely for free, people aren’t that motivated to pay for it.
I created gitingore.io about 8 years ago and it's almost at 5000 stars. I had nearly 100k MAU's and that was still not enough to survive. My customers included developers form top tech startups and major companies in the world but the product was free. I ended up selling it so I can re-focus on something more valuable.
I think this is a good example of not all projects are equal. I have donated to projects that have an especially large impact on my project, or that solve an especially hard problem. I don't think your project is either. Lots of people might use it, but relative impact to productivity will probably always be low. I think that's ok, and it's a neat project though.
GitHub stars will pay your rent if you sell out the hype to a VC instead of building a real company. I can definitely name a few startups that have almost no product, certainly not technically challenging or particularly well built ones, but they've made many millions in VC funding solely from GH star hype.This industry is a bit of a joke that way, but it works.
I started working on the landing page, but ended up working on a React library for making landing pages (maybe I’ll release it one sunny day)
#2
Or imagine entering a supermarket and starting to yell at the cashier “WHAT?! THIS MILK IS 3$? DO YOU KNOW THAT ON THE OTHER END OF TOWN I CAN GET THIS FOR 2.5$? I CAN EVEN BUY MY OWN COW, RAISE IT, MILK IT EVERY DAY, AND DRINK MILK FOR FREE!11!”.
Well for this problem I have since a long time an idea I am sure will works, I just need to kick-start it in the right way.
It is the "fair publishing edition", a system of publishing a work in a way that is fair both for the author and for the users. The author get paid an amount that is proportionate to the amount and value of its work and the users gets a fair value in return from their money.
The principle is simple, the author publish a work and decide a fixed amount of money that he judge correct as a fair total reward for his work. In turn the people that begin to buy the product pay only a small quota of this amount and the more people buy the product the smaller gets the amount. If the product becomes successful eventually the entire amount of money will be paid and the product will become free for everyone.
A detail, the first people will pay a larger amount of the latest people and this is a little bit unfair. Yet this is a minor problem that can be fixed by not making the payment immediate and when other people buy the product the payment of the first people will be reduced. In this way the problem will not disappear but it can be smoothed so that it will become more acceptable.
The faire publishing edition can be applied to any product that is trivially copiable, so for things like books, software, games, movies etc.
Each product launch will be caraterized by the amount requested and by a paying time which is roughly the time the author estimate to complete the payment of the product.
Note how this is much better than the current situation: free software authors doesn't get any reward for their work. It is unfair for the authors! At the other side traditional editor get indefinitely paid for a work, doesn't matter how much money they have already collected. It is unfair for the users!
If some people want to help me to kick-start this project, hey, just make me a message! :-)
> But the factory lector didn’t have Medium and Hacker News to tell him every single day that the radio is coming to take his job.
My thoughts: Who reads Medium everyday?
> Sizzy got 2352 upvotes on Product Hunt. It was the product of the day, the product of the week, and third product of the month.
My thoughts: Who uses Product Hunt? Who cares about Product Hunt upvotes?
Also, the other day, Korean Github users started complaining about some company "cheating" to get Github stars. My thought: who the hell cares about Github stars?
Am I the odd one here? This cult of the platform is kinda weird. I admit that I use Hacker News everyday, but in the end I don't care about it. If I lost my account tomorrow, I wouldn't care, If my comment gets downvoted to oblivion, I don't care.
(Congratulations to the post author on shipping a valuable product.)
Just as you read HN, others get their news from Medium, Reddit, and so on, and they do care that the news source is sustained so that they can get future news. I do the same for HN, it would annoy me if it disappeared tomorrow, so perhaps you are the odd one out. Nothing wrong with that, just an observation.
I wonder how many open source projects the author uses and donates to? If the answer is zero, then I wonder why he thought people would donate to him? Open source software is not a good way to make money. It never has been.
I would really like to see OSS funding continue to move in the direction that other content creation has gone in the past decade or so: pay for the creator, not the product - like the Patreon model.
A lot of people bemoan that companies make hiring based on people's repos (and how it may be unfair for some demographics, types of character, focus, etc).
But (having a few non-forked repos with >200 stars, one >1k stars) it seems that it does not matter much. Basically, works as any volunteering work.
For bigger companies, it seemed that there was zero care if I have any GitHub project. (Typically there was not a single question relevant to these project.)
My top repo has ~5,000 stars and some contributors. It was fun, it lets you broadcast AM on a stock MacBook or iPhone. That's how I found Hacker News, it found me. Zero dollars. Virtual tip jar, zero tips. I got everything I wanted out of that project and more.
Next, I open sourced my research on vowel pronunciation / language learning. The same exact program sells on the App Store. For $10. Yes really. And the app links to the free repo, in case they want to check it out. This pays rent.
Next, I'm an expert on some blockchain topics. And specifically related to enterprise. If you're in that scene you might recognize me, I'm all over that (=all over GitHub). I put my phone number in a few choice places and qualified people call. This lands large contracts, no interview. This pays rent.
Google and Facebook regularly interview/hire directly from GitHub. No resume, direct interview request from GitHub. I don't work for Google any more, but these are opportunities to pay rent.
It won't pay rent directly, but there is one caveat. I have 5000 stars for all of my open source projects, and I have a salary way above average. I'd easily find a job with a better pay if I want to. So on average every star makes me at least $10/year when it comes to salary only.
How much does he pay for Electron and React? Imagine the sw world with no OSS, not just your app but no OSS at all. Then you can compare the for pay and OSS models. Not everything you need is OSS and the one thing you sell is proprietary. That is the best, for you, of course.
This is why all my projects are published under a non-commercial-use-only license. Hobbyists are free to use it, but companies need to contact me to license and pay for using my code. Makes me very good money, and my code is still out there for free for hobbyists to use.
Am I the only one who is confused by all the recent uproar in open source? I think open source software should be created purely based on joy with no monetization expectation from the creators.
On the other hand, people using the software should have no expectations either, they should be grateful for the gift they have received.
I believe the spirit of OSS should be contribute if you want to, if not, that's also ok.
If you demand compensation for your OSS work or you demand the OSS maintainer to implement features yesterday, you're doing it wrong.
I feel like the spirit of people creating software for the sake of software is fading away.
Have you ever maintained a large open source project? It is so, so far removed from the pure "just creating for the sake of software" idea. It is a job. It can exhausting, frustrating, boring, tedious, etc... you trade your nights and weekends for... the creative spirit? The joy of creating?
People talk about OSS like /r/choosingbeggers. "Why would I pay you for art? You should do it because it's your passion"
To be honest, I still love open source, but I have to take long breaks from maintenance because the "work" side of it -- the tedious zero effort issues opened, just gets to be demoralizing. The next large project will be closed source. I'm getting too old and grumpy to do project maintenance for free.
I've never maintained a large OSS project, it's mind boggling to me that the community have somehow managed to push the maintainers towards burnout instead of being grateful for the free gift they are receiving.
Expecting the maintainer to keep pushing updates forever is insanity imo. It also rubs me the wrong way when maintainers demand monetary compensation I feel like this muddies the water. But maybe this is the reality we are living in now.
Don't blame the community for pushing maintainers towards burnout. Blame the folks who make maintenance needlessly necessary, by doing things like pushing for systemic tooling reforms that only serve big company use-cases, or the ones who create license drama. If it weren't for them, then works contributed to the open source commons wouldn't need maintenance any more than the Super Mario Bros. ROM needs to be maintained.
> Last summer I tried using the app again and my first reaction was “omfg why do people even use this thing, it can be so much better”. But people didn’t see it that way.
This part resonated with me quite a bit. However, I've often found that a certain percentage of these people are sometimes willing to pay for support or having specific features added. Especially when using your software can save the organization a tangible dollar amount.
I've personally been on both sides of this equation.
I'd love to see more people donating to charity. With my software, it's MIT open source, but pre-packaged it's pay what you want ($3.50 minimum) and $3.50 of every purchase goes to my favorite charity: Against Malaria Foundation.
I don't really develop any project or repos (I raised issues, submitted fix through forks), and I use stars mostly as an on-site bookmark to remember project I might have a use for. I guess this is the intended purpose of these?
I see creating/contributing to OSS projects almost as a form of payment, i.e. you are paying your dues for being able to access a large array of free open source software by contributing back to the movement.
How is this different than Adobe Shadow?
I guess it makes sense to be a product for one-man show, but hard to productize ( read: doesn't move the needle ) for a big company.
Same way as going to acting school doesn't guarantee you become successful Hollywood actor.
But what about those who went ahead, uploaded their code for free and launched new companies, thanks to the support/popularity received from users of their free code.
Such people minted millions or even billions which they could have never been able to achieve in their lifetime charging normal rates for programming.
You want to be part of a lottery promising big bucks but not happy because not everyone gets suitable payout. Congrats! you discovered how lottery works.
And now you want a payout which helps you pay rent? Such jobs exist, but you might have to write boring code.
That guy wasted not only his time in writing a non-FOSS application, but also the time of other people who will need to redo that work later on.
It is illegitimate for the use, distribution and modification of software to be restricted. Due to inopportune social arrangements (e.g. Capitalism) people, like the author, are kept in an artificial state of material want, which forces them to play the corrupting game of intellectual property and close-source software.
I try to avoid that (even if it isn't easy sometime.)
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 44 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.