this post was submitted on 24 Jan 2024
1 points (100.0% liked)

Programming Horror

1888 readers
1 users here now

Welcome to Programming Horror!

This is a place to share strange or terrible code you come across.

For more general memes about programming there's also Programmer Humor.

Looking for mods. If youre interested in moderating the community feel free to dm @[email protected]

Rules

Credits

founded 1 year ago
MODERATORS
 

I was looking through various RCON tools and found this. Someone does not like commit messages.

top 25 comments
sorted by: hot top controversial new old
[–] [email protected] 0 points 9 months ago

I think that there's one important point to consider that may not be immediately obvious, when deciding about commit messages in FOSS project, even if you are not accepting contributions and just want to share your work for others - auditabilty.

7-zip has been receiving critique for this for a long time - not having commit messages makes it way harder to check what the actual changes were. Sure you can't trust commit messages during an audit, but it makes it a lot easier - either you immediately notice that they are lying, or they are correct and will help you with understanding the change, so you can decide for yourself whether it's safe.

Of course, the author is doing a lot of work for free, that he offers to others, so we have no right to blame him for it or demand he changes his approach. I'm grateful for any FOSS project, and demanding from someone directly that he's doing it wrong and should do it some other way (or belittling him for it) isn't OK. However, I'd probably be very careful when encountering a repository like this, and reconsider whether it's worth adopting. Which is absolutely ok and I don't blame the author for it in the slightest - it's his repo and his work - but I also think that auditability may be something the author didn't realize, and assuming his goal was to share his code with others i.e to build a portfolio, may affect his overall adoption rate. But it's also ok if he simply doesn't care about that.

But in general, if you're making a FOSS project, I'd recommend sticking with good commit messages.

[–] [email protected] 0 points 9 months ago (2 children)

At least it's better than me messing up with the commit date :v https://github.com/DrSensor/rescript.nix/commits/trunk/

[–] [email protected] 0 points 6 months ago* (last edited 6 months ago)

what in the

very odd behaviour to say the least
that's their personal project or I hope anyways

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

Don't commit near a black hole, apparently

[–] [email protected] 0 points 9 months ago (3 children)

Not really programming horror. Just open source. They did something, are kind enough to make it open, they don't care about commit messages so what?

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

Eh, I still think it's worth calling out sloppy practices like this. At a minimum, drawing attention to it is a way to socialize good practices for others and to spark discussions (like this one!) Nobody is saying this person shouldn't be putting code out there, they're just pointing out some pretty gnarly code hygiene. One could argue this is actually one of the main strengths of open source development! Consider the parallel of somebody giving away free food- if they are using unsafe practices like not keeping things at proper temperatures or picking their nose while handling food, there's nothing wrong with critiquing them, even if their intentions are good.

[–] [email protected] 0 points 9 months ago

I agree, however I think that we could've raised the issue even without directly mentioning the developer or his repository, and could have discussed it without directly pointing at someone who did it.

Because that only derailed the discussion into whether he personally can or cannot do it (which he definitely can), instead of focusing on the best practices about commit messages in FOSS projects in general.

I also think that there's a pretty huge difference between offering someone advice directly when interacting with him, such as your example about unsafe food practices, and posting a meme post with his name to an entirely unrelated social network.

So, for your example, I think it's ok to either talk to the guy handing out food, to comment on his post about it. However, if you took a recording of him doing it, and posted it publicly to Facebook while mentioning him by name (and not even tagging him, so he isn't notified) - that's not a good way how to give meaningful feedback or critique.

[–] [email protected] 0 points 9 months ago* (last edited 9 months ago) (1 children)

It's certainly not as if anyone is entitled to anything better. It's just bad practice. I wouldn't want people critiquing me based on the work I do for free either, though.

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

And that's the issue I have with that. Imagine you are fabricio and you find this post. Next time you probably won't make it public even if there is a remote chance, that it might help someone else.

[–] [email protected] 0 points 9 months ago

