FOSS and evolution


#1

Hi everybody.

I’d like to touch some philosophical topics here.

First of all, I want to thank all of the BitKeeper developers for their decision to make it free. I know that this is a difficult time for BitMover, so this decision is especially appreciated.

There are discussions in social networks about that decision and the BitKeeper’s future in general. There are insightful opinions and superficial ones as well.

I’ve seen Larry’s comments that he dislikes the way FOSS is killing good commercial projects by copying and competing with them. This could be directed to free markets as well. But the truth is the FOSS projects don’t kill only the businesses - they actually kill all competing FOSS projects too. There were Monotone, Codeville, Arch/TLA etc. before Git took over the world. Now they all are technically dead. And it’s not a competition in a classical sense - there is no market share. There is no market at all, because nobody is selling nothing. Were they all inferior? Yes, Git has some strong points, but I think it’s not a primary reason. That’s all about crowds and psychology, not about money or technology. Git won because of the personal influence of his authors and early adopters. Everyone else just want to be on the winning side and rip all the usual benefits.

What are you guys think about the evolution? I mean, what could be a strategy to attract new developers to the project despite these trends? The technical superiority doesn’t mean that much, there should be something else. What could it be?

Why are people so fond of novelties despite the good things they already have? Did they already get everything useful from it? Should they always abandon the good for the best? How a good ideas can be preserved for the future and won’t die in some dusty drawer?

I’m really interested in your thoughts on the subject.


#2

I really think the answer to your post is GitHub. GitHub for some people seems to be a one stop shop for code, issues, discussions, etc. I’m old enough to remember a time before GitHub and Facebook where social coding occurred on mailing lists.

I truly believe Git is as popular as it is because that’s what GitHub supports. You have several open source projects that have switched their vcs that has worked fine for them for years to git simply because of GitHub.

I evaluated Git and Mercurial when I was switching away from Subversion without any consideration of BitBucket or GitHub (I like to host my own repos anyway). For my use, Mercurial was a better fit philosophically and technically ( I could grasp how it worked without going to stackoverflow for seemingly trivial things ).

I would love to see Bitmover not only survive but also prosper. I would like for them to have more documentation on how their product and design differ from Git. As an indie developer, I appreciate how nested repos are designed and how it is encouraged to store binary files in bitkeeper.

Not storing binaries in Git reminds me of developers not liking to branch in CVS/SVN due to the limitations of the tools.

At the moment, this seems to be a Betamax vs VHS situation all over again and I think there is room for both.


#3

I’d love to have some super insightful answer but I don’t. We open sourced because it was clear that close source wasn’t going to work and we didn’t want to die in some dusty closed drawer.

We’re going to be talking internally about what we can do to draw in new developers. It’s hard, most people just want to be handed working code, apt-get install and go. One thing I’m toying with is offering a bounty for tasks we aren’t good at, such as an eclipse plugin, all the plugins in fact. None of us are java people and lots of that stuff is java so we’d rather “pay” someone to do it. I say “pay” because if we pay at Silicon Valley rates we’ll be out of money in short order. We need to talk about it and come up with something that’s enough that people will be interested. I haven’t talked this over with the team yet, will do tomorrow, so it’s possible they will say it’s a horrible idea.

As for Git, we’ve already got a perfect bk fast-export and Wayne and Oscar are working hard on a bk fast-import (released in alpha already); we all agreed that Git is just a fact of life, if you can’t get your stuff in/out of Git there isn’t going to be much interest. So we’re doing that part with the hope that people will come play with BK and come to like it better (I know I do, I tried to like Git and I just don’t get it).


#4

There are foreign outsourcing companies outside US which could do that work much cheaper. I mean Eastern Europe, India, China.

Well, Git is good but it’s not the whole universe. There are many people out there who prefer something else but stuck with what GitHub will offer.


#5

Thinking about it a little. One of the reasons behind git wide adoption was its support for many different workflows. People tend to hate tools that stand in their way. I remember the harsh criticism of GNU Arch caused by Tom Lord’s decisions to enforce a particular conventions on its users. Yes, it also was very slow but that wasn’t a primary reason at that time.

Another strong point was a support from a preferred IDE. It’s a common expectation to have such a support built in to popular editors, e.g. vim, emacs or atom. The typical programmer these days works with a huge tree of a code from different sources and languages. Good IDE support is a must.

Other VCSes were quite good too but lacked at these points.