Agree we should treat people better but also: for the love of god learn semver. Breaking changes in minor and patches is so sloppy.
But still complainers fault for not pinning, because you cannot trust semver at all. Vicious cycle
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
Follow the wormhole through a path of communities !webdev@programming.dev
Agree we should treat people better but also: for the love of god learn semver. Breaking changes in minor and patches is so sloppy.
But still complainers fault for not pinning, because you cannot trust semver at all. Vicious cycle
Let me preface this by saying that you should never, ever be rude to open source maintainers.
But good god, if you are writing software for other programmers, stop making breaking changes. By all means, break your software. Don't break mine.
Imagine the chaos if all the FOSS maintainers collectively went on strike until their demands were met. They could demand so, so much despite being volunteers.
I mean, I told a paying customer to get fucked yesterday over demands so you can definitely say it to a non-paying person.
Why not fire back? It's not like you can really get fired from an open source project.
I’m not pretending breaking changes don’t cause real pain (that’s what the issue is about). But I keep coming back to a boundary question: if you’re not paying for it, do you actually get to demand anything? (Obviously yes, but we still need some boundaries)
And if the issue makes you lose face, it's clear you've been dealing with it for quite some time and should've learned to lock your dependencies and test after updates. Unacceptable.
Not so long ago someone here argued with me that open source devs have a lot of responsibilities and if they can't make their project easy to contribute they should be banned from open source community (no idea what it would look like). They got upvotes too. Nice to see some sanity here again.
When that whole rsync stuff came out, I remember arguing with someone about this too.
Like, I'm not defending AI or the use thereof. I also don't know the full details of that situation, or how much AI the dev actually used, or for what. That's not the subject of the argument I was making.
Basically, I was saying that it's a FOSS project and the guy has been maintaining it more or less by himself for decades at this point, and it's become a critical infrastructure that an enormous number of projects (both professional and hobbyist) rely on.
I said if these people didn't like how the guy was maintaining his project (for free, and thanklessly at that), then they could either contribute, fork it, or make their own.
A couple people in that thread were doubling down about how the dev somehow apparently has some sort of responsibility or duty or obligation to run his project the way they think he should. They just didn't seem to get the fact that he's doing it for free, it's his own project, and it's not his fault that the majority of linux users decided to make it an indispensable part of their backup processes.
But these people said everything from "you can't just fork a major project like this, that's an enormous task with xyz responsibilities" (as if that doesn't strengthen the point that it is an enormous task which this guy is choosing to do for free) to "if so much critical infrastructure depends on it, then it does oblige the developer to maintain it in such-and-such a way."
In the end, I didn't get through to them. Not that I expected to, but sometimes arguing with these people is more for the lurkers who will read the chain rather than for the people I'm actually arguing with...
Contribute, fork it, or make their own
Except this is a bit silly. So, for example, rsync does have an alternative already on the market; it’s called openrsync, but I tried to just “s/rsync/openrsync/“ (in a script) and it is not a 1:1 replacement. And it’s not even close.
Contributing requires the project maintainer to not be a dick, but with rsync, people have probably been “oh, he’s been doing so good as they are.”
I might fork rsync (to version freeze) before the AI adds, but it complicates system administration. System administration is easiest using the package management systems. I, personally, believe there are like four Linux versions: pacman, dnf/yum, aptitude, and source.
Maybe it's silly to make your own fork, but unless someone else does it and you opt for their alternative, those are your options.
Complaining about how the dev decides to maintain his own project that he does for free is not one of them.
He's been maintaining critical infrastructure for decades. Maybe if you make him a billionaire then he'll have to run his project however you demand, but as long as this is just a passion project of his, it's no one else's business. They can submit bug reports, they can contribute PRs, but cussing him out because you don't like how he manages his own project is just dumb.
Having been on the maintainer side of a popular project once before, I've pretty much just taken the mindset of "if you owe them nothing, then they owe you nothing". Basically, pay them, or stop making demands (though suggestions and bug reports are usually welcome by maintainers).
Incidentally, this is why I didn't accept donations for that project (though I have nothing against donations in general, of course). I didn't want to even feel a sense of responsibility to maintain a project I knew I'd eventually burn out from.
I wouldn't take it as far as paying allows demands. If I decided to pick up some litter in my way in public and some sees it. Just because they shoves a $20 in my face, doesn't mean they can demand and expect I'll pick up all the other trash around. There would need to be contract (even just Social) negotiations at the least!
I wouldn't take it as far as paying allows demands.
Neither would I.
Paying implies exchanging money for something the other party is selling, and would require the other party (the maintainer) to sell it. Shoving $20 in someone's face is a donation, not a payment.
I just refused donations for myself. I would never claim a donation gives someone any special right to demand something.
if you're not paying for it, do you actually get to demand anything? (Obviously yes, but we still need some boundaries)
Wrong!! Obviously no. You're not entitled to demand anything. You can ask politely.
You don't like the project? Go and use another alternative.
There is no alternative? Go and write your own.
You don't have the skills? Go and pay somebody with the skills. And if you want the most skilled for the job, probably is the person maintaining that project that you don't like but still keep using for free.
"Sorry about that. We will issue a full refund."
Guarantee triple their money back
Love it how everybody's mocking this entitled clown.
I don't think there's a particular need to defuse into a productive discussion. Something like that, with no repro or respect - lock and close.
Naah, I don't really demand anything if the author breaks something on update. I just asked if the breaking changes are intentional and if there's a workaround. Failing that, I revert and look for other libraries or roll my own. To me Open Source is always about making something you love without any obligation. Not even to follow semver.
That view of open source only applies for non-profits and hobbyists, releasing code that solves their problems altruistically.
Corporations, startups, and VC's abuse open source by using it as a means to gain goodwill and trust until they are funded or profitable, then they perform a bait and switch or other parasitic practices; they deserve the hate, and can eat shit and die.
Also, if you're not gonna follow semver don't use semver. Just use YYYY-MM-DD or whatever. Quite simple really.
Regarding this project; anyone who chooses to use new (thus untrustworthy) foss libraries in prod without version pinning and thorough integration testing is an idiot.
V1.2.3 is not unique to semver tho. So it could really be anything like linux 7.1.2. To be fair, linux does predate semver by a long time. But the point is that not every software with #.#.# needs to be semver. And I think better-auth, from the issue linked, has stated that they don't yet follow semver somewhere in their docs.
Complains about improper release management.
Apparently not using lockfiles for prod.
This is not a serious developer.
Yeah, I started a major project 20 years that got a lot of attention.
I gave it up after a few months because whilst there was a lot of support, you have to constantly fight against a holes who will tell you how much you suck compared to other options, or how unnecessary you are
He may be an asshole, but he's not wrong.
No, he is wrong because he should be pinning a specific version of his dependencies, and then reading patch notes before upgrading. This chud lost face because they didn’t pin their dependencies. Their project was broken for an afternoon, and they flamed a maintainer because they couldn’t be bothered to RTFM before they upgraded.
No, he is wrong. He blindly assumed that the project followed semver, and kept insisting that it did despite the obvious evidence to the contrary. That's entirely on him
Pin version.
Problem solved.
From the license:
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
It's the necessary tradeoff of free/open source software. You get something for free and with permission to do (almost) anything with it, but you get no warranties.
If this user had simply pointed out the issue it'd have been totally fine, the dev(s) might have missed it and it'd be helpful to let them know. The entitlement shown here is not OK in any way, regardless of the validity of the point made.
This guy has a public identity and even has some very starred repos. I wonder if he gave so much as a thought regarding his whole company seeing his disgusting attitude.
I was surprised to find out that he actually stuck with his original issue text and defended it later on. I understand being frustrated and all, but an apology about the tone was definitely in order.
this is the Next.JS dev
Guy keeps talking about their "customers" and they don't charge a dime. I'm not sure that word means what he thinks it means. They have users, and that's exactly what he's acting like.
The dude is a luser
The first version included a 'Fuck you' but they edited it away.
I thought the proper way to treat maintainers was to shamelessly and immediately volunteer other people's labor for endless forks every time something we don't like happens?
Coming from /all, not a programmer, user of multiple FOSS, ... thank you thank you thank you! I'm grateful I've been able to leave subscription ecosystems without a loss of important tool sets.