Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What caught my attention most was the fact they are using CVS. Nothing against, just I don't see CVS too much today.

Anyone knows how much impact this change can bring? How much systems rely on file?

Personally, every time I use it was as one-time script.



CVS is brought up in almost every single OpenBSD thread, right before someone complains about Comic Sans on their website. The OpenBSD guys refuse to use git because they feel it is way too complicated for the task it serves. At this point, CVS is almost their barrier to entry: if you're (royal you, not rhapsodyv) going to complain a bunch about the version control tool, you're probably not going to be an active member of their developer community.

Despite using old tools, the OpenBSD guys release their updates every 6 months like clockwork, and have for the past two decades. I know of no other FOSS project with that level of project management.


> At this point, CVS is almost their barrier to entry: if you're (royal you, not rhapsodyv) going to complain a bunch about the version control tool, you're probably not going to be an active member of their developer community.

CVS is frankly hideous. Saying "git is way too complicated" is another way of saying "CVS is way underpowered". However, a good reason to cling to this relic of a bygone age is that, as far as I know, they have everything in CVS, and it must be a lot more convenient to be able to checkout an arbitrary part of their dev tree than messing around with git submodules.

That said, if their attitude is really "if you complain about CVS, you are not worthy", that is bound to turn off many people, and for good reason.


CVS fits their development methodology just fine, so far. Having a central CVS repo, where development is done in "head" which gets branched every 6 months for a release. Contributions are supposed to never break "head", so mostly small easy to review patches are commited. Even big changes are committed on a per patch basis, working towards a bigger goal. Also there is AnonCVS, which mirrors the central CVS repo on dozens of mirrors. The same way you can mirror the CVS repo for yourself locally. Sure CVS+AnonCVS+diff(1) could be better(whatever that means), but it does the job. Switching is hard, losing history is bad and putting off old developers is way more dangerous than discouraging new ones. Using mailing lists and CVS is the price to pay to partake.


> CVS fits their development methodology just fine, so far.

That's what I am saying. However, there is a big difference between "we use CVS for good reasons" and "we are not aware of the limitations of CVS compared to modern DVCS". That's the difference between "sane" engineering conservatism and a "get off my lawn" attitude.


An interesting data point in the OTHER camp is Emacs' decision to move to git. But Emacs has much different goals as a project than OpenBSD.


Just a note that Emacs was on BZR not CVS.


> That said, if their attitude is really "if you complain about CVS, you are not worthy", that is bound to turn off many people, and for good reason.

Perhaps their goal isn't reaching those people.


Moreover, that's not what I said. Being able to come into a project and work within its ecosystem is an extremely valuable skill. It's the exact opposite of the mentality that drives NIH syndrome. OpenBSD is an OS written for high security, high stability. They simply don't have time to quibble with the next big VCS thing, especially when they're not having issues with the old one. They know the edge cases with CVS, migrating an entire project and dev team to git or SVN or mercurial or whatever would be way more disruptive than just dealing with those quirks.

Side note: I'd be really interested to see an OpenBSD designed VCS. I'd be very curious what the design would look like.


CVS is frankly hideous.

I don't know. What's wrong with it? I've used it for decades now and it's never really been a problem. Sure, I like git, but the idea that CVS is some kind of show-stopper just never resonated with me.


Why not Subversion (aka SVN)? Almost every open source project moved from the older CVS to Subversion around 2005. About 2-4 years ago some moved on to Git (or Mercurial (Hg)). Subversion has several advantages and fixed issues that CVS had, beside that it is somewhat similar - contrary to Git/Hg.


Presumably CVS works for them. They had used it successfully for 5 years before Subversion existed and are presumably well acquainted with its foibles. And all systems have foibles, so if you are used to one set of them and it is working for you, then fixing things that aren't would seem to be a much better use of time, rather than following the whims of fashion to court those developers who will only help if they don't have to learn another versioning system.


What is something the OpenBSD team could accomplish with a different VCS that they are not doing now?0


CVSWeb is fare nicer than anything I've seen for Git, Mecurial or Subversion. I'm not sure that's going to make anyone to move back to cvs though :-)


AnonCVS (the idea of a repository that J. Random user could just look at at any time) was the first innovation of OpenBSD. I guess you whipper-snappers don't remember it, but back 20 years ago for the most part unless you were on the team you would only see a project's source with each release. And several projects had an annoying tendency to take patch submissions and mutter, "yeah, um, we've fixed that already in CVS" and quietly apply your patch.



That really is the best statement about this.


The problem is, even if you don't like git, subversion is a "better CVS than CVS." Just to give one example, the OpenBSD guys have to periodically manually delete old versions of various files because CVS has a limit on how many old revisions it can track. Now that is just silly.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: