Every now and then I see a post that talks about certain VCS, usually that VCS is something that the poster has discovered recently and is now discovering more useful features from the VCS. This is the time when the user is most valuable to the VCS communities. The user is valuable to the community from which (s)he left, because that community is able to learn what the users really wanted in their VCS. At the same time the community of the new VCS benefits because they can see what are the strong points of their VCS, what the users really think is useful. And in the end, it's useful to all the other VCS communities since it allows a glimpse in to the users minds and how to add features to their VCS to get more users to use.

This is all good. If you look at it reasonably it's always a win-win situation when a user changes to a different VCS.

If you put the objectivity aside, you can see how people get jealous. If someone likes a feature in some other VCS they are seen as a threat and either they get attacked or manipulated in to converting or simply both.

This all reminds me of the past desktop wars and editor wars. Of course both of these still are burning hot. Both of these wars (like with many wars) carry similar features. When a user switches over, both parties should try and find out why and work on improving that feature. It's a common good that way.

It's like the saying: 10 000 Flies can't be wrong. If 80% of the user base likes a certain feature, that feature is worth working on. If 10% likes a feature, it might be useful, but one should really think about investing time in to the feature. I'm not saying that you shouldn't implement the feature, just that the time invested to that feature is taken from some other feature. If you think that your time is well spent with that feature, for example, if it matches a set goal in that application, go for it! Don't go for feature bloat, you can't please everyone. Making a sensible plan and sticking to that plan (or reworking that plan) is a good thing.

In the end, we should all try and see what the people who selected some VCS saw in that VCS. Improve that feature, assuming it fits the goals, and make the world a better place.

As for me, I've picked Bazaar because it's straight forward. There are no magic commands to issue before the first checkout and the commands are reasonable. Sure it's slow and uses disk space, but the issues are being worked on. Speed is getting better all the time and the repository format is being worked on. I've used CVS and Subversion and tried quite a few others. And it's always the same thing, when ever I switch, there is a reason for it. I hardly ever switch to something just because someone recommends switching.

In the end, I should write more about the reasons why I don't like something. Not in the 'Bah! This sucks' way, but a constructive manner. It's hard to write that way, but usually it pays off.

Comments on this page are closed.