Readit News logoReadit News
DannyBee · 3 years ago
I guess I'll be contrarian.

Being a commercial product is hard. Having customers, supporting them, etc is very hard. Most can't sustain themselves either. Especially when competing with open source.

Every time I read about "criminal underfunding" of open source, it comes off as people wanting to be able to capture some of the value of being commercial without any of the cost. Being open source means more people use your software. But they owe you nothing at all for that. Enough value to pay themselves to work on it is not a small amount of value, and most commercial software doesn't make it there either.

If you want people to pay then be paid software. Otherwise you often just want a contract with terms nobody wants to pay you for. There is nothing abnormal about that, and it's certainly not "criminal underfunding".

I'm sorry it's not as easy as people want it to be, but it never was - this isn't new, and it not likely to be anytime soon.

The main difference now seems to be how many more people feel their users should have greater responsibility than they require of them. That's one of the things that often makes your product popular though.

ChrisMarshallNY · 3 years ago
This is a good discussion.

In my own case, I write every one of my projects as if it were supported, released, commercial software. I wrote shipping, commercial software for my entire career, and got in the habit. It isn’t that much fun. Lots of boring bits, in writing high-Quality, release-grade, software.

That said, thank Cthulhu that I don’t depend on it for a living.

I’m pretty much my only customer. I write software that I want, and use it in almost everything I write. I also archive projects and apps that I am no longer actively supporting.

I don’t really care whether or not anyone else uses it. In fact, the fewer, the better.

littlestymaar · 3 years ago
This comment is really lacking some nuance:

- of course, building a successful commercial software (company) is a lot of work

- but if you manage to create a commercial software that reach even a fraction of libjpeg-turbo's success, you'd get very rich, with lots and lots of zeros on your bank account, and a family free from material problems for decades to come.

- nobody, including the author, claim that he should be rich. We just think that it's a pity that he's not able to make decent money, despite creating tremendous value to very profitable companies (and making an much easier job to thousands of developers far less skilled than he is, while still making multiple times his paycheck).

fluoridation · 3 years ago
>but if you manage to create a commercial software that reach even a fraction of libjpeg-turbo's success, you'd get very rich, with lots and lots of zeros on your bank account, and a family free from material problems for decades to come.

This is a non sequitur, given that libjpeg-turbo has reached libjpeg-turbo's success and its author is not several times very rich. It is unfortunately very possible to create a product that's very popular and that takes a lot of effort to work on, but which most people are not willing to spend any money on.

NovaDudely · 3 years ago
As a big Free/Libre software guy... yeah, I agree. Wish it wasn't that way but that is just how it can be.
danudey · 3 years ago
I'm not sure I see it the same way.

Maintaining open-source software requires time. There is an opportunity cost, and people (unfortunately) need to feed their families, pay their rent, and so on. The problem here is that the developer faces a choice: continue working on a piece of software that makes things better for thousands (or tens of thousands) of companies and individuals, or put that time towards something that benefits him and his family directly and ensures that they can continue to survive and thrive in a capital-based society.

If he moved libjpeg-turbo to paid software (not that I expect that's possible) then I'm sure a lot of companies would pay for it, and a lot of open-source projects (or smaller companies) would be forced to stop using it. That's not good for anyone (except the developer).

I think the thing to consider is this: if everyone who's ever saved at least two dollars on time, bandwidth, CPU power consumption, cloud compute costs, or any other factor gave him one of those dollars, he'd be set for life. He could make libjpeg-turbo his full-time job indefinitely.

He's not asking for a six-figure salary, but it's difficult to look at a project that you're spending time and effort on that's saving other people such huge amounts of money and compare that to the meagre amounts anyone is willing to contribute for it and to consider that a worthwhile tradeoff.

In the end, he's making that choice: he's going to spend time doing something else. He doesn't come across as feeling entitled (his argument that open-source software should be more funded/appreciated than it is doesn't seem to be in debate), he's just faced with a choice and he's letting people know ahead of time what choice he made.

ThenAsNow · 3 years ago
> If you want people to pay then be paid software.

