5 ms·
Why all the moralizing? Deciding when to make breaking changes is hard. Deciding it's more trouble than its worth for the developers and the users usually shoul
by rcoveson 3y ago
Why all the moralizing? Deciding when to make breaking changes is hard. Deciding it's more trouble than its worth for the developers and the users usually shouldn't be ascribed to one of "ignorance, arrogance, or fear". It's just an engineering disagreement.
I'm trying really hard not to end this flippantly with "go touch grass" but I think the mood fits. Escalating appeals to emotion are unhelpful and "cringe" when trying to convince open source developers to add your pet issue to their roadmaps.
- delta_p_delta_x 3y agoNo moralising here. I'm directly calling out developers who are completely okay with writing thousands of lines of code from scratch for a fancy new feature, but can't be bothered to directly lift proper directory handling code from other open-source projects and reuse it almost verbatim. Like I said: it's easy to just dump stuff in $HOME. It's a lot harder to properly handle paths, but it should be done anyway to be a good citizen. Ideally: check for a legacy path; if it doesn't exist, check for XDG paths; if that doesn't exist, create and use XDG paths. If a legacy path exists, notify the user of a migration and either warn them to do it, or attempt to do it for the user. I really wonder how many programs will immediately break if I suddenly set my home directory permissions to 0100.
- rcoveson 3y agoHow is lampooning people who disagree with you as "arrogant" not moralizing? Arrogance is a moral accusation. This isn't a problem where you can just copy and paste a deductively-proven-correct-for-all-inputs solution and be done. One way or another you're creating problems for existing users and existing scripts as soon as you start using the new location. A newly provisioned system with an old script (or an old user (and "old" meaning nothing more than "older than this change")) running on it is going to end up thinking that it's doing a create-or-modify on, say,`.bashrc`, when in fact it's doing an override (because existing config was in the new location). "Ignorance" is being blind to that problem (and others). "Arrogance" is pretending like it's somehow obvious that that problem isn't worse than the benefits of unifying on this convention, especially when there are so many examples of estimable projects on both sides of the issue.
- JoBrad 3y agoThe arrogance is pretending that user configs and wishes can be arbitrarily dismissed because you can’t be bothered to adhere to them. My computer is mine, not the app maker’s.
- rcoveson 3y agoYou're assuming your concerns were dismissed arbitrarily. Why? Is it possible that your concerns were considered, pros and cons were weighed, and the final decision was simply not in your favor? And what's this nonsense about "my computer, not the app maker's"? How do you think project governance works? Decisions are made, and every single time a subset of users are disappointed. That subset isn't having control of their computers taken from them. This stuff is happening out in the open, for free, and with express permission to override any behavior you want with your own patches. You can even distribute your patched version, also free of charge. It's downright humbling how free we are when it comes to bash and OpenSSH, and you have the gall to come out with "My computer is mind, not the app maker's"? Do you have any idea how low the bar is for user respect in the average app? How much money can be made if you're willing to disrespect your users? And the bash and OpenSSH folks would never, not ever consider any such breach. They have stayed firm, despite world-blanketing success, in their user-respecting free software ways. And for a disagreement of where to put config files, you'd lump them in with the user-hating rabble that makes up the rest of the software industry. We're surrounded by people who actually do arbitrarily dismiss user concerns (because the users are the product). People who actually do believe your computer belongs to them when you use their software. Please, in the middle of all this shit, keep in mind who your best allies are and just have a civil engineering disagreement with them, without insulting them.
- pbhjpbhj 3y ago>Is it possible that your concerns were considered, pros and cons were weighed, and the final decision was simply not in your favor? // Could you give a couple of example reasons why a developer would choose to ignore community standards here?
- skywhopper 3y agoYou’re making a lot of assumptions here, like that paths to config files are used by only one program, or that there’s an interactive way to prompt a user on every run, or that XDG’s extremely limited config options suit every user’s desires. Sorry, but this is not an “easy” problem, especially not for existing widely used tools like OpenSSH.
- Asooka 3y agoYeah, let's break the entire world in order to bring OpenSSH up to ideological purity (as defined by a particular group, to the exclusion of everyone else). XDG, or now Free Desktop, have no authority to dictate how others write their software. What makes their prescriptions holy? We are all equal in OSS and no one has the right to enforce their ideals on others. I myself simply want the software to work and not to suddenly change behaviour. If you're writing something entirely new, perhaps the holy edicts of the XDG are right for you. But to ask for OpenSSH to change shows a complete incompetence in software leadership and impact assessment. Anyone that suggests something that insane ought not to be listened to and all their ideas ought to be entirely disregarded.