State of OSS Monetization

45 points by joergrech ↗ HN
Hi OSS Developers, I hope that you can help me understand the state of OSS Monetization better. I’m interested if and how you monetize - or try to monetize - your projects.

To get a better picture of the current state of OSS monetization I’ve set-up a quick survey to evaluate different monetization approaches and what OSS developers would require to work full- or part-time on their OSS projects.

The survey with 16 questions will take about 5 minutes and is aimed at OSS developers / maintainers: https://docs.google.com/forms/d/e/1FAIpQLSegX_yKiGtXamKrVfg_1ioVWZ3Xdvtc3usZYn7p20dysHiaGQ/viewform

Best regards, Joerg

PS: if you want to get the Survey Results you can join an email list at: https://mailchi.mp/8e59bb1c13db/state-of-oss-monetization

41 comments

[ 4.2 ms ] story [ 99.2 ms ] thread
> How much of their Revenue (in Percent) should companies contribute to OSS?

This is extremely poorly phrased. Are you talking about Microsoft/ Amazon/ Google/ Facebook? Your local pizza shop? A percentage of all corporate revenue? Is this "should" as in "would ideally", or should as in "we should shame them if they don't"? I don't think this question is going to get a meaningful answer.

You're right that the question alone might be misleading. I mean every company using your open source package in their development not only FANG etc. The local pizza shop might be using OSS but probably does not have a dev team of their own (they either use a SaaS or have freelancers for their website).
Glad you are asking this question... but... I think it would be wise to ask what a respondent's motivation for building/maintaining their open source project really is. Often times, monetization is really low on the priority list.
Yes the initial drive is probably always to solve a problem or make something cool. However, I often get the feedback that some projects get overwhelmed with feature or bugfix requests and loose the fun of it. Having the opportunity to live from their project - and maybe even goin full-time - would be a great option for some.
For some. Not for others. There is a huge difference between different people's motivation.

For me it is split. I develop open source licensed software at work and my employer tries to make revenue. Privately I do stuff for fun and don't want the responsibilities of having "customers." If people use it for free and make money, so be it, but I have the liberty to stop/pause working on it.

> some projects get overwhelmed with feature or bugfix requests and loose the fun of it

That can happen, but sometimes monetization isn't the answer. Getting more contributors is. As the song goes, "Can't buy me love..."

Essentially, most of open source is slave labor for big tech who can build their services on top of the "contributions" while extracting ridiculous amounts of value from them and giving maybe pennies back to a single sponsored contributor.

This could be changed essentially overnight, if Big Tech wasn't against it. For example, it is trivial to add payment to something like GitHub. There could be PRs that are behind a paywall and someone would have to pay for the contribution so that it can be merged; and ban 0$ dollar PRs.

The fact that someone can come into my open repository and tell me something completely orthogonal to it is an "issue" makes me vomit (and this basically reveals the whole sham of GitHub). Posting an issue should probably be behind a paywall too now that I think of it; but you deposit it to the maintainer / repo owner / assignee.

> Essentially, most of open source is slave labor

"slave labor" would imply a lack of freedom on behalf of the slave laborer.

I think there's something quite remarkable going on that is quite the contrary of what you say: People who work as software engineers in their day jobs are so starved of freedom, that they spend evenings and weekends doing more software engineering, i.e. more of what they're doing in their day jobs. Only now, they are actually happy doing it, because they're free. This freedom comes at a price, and this price is that they have to give away their work for free.

If paid software engineering jobs did a better job at fulfilling people's psychological needs on creative freedom, the drive for mastery, the desire to make a name for oneself through one's work, etc. there probably wouldn't be any open source, because the psychological needs that motivate it would be otherwise met.

If software engineering was better organized as a profession (like the way "labour" is organized when doing collective bargaining, or the way certain professions are organized like the legal profession) then maybe paid software engineering jobs would be better.

But we are totally disorganized as a profession and each individual seems to be perfectly ready to undercut others at every turn, e.g. being more accepting of bad working conditions, like lack of creative freedom, than the next guy. Studying harder for ridiculous leetcode interviews than the next guy. Putting in more hours than the next guy on hiring projects. Being more accepting than the next guy when employers refuse to give employees time for training on new technologies and instead doing it on weekends. When the work is actually enjoyable, being willing to do it for less money than the next guy. The equilibrium of that last dynamic is where the price is zero, and that's what open source is. A corollary of that is: Since all the enjoyable work gets done for free, there is no enjoyment left in any of the work that one can hope to get paid for. -- We have to stop doing this to each other. We have to stop the race to the bottom.

