this post was submitted on 17 Feb 2024
347 points (97.8% liked)

Programming

17352 readers
334 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
all 43 comments
sorted by: hot top controversial new old
[–] [email protected] 35 points 8 months ago (1 children)

My fundamental position is that paying people to work on open source is good, full stop, no exceptions. We need to stop criticizing maintainers getting paid, and start celebrating. Yes, all of the mechanisms are flawed in some way, but that’s because the world is flawed, and it’s not the fault of the people taking money. Yelling at maintainers who’ve found a way to make a living is wrong.

Fully agreed. Puritans of any kind are annoying and can't think for themselves. Opensource can't exist in this world without somebody that has money and time to write it. If we want more opensource, we need to pay those writing it to spend more time doing so.

If you really think you can live outside of capitalism in a capitalist world, go off the grid. Posting on the internet is already proof that you're failing your own ideals.

CC BY-NC-SA 4.0

[–] [email protected] -5 points 8 months ago (1 children)

Why? I use the internet to share media and culture via P2P. Is that failing my ideals? Also I don't remember Stallman being a commie, to be fair.

And opensource CAN exist without people paying the mantainers, people have being giving things away to the community since time is time This trend of companies paying mintainers is relatively new.

Plus, on the other hand, as long as it is full open source, I can't see why anyone would have a problem with the maintainers getting paid, specially through a foundation via donarions and/or crowdfunding.

[–] [email protected] 1 points 8 months ago (1 children)

Why? I use the internet to share media and culture via P2P. Is that failing my ideals?

"If you really think you can live outside of capitalism in a capitalist world, go off the grid." are these your ideals?

Also I don’t remember Stallman being a commie, to be fair.

What does that have to do with anything?

And opensource CAN exist without people paying the mantainers, people have being giving things away to the community since time is time

Giving money in return for code is payment. A donation is payment. A maintainer getting money during their day job and then working on opensource in their free time is payment.

CC BY-NC-SA 4.0

[–] [email protected] 3 points 8 months ago (1 children)
  1. No, but I mean it IS possible to take steps against and live outside capitalism while inside capitalism is possible. It's a grayscale, not "all or nothing".
  2. Meaning, that open source not being paid is not inherently outside capitalism.
  3. Yeah, sure is. But they are crowd sourced paymemts, instead of corporate payments.
[–] [email protected] 3 points 8 months ago

I think we are agreeing with each other: life is not black and white and puritans want to make it.

[–] [email protected] 17 points 8 months ago (3 children)

At my work we use a few open source projects in critical infra, but I'm sad that we are pretty shit at budgeting for donating to said projects

[–] [email protected] 5 points 8 months ago* (last edited 8 months ago) (1 children)

If budgeting donations is difficult, maybe donating time is more viable?

Employees are already paid for. Less people involved to approve too.

If you have the autonomy you may even be able to to without explicit approval.

[–] [email protected] 4 points 8 months ago

Yeah we are pretty bad at upstreaming too...

[–] [email protected] 5 points 8 months ago

At my work, I can be probably safely assume there is no such budget and in fact open source projects are actively used to create our own branded products (that may or may not be exclusively used internally).

You probably only need a few guesses at where I work.

[–] [email protected] 2 points 8 months ago (1 children)

if you have your engineers developing a feature for selfish reasons, and the code is good, you can share it right?

[–] [email protected] 7 points 8 months ago (1 children)

"No we're not giving out our IP for free"

[–] [email protected] 1 points 8 months ago

open source project repos on your company github is how you attract top talent i thought :(

[–] [email protected] 15 points 8 months ago (1 children)

IMHO the reality is more complicated than what's described here.

  1. Open source is sustainable (in the sense that people will continue to do it), even without the maintainers getting paid, for better or worse. This is evidenced by the history and the majority of open source projects now.

  2. The bait-and-switch problem, which gets the maintainers paid, hurts the ecosystem in the long run, which relies heavily on the good faith.

[–] [email protected] 11 points 8 months ago (1 children)

Many open source projects are not developed by unpaid volunteers. The Linux kernel, for example, is primarily developed by professionals on paid time. I'm not convinced the Linux kernel development would continue without business contribution. I'm not convinced all open source projects could just continue without any payment.

[–] [email protected] 3 points 8 months ago

I think if you look at your average "package" from GitHub, that is published to npm, nuget, or the associated language rep, by and large they're not making any money.

Sure big projects are making money and have paid development teams, but that's not true at the individual library level in many cases.

[–] [email protected] 1 points 8 months ago
[–] [email protected] 63 points 8 months ago

I feel like this is a very modern problem with the community. I've been in open source for a long time, I've been employed by some of these companies to write open source things.

Most open source stuff was created by someone who was employed to write that open source thing. There are exceptions, of course, but most things came about because of a need, and that need is often related to work. Companies used to be a lot better with allowing open sourcing of components.

Then, there are all the community contributions that come from commercial reasons. If someone working at a company fixes a bug they encounter, that's someone being paid to write open source software.

I do not understand the reaction people are having to this now. The open source ecosystem was built on this.

[–] [email protected] 24 points 8 months ago (1 children)

Donations is a good way to handle paying maintainers, but unfortunately most people don't even know what open source software is or what software they depend on greatly that would deserve donations.

[–] [email protected] 32 points 8 months ago (2 children)

The problem is a bit deeper than this, because even if a user is familiar with open source software and is willing to support application projects that they like, they aren't going to know what other open source modules or libraries are being used in those projects and probably wouldn't think to check or to support those developers. The user front-end is visible, but the stack of dependencies often isn't and these days no software is a monolith. How many end users would think about donating to Qt directly, or alsa, or libusb?

[–] [email protected] 17 points 8 months ago* (last edited 8 months ago) (2 children)

This is one of the major universal gaps in FOSS. I have a yearly reminder set to donate, and a list of projects within it — I do it this way because a) every project I've encountered only offer MONTHLY recurring, which is stupid as fuck because b) no I'm not fucking donating the $5 a month minimum to dozens of projects and c) larger donations usually have lower fees (e.g. donating $60 usually has lower fees than 12 x $5); why the fuck would I give the banks 30% more of my donation than necessary?