It seems like source available type licenses (e.g., Kyle Mitchell's Big Time license: https://bigtimelicense.com/ ) are a reasonable middle ground for being paid software without giving up many of the benefits of open source.

I'm hoping there's a notable uptick in adoption of licenses like these.

josephcsible · 3 years ago
They're not reasonable at all. They deceive users and leach off of the good name of open source while preventing any actual open source projects from incorporating any of their code. I'm hoping there's a notable drop in adoption of licenses like them.
altairprime · 3 years ago
This is the whole point of modern open source: to be able to exploit others for their works, without them having any recourse for compensation or entanglement when you make lots of money derived from their labor. It’s a technologist’s libertarian dream come true. It’s also a primary cause of burnout in open source developers — but that doesn’t matter, because there will always be more open source developers to exploit, so long as they believe in open source strongly enough.
whateveracct · 3 years ago
I think the idea of an open source developer as a career and lifestyle is the issue here.
mnau · 3 years ago
Open source developers are not being paid. They published under licenses that allow zero cost and businesses won't pay.

If you want to write open source code for living, you have to find a business model that works. In this case, it is even under permissive license.

* code freeze - code is under open source license only a certain time after commit/release. Maybe add "support", aka you get security fixes in timely manner.

* open core - put some features behind commericial door.

* go ImageSharp way of split license. That one is fun, because MS deprecated/killed (throws exceptions on attempt to use) official image/font library and that was was intended replacement. Rather blatant offloading of costs.

This has been rehashed several time (core-js recently https://github.com/zloirock/core-js/blob/master/docs/2023-02...).

The gist of it is: Companies are not going to pay if they don't have to. That is the reality and it's not going to change. Plan accordingly.

orf · 3 years ago
It’s not just companies though, it’s people. Lower costs win, factoring in quality which is just another way of saying “how many replacements of this cheap thing do I need before it’s with buying this expensive thing”.
Kwpolska · 3 years ago
Or get a job and do open source software in your free time/not at all.
kelnos · 3 years ago
I'm torn on this. On one hand I do agree and lament that many foundational open source products are underfunded to the detriment of its users.

But like I say when a for-profit corporation complains and blames outside forces when they have trouble with their finances: it is not our responsibility to make your business model work.

If you want to get paid a certain amount to write software, donations are often not a reliable way to do that. As much as I am an open-source advocate, dual licensing and requiring payments for commercial use seems like a better path to stable income, assuming others believe your software is worth the price.

armitron · 3 years ago
A lot of open source authors know that of course, but still, they choose the begging-for-donations / appeals-to-corporate-funding route once their project becomes popular.

Dual licensing and requiring payments for commercial use comes with risk as companies could flock to alternatives or forks, but at the end of the day, is the better model as it establishes expectations upfront and makes it clear that one fully stands behind one's product.

planede · 3 years ago
There are probably a ton of projects that depend on libjpeg-turbo, but the first thing that comes to mind are browser vendors. It's probably fair to say that most jpegs are viewed in web browsers. They should really just chip in, or even formally employ the author to just continue working on this library.
st_goliath · 3 years ago
FWIW, Mozilla has been maintaining their own fork for quite a while now[1]

But AFAIK most Linux Distros have been using libjpeg-turbo as a drop-in replacement for libjpeg, after some drama in ~2010 where libjpeg came under new management, decided to break ABI/API several times over and add incompatible, non-standard format extensions[2].

[1] https://github.com/mozilla/mozjpeg

[2] https://en.wikipedia.org/wiki/Libjpeg#History

iggldiggl · 3 years ago
> add incompatible, non-standard format extensions

and change the down-/upsampling algorithm for images with chroma subsampling such that it tends to introduce additional artefacts, because when decoding e.g. a classic 4:2:0 subsampled image (i.e. chroma resolution is half the luma resolution both horizontally and vertically), each subsampled 8x8 chroma block is now upscaled individually to 16x16 for the final image, which can and does introduce additional artefacts at the boundaries between each 16x16 px block in the final image. But the current libjpeg maintainer insists on that new algorithm because it is mathematically more beauftiful…

planede · 3 years ago
Interesting, however I found this in the mozjpeg readme:

> MozJPEG is a patch for libjpeg-turbo. Please send pull requests to libjpeg-turbo if the changes aren't specific to newly-added MozJPEG-only compression code. This project aims to keep differences with libjpeg-turbo minimal, so whenever possible, improvements and bug fixes should go there first.

So they still rely on upstream development of libjpeg-turbo. Unless the readme is out of date and they don't bother syncing with libjpeg-turbo now.

muizelaar · 3 years ago
Firefox doesn't use mozjpeg, it just uses libjpeg-turbo: https://searchfox.org/mozilla-central/source/media/libjpeg

Mozilla has sponsored libjpeg-turbo in the past: https://libjpeg-turbo.org/About/Sponsors

dzogchen · 3 years ago
Although MapLibre Native is primarily a vector-tile based maps renderer, we also support raster images and we depend on libjpeg-turbo for it.
mceachen · 3 years ago
Solution: ask your company to sponsor the project. It’s easy:

https://github.com/sponsors/libjpeg-turbo

Ideally, every developer in every large co would be given some budget to spread sponsorship money around as they saw fit—ask your manager to make it happen. Note that they may be able to register this as a marketing expense, which may be more favorable to your accounting department.

(I use this library in PhotoStructure via Sharp and libvips, so I just started sponsoring it)

omoikane · 3 years ago
Near the end of the linked post:

   How can you help? If every individual developer who used libjpeg-turbo on a regular basis donated just $5-10/month to the project through GitHub Sponsors (https://github.com/sponsors/libjpeg-turbo), we'd have a healthy amount of general funding.

zdragnar · 3 years ago
> Ideally, every developer in every large co would be given some budget to spread sponsorship money around as they saw fit

If I'm not mistaken, there is a ton of overhead ensuring that the money doesn't directly benefit any of the employees themselves. There are all sorts of regulations around how things like gifts and donations are accounted for, taxed and so forth. Then, you also wade into territory of graft, bribes and so on (employees of company A funneling money into open source project B, which is worked on by employees of potential customer C).

sersi · 3 years ago
I've tried that in the past and had a hard time doing so. I managed to get the company to sponsor projects like sidekiq because there were some benefits in doing so (even if we actually never used the enterprise benefits) but I haven't been able to convince them to donate any money. They'd just tell me that they don't see any benefits in doing so.

I end up donating with my own money to opensource projects I value but I don't have enough money to properly fund all projects I would like.

AndyMcConachie · 3 years ago
The solution is probably to do what academics do. Write grant proposals.

https://nlnet.nl/news/2023/20230401-call.html

If you want to write OSS for a living get good at writing grant proposals. There's money out there, but you have to know where it is and you have to ask for it.

turnsout · 3 years ago
Sad to see this—libjpeg-turbo is great! I once built it into an iOS project to allow reading & writing of giant JPEGs when the first party API used too much RAM.
pastage · 3 years ago
This is part of something we pay 300k per year for, should they sponsor the projects they include in their product?