I've worked places where the source control tool was email and WhatsApp. I taught them Git but they were "too busy" to adopt it. Part of the reason for the busyness was everything was always on fire.
As a junior, the Joel Test was a thing, and included source control. These days, it doesn't really matter though. It's easy enough to use Git, Github, and Github Desktop for everything.
"For the first 10 years of kernel maintenance, we literally used tarballs and patches, which is a much superior source control management system than CVS is."
Presumably the "source control" for the kernel was a disciplined system with competent people in charge of tracking versions, not wildly sending around "project_v2 final (1).zip".
It probably wouldn't have been as bad if the emails didn't run out of space every week or so.
WhatsApp is absolutely terrible for source control as you end up with people accidentally downloading an old version or not uploading a recent version.
Something like FTP or an external hard drive might have been a reasonable alternative. But today, might as well use Git.
Patches over email with a strict process (like one benevolent dictator approving each one) is much much better than random snippets of code (or I suspect vague descriptions of it) via whatsap message. Maybe I am adding too much to what OP said though.
True, and I agree. But at the same time, distributed development on the scale of the Linux kernel wasn’t that common in CVS’s time. CVS was adequate for it’s day. I’m glad we have git now, and I’m never going back to CVS, but at least it was source control and did it’s job just fine in lots of companies, right? My first real job was all CVS, and I don’t remember major problems. I feel like git didn’t reduce the number of issues as much as it enabled workflows we didn’t have before. All in all, I think I’ve watched more people lose data with git than with CVS, just because git is complicated so when things get messed up, some people nuke their repo rather than fix it, and because git stash is dangerous.
I always liked CVS better than Subversion. Merging was easier, and admin could manually fix the repo, if you broke it. I think OpenBSD is still using CVS.
Git is better for distributed development and pushing to upstream via layers of review/approval.
As a junior, the Joel Test was a thing, and included source control. These days, it doesn't really matter though. It's easy enough to use Git, Github, and Github Desktop for everything.