Users shouldn't have to manually deal with this shit, and valuable projects shouldn't have to beg for pennies. There should be a FOSS payment management project that enables users to create an account, add ALL of the FOSS projects they use (or want to donate to), set a monthly / yearly contribution, and be done with it. Users can choose to allocate percentages or let the software divide the money between all of them evenly, including all of their FOSS dependencies.

[–] [email protected] -2 points 8 months ago

If you don't want to pay banks, ask the devs for a crypto address perhaps

[–] [email protected] 7 points 8 months ago* (last edited 8 months ago) (2 children)

There should be a FOSS payment management project that enables users to create an account, add ALL of the FOSS projects they use (or want to donate to), set a monthly / yearly contribution, and be done with it. Users can choose to allocate percentages or let the software divide the money between all of them evenly

Well, sure but at some point that donated money has to get distributed out to the accounts of the individual developers, and then you still have the transaction fee problem.

It might seem like the obvious solution is to collect donation amounts for a developer until some minimum value is reached and then distribute it, but then the donation platform is holding money (in trust? in escrow? not sure) basically making them a bank, which makes the whole thing a lot more complicated in terms of financial regulation (not impossible, but probably too expensive to operate to be worthwhile).

including all of their FOSS dependencies

I think this part might be a practical impossibility. All of the larger/more popular open source projects are basically this:

[–] [email protected] -1 points 8 months ago* (last edited 8 months ago)

Correction! It's practically impossible to implement with conventional fiat banking. It would be functionally plausible to implement if the donations were in cryptocurrencies, with a built in audit trail, and smart contracts handling the escrow and distribution — though FOSS funding would be exposed to all the downsides of cryptocurrencies (high volatility, low liquidity, regulatory fuckery, etc).

[–] [email protected] 8 points 8 months ago (1 children)

That XKCD reminds me of the case a year or three ago where some solo dev that no-one had ever heard of was maintaining a library that a couple of other very popular and major libraries depended on. Something somewhere broke for some reason, and normally this guy would've been all over it before most people even realized there had been a problem, but he was in hospital or jail or something, so dozens of huge projects that indirectly relied on his library came crashing down.

What upset me most was reading the community discussion. I didn't see a single person saying, "How can we make sure that some money gets to this guy and not just the more visible libraries that rely so heavily on his work?", even though the issue was obliquely raised in several places, but I did see quite a few saying, "How can we wrest this code out of this guy's hands against his will and make multiple other people maintain it (but not me, I'm too busy) so we don't have a single point of failure?"

[–] [email protected] 5 points 8 months ago

Well obviously giving financial support is important, but having more than 1 maintainer is good too. Because any amount of money wouldn't have stopped him from going to the hospital / jail, and certainly wouldn't help if he got hit by a bus.

[–] [email protected] 13 points 8 months ago (1 children)

When I buy a turnip from the grocery store I don't have to pay the farmer directly.

If I donate to debian, that I depend on , then debian (morally) should disburse some of that donation to the linux kernel that debian depends on.

[–] [email protected] 4 points 8 months ago (1 children)

This makes logical sense on the face of it, but in practice dependency stacks can be very broad and very deep. I doubt there would be enough donation money to make the effort of distributing it worthwhile, and at some point there would be so many small transactions that the transaction fees would eat up a significant amount.

Especially for something as complex as an OS, the dependency inventory is less like a list and more like a fractal.

[–] [email protected] 3 points 8 months ago* (last edited 8 months ago)

It's a donation so you're never going to have perfect pricing everything down to the nearest penny or remunerating each person-hour worked. I think It's about something rough and ready that is better than nothing. And it's all goverened by morality anyway . . .
so doomed to failure on that side.

Buy hypothetically a simple principle with reasonable administration cost, like each 3 months, each node shoud add up all donations, slice off 25-50% , split it equally among their top 5 or 10 most important dependencies - just guess, and maybe swap from quarter to quarter if if there's doubt. There's some wiggle room there for small projects to do less and large over funded projects to do more.

Each node in the network could follow a simple rule like that, making a limited number of transactions each time period ,and you'd probably end up with quite a complex outcome after a few iterations (years).

The real trick would be having enough nodes in the network that actually enact such a simple rule. (Apart from having enough donations flow in to the consumer level projects of course).
But enough nodes and enough inflow and the fractal would work for you - roughly.

THe speed is an issue, the more often you settle up then quicker people see money, but the more the admin cost.
But even doing it quaterly is not slower than doing nothing.

Such a model is not something anyone will be securing bank loans off though, so if that's the point then you probably need a paid licensing / service model of some sourt maybe Canonical and redhat.