Comment by lakpan

2 years ago

The annoying part in this debate is people spending their lives on a project and demanding to be paid for it.

Don’t do it! Who’s asking you to work on it?

I say this as a minor OSS developer who receives some donations. I love the money, but it would be pretty dumb for me to say they oughta pay me, because the only reason I work on it is addiction/compulsion/procrastination of real work.

If it bothered me that people use it for free, then I could just stop working on it and let it rot, just like lodash’ maintainer did for a few years. You always have the option.

I keep reading from project leaders like ESLint’s things like “if only they paid $1 each…” as if that made any economic sense at all. If they paid $1 each, you would not hand thousands let alone millions of users.

> I keep reading from project leaders like ESLint’s things like “if only they paid $1 each…” as if that made any economic sense at all. If they paid $1 each, you would not hand thousands let alone millions of users.

From another angle, if I gave a dollar a month to every Free Software program or library I used that month, it would cost me thousands of dollars a month. Obviously that isn't realistic. I have donated to projects before but those products need to individually make the case to me that my donation is needed. Expecting users to donate to every project they use by default just isn't realistic. Most projects won't get donations from most people most of the time; that's just the way it is. Developers should be at peace with this before they decide to personally commit themself to a project.

  • I don't think anyone is expecting you to donate to literally every project you use. However, say your business is to build and sell a product done in JS. You already have a bunch of JS devs, whom you may have even bought those sweet MacBooks. Let's also say, you're invested in keeping the code quality high, which you boast about in your product web page. Why not donate a $100/month to the JSLint project which is part of your toolchain anyway and helps you achieve your goals? The annual cost is probably less then you'd spend on the toilet paper for the office. You get a maintained product, they get some money to support their efforts. It's clearly a win win.

    • That's a fine pitch for the merit of donating to ESLint, but if that pitch isn't working for the developer then he should either make peace with doing the work for free, or stop doing the work.

      1 reply →

  • Welcome to the pre-2000's, when it was possible to actually make a living from selling software, without having to bundle it behind a SaaS paywall, hardware devices,...

    • Serious question: is it not now?

      I have worked hard to escape closed source, commercial software, but I still purchase several box products (FamilyHistorian and SuperMemo come to mind immediately) from small companies. I acknowledge e.g., Microsoft or Adobe can make a killing by making their products subscription-based, but is that the way small companies (who can accept the lack of continuous income and charge a significant portion of full price for major upgrades) have to go?

      1 reply →

> The annoying part in this debate is people spending their lives on a project and demanding to be paid for it. > Don’t do it! Who’s asking you to work on it?

I think the issue here is that we don't have a system where being an OSS contributor is a sustainable career path.

The value we get from OSS compared to the monetary compensation for that work is disproportionately small.