I agree, the post shouldn't have called him out directly by name. It should've been a post of just a screenshot with the commit messages, and not mention the repository or the person. It's definitely not nice, and may even affect the person - I mean, if I was called out like that somewhere and seen people laughing at my practices, I wouldn't be exactly happy.

On the other hand, I think that raising the issue in itself - FOSS repositories without commit messages - is a pretty good discussion that fits here well. It's just a shame that it had to be at the expense of some FOSS developer, because it also derails the discussion into talking more about the guy and whether he can or cannot do it (such as your comments, which I agree with), instead of focusing on what are the issues with FOSS projects without commit messages in general. Because there are many arguments why it's important, and a few arguments about why it shouldn't matter, which makes for an interresting discussion about best practices and why they are important.

[–] [email protected] 0 points 9 months ago (2 children)

This. Like if they are working for free for the public good, don't complain if they don't do it thoroughly enough. If someone volunteers to pick up trash from the park, you wouldn't complain if he misses some things or stops before the whole park is clean.

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

For me, the thing is, commit messages aren't just for other people. They can be invaluable in case you need to look back for something. I even write them for my personal repos that aren't even on the internet, because it's really just kinda dumb not to.

[–] [email protected] 0 points 9 months ago

Yeah, but that doesn't mean that everyone else has to work as methodical as you do for any project they do. Even if it is more efficient and saves time in the long term.

[–] [email protected] 0 points 9 months ago (3 children)

Okay, so how is it possible to make quality open source software, if you don't expect the programmer to do a good job, and instead you praise them for doing whatever?

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

Well, the first step is to not be an elitist gatekeeper who scares away any beginner who tries to develop open source stuff. Because even if their first few repositories were not exactly good, they may eventually get better, and if their experience with FOSS community was a pleasant one, there is a pretty high chance they will publish their later work too.

If, on the other hand, you publicly shame every mistake a beginner makes in hist first repository, they will probably never publish anything.

It's important to praise anyone who's self-less enough to write FOSS. Even if they aren't exactly good yet, just the fact that they have decided to publish it is really important. I'm not saying that we shouldn't offer any negative feedback - quite the contrary - but the feedback definitely shouldn't be public shaming in a meme post on random social network.

[–] [email protected] 0 points 9 months ago

Yeah for sure don't shame them. But also, don't merge code that is bad. Opensource needs standards too because at the end of the day it's competing with closed source. Even if it's a first contribution, you probably shouldn't merge things without tests, without commit messages, etc

[–] [email protected] 0 points 9 months ago

Just don't use it if you don't like it. And you may not believe it, but there are also OS devs out there that - as a hobby - leave the park behind sparkling clean. It's not like everyone would produce low-quality open source projects, but no one is entitled to judge a low-quality project.

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

Yeah, exactly. Which is a completely different beast when the open source project is made by 3 dudes in a basement. So either you get support from a huge foundation like Apache, spend your own money for little gain, or your project is shitty quality-wise

[–] [email protected] 0 points 9 months ago* (last edited 9 months ago) (1 children)

The only way you can start expecting quality is if you start paying for it. Otherwise you are just judging people for how badly they built their hobby project in their free time.

It might currently be complicated to do that but that just means we need infrastructure. Start complaining about that or do something about it if you want more quality open source software.

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

It's not even the "quality of the project" like suggested in this thread. It's the quality of the commit messages (meta-data, documentation)

That's like someone who paints for a hobby, and shows their paints off on the internet, and people would post stuff like "Well cool painting, but you didn't really explain what kind of paint you've used, who your inspirations were" etc etc

When I'm building Open Source stuff as a hobby for things that are useful to me, and also dump them on Github - because it's a good backup system - I don't really care whether people might go through the commit history as means to figure out how I've build it

[–] [email protected] 0 points 9 months ago

I'd say that good documentation is also a part of quality of a software project, more so than in other fields, but I do agree that it is one of the things you can just forget about for personal projects.

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

This is unnecessary. There is a tool that makes the commit hashes themselves numeric and monotonicity increasing.