Open source, and not getting paid for it, is not the problem. It's the imperfect solution to a problem that, in a more perfect world, wouldn't exist in the first place.

How often does this happen though? You may be correct in a specific context / region / culture. I've only worked at closed-source companies and I never felt starved for anything. I also don't believe that one needs work to be enjoyable. My experience has been that programming work is filled with tedium, and the fun design work is a negligible portion of the project. And the tech people I know (biased sample set : age > 40) spend their free time on their family and non-programming hobbies. I don't want to reject your comment or opinions, just offering my own.
(comment deleted)
I don't understand where you're going with your "region / culture" thing. The rest of your comment makes it sound like your standards are just lower than mine. You describe your work as mostly tedium and say you don't have a problem with that. This is a state of affairs I will never ever accept for myself.

And I'm approaching 40 myself and have been a part of this industry since the late 90s, so I'm not speaking out of youthful naiveté either, but rather from the vantage point of a conscious set of choices I've made on personal values and introspection into my own psychological needs.

The set of people who share such values/needs may or may not be a majority, but I never claimed they were. This discussion was originally on the broken state of open source, and my contention is that a lot of people who do open source probably do it because they're a little bit like me, frustrated with their day jobs, and looking for a way to contribute to the world in line with personal values that are similar to mine, and an outlet for unmet psychological needs similar to mine.

The majority of programming is tedium, that's my experience. The fun stuff is over early on in most projects. The rest is grinding it out, and incremental polishing to get the code base to a bulletproof level of reliability. I have worked on large commercial embedded code-bases that absolutely needed to have zero crashing bugs with months, if not years of uptime. Maybe you haven't encountered that. Its not surprising since few programmers today seem to care about that sort of reliability. I don't know what "standards" you're setting for yourself, but I'm glad you're happy doing your thing.

It's surprising you haven't encountered different programming cultures in the world. The bay area has a distinct culture than eastern Europe which is different than China or India. And this co-relates to varying attitudes on open source and other down-stream effects. Naturally these also differ from industry to industry.

Do you actually have any first-hand experience with what cultures are like in Eastern Europe or China or India? Or do you just live in the Bay Area, assuming your culture is superior to everyone else's?

And what makes you assume I haven't encountered different [programming] cultures around the world? ...because I have.

Yes, I have first hand experience. Where are you getting this superiority angle? It would be better for you to ask what I think rather than make stuff up.
Slave labor is a little harsh as open source developers act on their own free will but I understand that it is a little loveless that some companies make billions without giving back.

Making issues private (behind a paywall) is probable the new approach of Github with their "sponsors-only repositories". However this will probably cause more closed-source where the community cannot contribute bugs or feature requests.

This is accurate. It is slave labor because corporations go out of their way to harm the developers of open source projects which they benefit from because they view them as competition. They engage in blatant anti-competitive practices while benefiting from their victim's work.

It's slave exploitation as evidenced by the lack of payment for labor which, from the perspective of the open source developer, was motivated by the complete deprivation of opportunities for paid labor.

Many people make their project open source because they know that their project would have 0 chance of getting any adoption unless they gave it away for free. The masters created market conditions which deprived the slaves of any opportunity for fair remuneration (made possible by the design of the modern monetary system).

The best way to monetize an open source project so that the whole community can benefit is by launching a blockchain token and then provide a service around it based on the open source project. Unfortunately, the powers that be won't allow such tokens to succeed. Only scam crypto projects are allowed to succeed.
If you remove the "launching a blockchain token and then" from your sentence, that describes what we already have with the likes of Red Hat (net income $434 million USD).

So why attach a working idea to a Proof-of-Waste scheme? What would be the added value?

Red Hat was early enough in the fiat monetary ponzi scheme to be able to benefit from its network effects. Nowadays, projects cannot get any traction at all without a blockchain token to incentivize collaboration and create shared financial interests around that project.

Nobody cares about features or quality anymore, it's all about financial schemes; you need to create financial incentives for adoption of the product. The product is secondary, the financial scheme is primary. How do you think SaaS companies manage to convince big corporations to pay to use their services? Kickbacks to corporate employees!!! It's all corrupt. The good thing about crypto is that it's more hidden and it allow the provider to keep their hands clean. The employees of the corporations can buy the token themselves to profit from their own corruption so it's not direct like a kickback and only the employee of the corporation is to blame, not the SaaS provider.