OSS generally doesn't depend on an army of people paid to make you buy shit you don't need or want.

  • > I think the issue here is that we don't have a system where being an OSS contributor is a sustainable career path.

    We do. You work for a company that needs software X, and you contribute patches and fixes to X from your paid time. Software X is essentially a collab between different companies then.

    The Linux base (kernel, libc and compilers) basically works that way.

  • > I think the issue here is that we don't have a system where being an OSS contributor is a sustainable career path.

    As is true for many (most?) crafts.

    If I am an artist (e.g. painting, digital art, etc). and give my work away for free, my fellow artists are not going to sympathize with my inability to make a living.

    Ditto photography ("look at all these companies taking my free stock photos and not giving me any money!") Ditto music. Ditto writing. Ditto anything that involves a significant amount of creativity.

    It's silly to expect SW to be any different.

    • > It's silly to expect SW to be any different.

      True, I can't disagree.

      However, it's important to note that there is something different about the software world, in that very large subsets of applications and infrastructure of large for-profit companies are built on top of the free labor of open source.

      Not sure if that's true in any other craft.

      If unpaid open source were to magically disappear overnight, all of the Internet and all tech-using companies would collapse immediately.

      1 reply →

    • That's why basic income is so, so necessary.

      Let people do creative work without needing to work for exploitative corporate ghouls, and let the world-killing planet-burning exploiters cry themselves to sleep on their mega-yachts about it.

    • Or maybe that's a large neon sign that we should fix those, too?

      Why isn't it a sustainable career path to be an artist or photographer or musician or writer or open source contributor? (Outside of the lucky 1% or so at the top of those crafts, of course.)

      Why are creative pursuits so much harder to make a sustainable wage on in our society? Why do we expect most of them to be unpaid hobbies? Why do we expect the arts and crafts that are the fruits of their labor to start at "cheap as free" unless they work to be insanely talented and are lucky enough to win corporate sponsorship/patronage?

      I don't have good answers either, but there are a lot of questions of what actually are we valuing about our use of our labor here, as a society, in general, across the board.

      4 replies →

  • Where is it written that being an OSS contributor should be a sustainable career? Just go write software for a company if that’s what you want to do. But why there’s an expectation that “open” source software should pay anyone is beyond me.

    • I think that society and companies benefit from FOSS even if there's no or little profit in doing it. Sure that are corporate OSS jobs, but think of all the societal benefit that comes from one-man or community FOSS projects. I feel that in an ideal situation people should be incentivized by being paid for doing that work.

  • >I think the issue here is that we don't have a system where being an OSS contributor is a sustainable career path.

    They knew that before they started.

  • > I think the issue here is that we don't have a system where being an OSS contributor is a sustainable career path.

    Why should it be? Most OSS authors get paid to work on their stuff by some company who wants it. If there's no one willing to hire you, then your software is not worth it. I don't mean this negatively. I have lots of open source projects that are not worth it. I have one that I've been hired to work on before, but am no longer working on it anymore

  • You can say that for a whole host of things people volunteer to do with their time. They still volunteer that time often knowing it comes with no compensation at all. There’s this idea of altruism and greater good that drives a lot of people beyond money.

    • With OSS, it’s more like a personal creativity outlet, or “I want this thing to exist”. It is very similar to artists and musicians. Who also have a hard time getting someone to pay for their output.

This! Its always the same. When volunteers start to complain they aren't compensated for their work, things start to smell fishy. And this kind of behaviour seems to have increased lately. Rather sad. Either I do something for the love of it, or I am going for a paying job. Sometimes people are lucky and these two are the same, but that is very much the exception.

  • Sometimes it's that devs still like the project, but more often it's probably just the fame/exposure that they don't want to lose. If you have no compassion for a project and the demand is high, it's still your decision to invest your time for no money exchange. You can just ignore the demands, if you can accept that your project might eventually fold.

    This is additionally supported by the point that only few maintainers will hand out commit rights to other devs. They rather complain about all the workload and demands than give up some of all of their control, so others with more passion or who are even paid can continue working on the project.

    If you want to be paid for your code, then pick a license model that matches it, but it will mean that you won't rise to the top, as only a limited amount of people will use it.

    I wrote some more thoughts on this, during the "Moq incident" earlier this year: https://duerrenberger.dev/blog/2023/09/23/foss-funding/

  • > Either I do something for the love of it, or I am going for a paying job. Sometimes people are lucky and these two are the same, but that is very much the exception.

    Why should that be the exception? Why shouldn't people's passions, especially when they are widely useful to others, not be encouraged and turned into paying jobs? Everyone wins. The passionate can keep doing what they're passionate about without having to split their attention to a job to pay the bills, and in exchange everyone else gets better quality output.

    • > Why shouldn't people's passions, especially when they are widely useful to others, not be encouraged and turned into paying jobs?

      Because there is no fair way of estimating what someone's work is worth without a free market. Sometimes it turns up weird outcomes like maintaining a critical driver being worth $0.

      If someone is willing to do something for free and the marginal cost of copying the work is 0 then by simple economics they will not get paid for doing the thing. Same logic applies to having children, advocating good ideas in politics and a lot of creative work.

      Besides, why should someone doing what they are passionate about entitle them to a leg up? What about someone doing plumbing and hating it? They're making more of a sacrifice for the benefit of others, they deserve more money. And if someone is adding enormous value then let them who recognise it pay for it.

      Nothing wrong with people working on their passions and making money of course, but words like 'should' are suspicious. Once you get to software development, people are in a world where market forces are fair and reasonable.

      1 reply →

  • I build stuff because I love it. But why should I publish it? If I publish it, why should I release it under a permissive license?

    I think people get pissed off because they're working out of a spirit of generosity, and the users who they interact with most are definitely not.

    Suppose my neighborhood regularly throws a block party, and everyone makes and shares some food, because they enjoy making and sharing food. Great! But suppose one neighbor grabs portions of everyone's freely shared dishes, packages them up, and begins selling your freely-shared food as plate lunches to others, and pocketing the proceeds. They come back and ask that you use more spice, and by the way, do you have any napkins and plastic cutlery? Is the right response here "well, if you don't love making and sharing food for the love of it, you should stop?" Or is it reasonable to want to share with people who are willing to engage in the same spirit of mutual benefit?

    I build stuff and keep my projects to myself. I would happily share with other people who are building hobby projects for the love of it. I would happily let almost any non-profit use my work for free (perhaps excluding some political or aggressively religious organizations). I have zero desire to gift anything to anyone's for-profit company. But for some reason, there's a strong stigma against sharing source code but not allowing a total free-for-all of what it's published for. "That's not open source," I'm told. So I don't publish at all, but that has nothing to do with not loving what I build.

    Meanwhile, a hobbyist makes music, and publishes some recordings with a CC non-commercial license, people get it. No one says, "oh if you object to companies using your recording as background in their ads, it must be because you don't love making music."

> I keep reading from project leaders like ESLint’s things like “if only they paid $1 each…” as if that made any economic sense at all. If they paid $1 each, you would not [have] thousands let alone millions of users.

The dirty secret of the GitHub era of open source is that many developers and open source codebases would be better off if such a thing happened.

A lot of stuff associated with the development processes that are fashionable with GitHub and programmer Twitter provide net negative value (e.g. issue close bots) or neutral value at best (because they solve a problem that really exists but not at the scale that most downstream projects that opt in are actually at). If it suddenly became necessary or even just strongly encouraged for programmers to pay a dollar a month for things that are only as pervasive as they are because they are free and give the false sense of productivity, then we'd see a huge dropoff in the adoption and use of lots of things that are of dubious value to begin with.

It goes both ways. Crowd blame the maintainer if they change the license for the future updates. So it makes sense to blame the crowd if they want the updates for free.

But I agree with you. Open source projects shouldn't have any obligation to listen to the people if they change the license. Even if they intentionally bait and switch, the users should only expect the current version to be open source and shouldn't expect free updates for life.

  • Yes, if it's open source then users don't have any right to expect that it'll be maintained by someone, but if a project deliberately uses the bait and switch trick to get people to start using the project when it's open source in the hope of trapping them, then that's clearly manipulative and ruins trust in other open source projects.

I think the general pattern is that someone releases something for free, then people start using it, and start depending on it, and then start opening PRs and issues, and then the person who did it for free in their spare time is expected to respond to those issues, etc. Now other people are making money from your work, but demanding that you work on it for free.

Mostly this is the point where people start thinking about how to monetize it -- and they should! Your time is valuable, you should get paid for it. If you don't figure out how to get in the middle of the cash flows that are happening _because of your work_, someone else will do it.

  • The book shareware heroes discusses this at length through the various solutions shareware developers came up with on how to monetize software written and given out for free.

As long as it's some hobby thing where you don't make any promises. If people start expecting stuff, they should start paying for it.