It allows the provider to participate in the corrupt modern economic system whilst not actively bribing people. It allows corporate insiders to bribe themselves without implicating the provider. This effect is already commonplace among big corporations; politicians buy corporate stocks and then pass laws to benefit the companies whose stocks they bought... Crypto just levels the playing field by allowing small players to also participate in this scheme.

I have read your second and third paragraphs and feel very confused. You believe that OSS would be better off with more bribes, more financial scheming, less features, less quality, and in general with more corruption? Because you end up saying that "crypto allows small players to participate in this scheme."

So, no thanks.

> You believe that OSS would be better off with more bribes ...

I agree, but I'm very confused about the original proposal because I think fiat is not good enough for bribes.

Bribes are not suitable for aligning financial incentives because they are illegal (both to solicit and to offer).

On the other hand, if a financial instrument exists which is coupled to a specific economic service, then no solicitation or offering step is necessary in order to align incentives between a provider and a supplier.

Also, note that this is not insider trading. Insider trading means that a trade was made after an event occurred but before that event was made public. In this case, the trade is made first, before the event occurred.

I thing the GP is not talking about literal bribes that are ilegal. The idea is that every time someone fills a feature request the maintainer replies with a link to a bitcoin address a price, and until the money is in that address the maintainer does not implement the feature.
What I'm saying is that all projects NEED to have a shared financial incentive in order to have any chance at becoming self-sustaining and encouraging collaboration. It's orthogonal to the quality of the product. Monetary incentives provide the baseline for survival of the project in our modern, godless society. Look at any popular OSS project which exists today and you will see a connection to big money. This is no coincidence.

It's hypocritical to suggest that this is dirty or unethical when the entire economy including all popular open source projects depend on these same kinds of financial incentives to exist.

The modern monetary system is corrupt to the core and yet it drives every single human interaction and every single collaboration. Let's not pretend it doesn't.

Makes a lot of sense to sell a service powered by an open source project. Why is the blockchain token "the best way", or necessary at all?
As far as I understood tea.xyz it uses a DAO contract to "bill" every download/install by the user. If you don't pay (in tokens) you won't get the package.

So the blockchain approach has a mechanism already in place that will support the payment.

Money is the root of all evil.

Making money is a bad thing to do.

Don't do it if possible.

That's a lot of pressure to put on money rather than on the people who charge it for everything we need to survive and use it to consolidate and raise prices.
Phrased very poorly but you have a point.
hmm... we need money to live or even help others. How can he maintain OSS if he doesn't have money?
The quote is more like "the love of money is the root of all kinds of evil".

Money merely represents value. If we fairly created value for others, it is fair to be able to get money representing that value in return.

Making money ethically is something that should be encouraged - it means creating more value for other people.

Are you developing OSS or ransomware?

If you want to make money from your software, make it closed source and SELL IT.

The whole point of OSS is: You have an itch -> scratch it -> release it -> others maybe use it, maybe don't, they add on to it, release changes back -> now 2 people are working on it instead of one and both benefit.

That's the point. It's not about trying to trap companies into giving you money because you released something for free. Either sell software or don't. No one owes open source devs anything beyond what the license states.

What you're saying seems like a potential false dichotomy; developing open source software can be as profitable - sometimes more profitable - than developing proprietary software.
It can be. But you shouldn't expect it to be if you don't offer support, a product, etc... Lots of these recent threads are basically people who just release something into the wild, put no effort into monetizing and then wonder why they're not getting paid...
Yep, ok. I sorta feel that the 'lean financing' approach is to not add any monetization at all -- because it may introduce externalities -- until a project is producing significant value and has (necessary) infrastructure/runtime costs.

Roughly speaking: focus on producing something of value, and then the monetization strategy should follow naturally if the project succeeds.

At the same time, I think it's important to focus on reducing total cost of infrastructure, because doing that increases the size of the audience who can participate and reach a sustainable value threshold.

(and one caveat to that: long-term cost is often minimized thanks to high-quality, durable systems that often have high associated price points. it may be necessary to have entry-level alternatives available too, although I don't think that's an excuse for providing poor-quality systems, or for entrenching high price points on legacy trusted systems)

That might be right for side-project in the beginning but what happens when they grow and thousands or even millions use them? There might come a point when you have too much work and not enough time to fix the bugs or develop new feature requests.
You don't owe anyone a bug fix. They can fix it themselves and merge request.
Sometimes, the OSS (a popular) owner can't even care to merge pull requests. Because it also takes time to read the code too and make decisions to merge.