I suppose projects can get so big that developers literally don't have enough free time to fulfill people's expectations even if they wanted to do it. At that point they should get sponsored so that it become possible for them to devote more time to their projects. Sponsorships seem like a perfectly ethical way to make money to me. With enough sponsors people can afford to quit their jobs and work on their own thing full time. I've seen news of developers who did just that when they got enough support. I hope they're doing well.

Exactly. Open source has always meant exactly that and _only_ that. Support has always been (and should always be) on a best-effort basis. If you absolutely need the support, pay for it! If you can't or don't want to and need to fix it now, fork it!

(I maintained a small OSS project for a few years. I loved the folks that would get all mad when it didn't do x even though the code should theoretically be able to do it and "it's not that hard!". If only they submitted pull requests with their issues...)

Who’s asking you to work on it?

All of the people who demand things from the maintainers are. Very few of them are willing to sponsor or pay consulting fees. If you give up they complain loudly, and then often pay a contractor to do the work they wanted.

If they paid $1 each, you would not hand thousands let alone millions of users.

You could though, if the mindset of open source software consumers were to shift to 'pay for things you get value from'. Even if it was $1000 and only companies that paid, the landscape would shift dramatically.

  • > All of the people who demand things from the maintainers are.

    I think OP's point is that the maintainer is under no obligation to deliver on these demands.

  • > You could though, if the mindset of open source software consumers were to shift to 'pay for things you get value from'

    What if the mindset of producers were to shift? What if people only worked for free on things that they want to work on? Isn't that both more realistic and better for everyone?

  • >You could though, if the mindset of open source software consumers were to shift to 'pay for things you get value from'. Even if it was $1000 and only companies that paid, the landscape would shift dramatically.

    Any solution to a problem that relies on humans becoming more ethical is not, in fact, a solution.

  • Knowing most large corps, they would rather pay a contractor $175/hr for two months than sign a $20/month license. Also, you usually cannot hire the open-source maintainer as the contractor, you have to use some company with insider relationships.

    It isnt the engineering manager's fault at any large company. The policies make no sense, but there may be a larger wisdom that I do not understand.

    • So become a contractor, work for an inflated fee for two months. Then take a month off and work for yourself on whatever you want. Or just do nothing, if you prefer that to working on your own projects.

      Economic injustices and inefficiencies can and do exist in free-ish markets. But this isn't one of them. It's more like "old man shouts at supply and demand".

    • absolutely true - once sat around in a meeting which the combined cost of the contractors in that meeting was ~$2500 per hour - we met for 90 minutes arguing about which of the customer departments would be responsible for paying the $50/month subscription fee for twilio services for the year.

      We could have paid for 50 months of that service with the money we spent trying to figure out who would be responsible for the bill.

  • If an individual were not the maintainer for a project, they would not be receiving demands from users of that project. The only reason they receive those demands is because they choose to be the maintainer. If they step down from that roll, all of the expectations go away.

    If the reason you're doing something is for money, and you're not getting money, then stop doing it. It's that simple.

  • > All of the people who demand things from the maintainers are. Very few of them are willing to sponsor or pay consulting fees. If you give up they complain loudly, and then often pay a contractor to do the work they wanted.

    Ignore them. I mean, it's not like they're paying you. Scratch your own itch instead.

    I'm probably being dense, but I'm still not seeing a problem. I think if we dig, we'll find non-monetary incentives that open source authors are a bit shy about admitting to. Otherwise why hold on to the project at all? If you're not being paid, and you think you should be, and that's the only reason you're building the thing, just stop building it.

    Open source isn't unsustainable. We've got decades of evidence of that.

You mean you would write your own leftpad function instead of pulling in a $1 npm dependency

That is crazy. /s

  • It would actually be amazing if you could do that—somehow stub dependencies with your own libraries.

    Because the number of times I’ve needed a left pad lib is literally 0, but other, more useful libraries always have it as a dependency.