The Other Worlds Shrine

Your place for discussion about RPGs, gaming, music, movies, anime, computers, sports, and any other stuff we care to talk about... 

  • Some interesting fights the Open Source Software community.

  • Somehow, we still tolerate each other. Eventually this will be the only forum left.
Somehow, we still tolerate each other. Eventually this will be the only forum left.
 #87520  by Ishamael
 Mon May 23, 2005 1:33 am
May be of interest to developers or users who have any interest in Open Source Software, but there have been a couple of pretty good catfights recently.

One was between Linus (needs no intro) and Andrew Tridgell ( aka, the guy who created Samba). As you may or may not know, Linus made the controversial decision to use Bitkeeper as the source code management tool for Linux. It was controversial because Bitkeeper was not free or open source and many people thought Linus should be using an open source tool to do the job. Well, the Bitkeeper made available a free client so that submitters would not have to pay, but this still wasn't good enough for a lot of people.

Well, along comes Andrew a few years later. He says he's going to reverse engineer the Bitkeeper protocol to make interoperability tools. The owner of the company that sells Bitkeeper gets angry and removes the free license. Woops, now all those Linux developers don't have access to an SCM. Linux gets made and bitches at Andrew in the press.

Read more here: http://linux.slashdot.org/article.pl?si ... 99&tid=106

Lots of other stories on this, some with posts to such OSS luminaries as Eric Raymond and Bruce Perens.

Anyway, without a source code management tool, Linus decides to go off and make his own. I kinda scratched my head at this, but I figured it's Linus freakin' Torvalds, so who am I to question him? So he goes off an makes a new tool calls Git and apparently made some claims that Bram Cohen (creator of a little tool you may have heard of called BitTorrent) called bullshit on.

See one of Bram's projects is a tool called Codeville, which is an SCM tool made in the python language. You can read one of Bram's livejournal entries on this here: http://www.livejournal.com/users/bramcohen/17925.html

Brahm says that Linus's "approach isn't workable even on paper". You can read even more technical explanations of their back and forth in the threads linked in Bram's livejournal post.

 #87522  by SineSwiper
 Mon May 23, 2005 6:53 am
This is all Linus's fault. He knew the pitfalls of using a closed-source product, but ignored them anyway. Now this happens. And people wonder why Debian has such nazi-strict guidelines on what's considered OSS, and if it goes in their distro.

Andrew was just trying to make the enivoriment they had easier to deal with. Nobody should be putting any blame on him for that.

EDIT: From this article:

a) Corruption. BK is a complicated system, there are >10,000 replicas of the BK database holding Linux floating around. If a problem starts moving through those there is no way to fix them all by hand. This happened once before, a user tweaked the ChangeSet file, and it costs $35,000 plus a custom release to fix it.

Wow...one edit of a file will cost $35 grand? I think it's time to switch to a more stable system.

 #87523  by SineSwiper
 Mon May 23, 2005 8:12 am
Also, Linus claims he wanted to use BitKeeper until OSS solutions for major SCM software matures more. However, one of the cardinal rules of open source development is "Every good work of software starts by scratching a developer's personal itch." By providing a "solution" to the SCM problem for Linux, he removed the itch to stratch without developing OSS. Therefore, OSS SCMs has a less chance of maturing because Linux isn't using it.

Granted, there are other codebases that would require SCMs, but there aren't too many that require the level of complexity and feature requirements. Some pretty major projects, including Apache and Firefox, use CVS just fine, but Linux needs something more powerful. There isn't that many codebases with those requirements, and OSS certainly isn't going to write itself without a codebase to test on.

 #87525  by Kupek
 Mon May 23, 2005 11:25 am
Frankly, I sympathize with Linus, and might have done the same thing. He needed a distributed SCM. There were no open source ones. BitKeeper was it. So his choices were <i>a)</i> continue with what he had, which he didn't deem acceptable, <i>b)</i> take his time away from Linux and head the development of a new one, or <i>c)</i> make a deal with the BitKeeper people. He chose <i>c)</i> and it helped his productivity at the time. Unfortunately, he's had to spend time now making a poor man's distributed source tree sychronization tool.

I understand what Sine is saying - I've read just about every side of this issue on slashdot a few times over - but Linus wants to develop Linux, not a distributed SCM. I can't fault him for using an available tool so that he can spend his time the way he wants. Linus is not RMS; he doesn't have the same dogmatic approach to open source.

 #87558  by Ishamael
 Tue May 24, 2005 12:30 am
I thought Monotone was open source distributed SCM. I may be wrong about that though.

 #87561  by SineSwiper
 Tue May 24, 2005 3:16 am
Kupek wrote:I understand what Sine is saying - I've read just about every side of this issue on slashdot a few times over - but Linus wants to develop Linux, not a distributed SCM. I can't fault him for using an available tool so that he can spend his time the way he wants. Linus is not RMS; he doesn't have the same dogmatic approach to open source.
The problem is that he's doing now what he should have done three years ago: looking for a OSS SCM package. He doesn't need to create one from stratch. The good thing about OSS is that you can grab what you want and modify it to your specs. Developing a SCM isn't his job, but trying to promote one for his needs (ie: using and suggesting) is sorta his job. Don't forget about how much GNU's utilities have developed because of Linux. (Oh, and I don't want to get into a GNU/Linux naming argument right now.)

Fine. He's not as dogmatic as RMS, but he's paying the price for not following that approach. Lesson learned, but let's not start blaming the wrong people here, either.
Ishamael wrote:I thought Monotone was open source distributed SCM. I may be wrong about that though.
Yep, it's a prime contender to be used as a replacement right now. There are actually many OSS SCMs, including: CVS, Subversion (SVN), svk, GNU arch, Monotone, Aegis, CVSNT, Darcs, FastCST, OpenCM, Vesta, Superversion, Codeville, Mercurial, Bazaar, Arx, and Bazaar-NG.

Why Linus thinks that none of these packages are even worth using as a base for modifications is totally beyond me.

 #87578  by Kupek
 Tue May 24, 2005 9:00 am
Sineswiper wrote:
Ishamael wrote:I thought Monotone was open source distributed SCM. I may be wrong about that though.
Yep, it's a prime contender to be used as a replacement right now. There are actually many OSS SCMs, including: CVS, Subversion (SVN), svk, GNU arch, Monotone, Aegis, CVSNT, Darcs, FastCST, OpenCM, Vesta, Superversion, Codeville, Mercurial, Bazaar, Arx, and Bazaar-NG.

Why Linus thinks that none of these packages are even worth using as a base for modifications is totally beyond me.
From a slashdot thread:
slashdot thread #12191203 wrote:Here is a quote from Linus:

"I'm playing with monotone right now. Superficially it looks like it has tons of gee-whiz neato stuff... however, it's *agonizingly* slow. I mean glacial. A heavily sedated sloth with no legs is probably
faster."
As for Subversion, Linus doesn't think it's appropriate, and the <a href="http://subversion.tigris.org/subversion ... Subversion development team agrees</a>:
Subversion was primarily designed as a replacement for CVS. It is a centralized version control system. It does not support distributed repositories, nor foreign branching, nor tracking of dependencies between changesets. Given the way Linus and the kernel team work, using patch swapping and decentralized development, Subversion would simply not be much help. While Subversion has been well-received by many open source projects, that doesn't mean it's right for every project.
Linus isn't stupid. If he took the time to hack together <a href="http://kerneltrap.org/node/5091">git</a>, then it's safe to asume he had a damn good reason. My understanding is that all of the other alternatives were either not distributed SCMs (CVS, Subversion and the like), too slow for the job (Monotone), or just didn't have the functionality he needed.

 #87624  by Ishamael
 Wed May 25, 2005 1:40 am
Kupek wrote: Linus isn't stupid. If he took the time to hack together <a href="http://kerneltrap.org/node/5091">git</a>, then it's safe to asume he had a damn good reason. My understanding is that all of the other alternatives were either not distributed SCMs (CVS, Subversion and the like), too slow for the job (Monotone), or just didn't have the functionality he needed.
On the surface, I'd agree. But Bram Cohen brought up some interesting points, and he seemed to have Linus backtracking pretty well in that archived thread. According to Bram, git doesn't even do true merging, which makes it kind of hard to consider it much of a source control management system.

Of course, if Linus doesn't *need* true merging, then that's OK too. I think Bram just took issue with Linus calling Git the best SCM out there, which Bram says is pretty much a lie for everyone who doesn't have Andrew Morton handling the merges (i.e., everyone else). He also suggests that Linus is suffering more from NIH (Not Invented Here) syndrome than filling a gap that hasn't already been covered by others.

 #87629  by Kupek
 Wed May 25, 2005 8:12 am
My understanding of git is that it's <i>not</i> an SCM. Calling it a SCM would imply it manages the source files, does versioning and merging. Instead, git manages at the source-tree level. That is, it merges entire trees, not individual files.

 #87674  by Ishamael
 Thu May 26, 2005 1:30 am
Kupek wrote:My understanding of git is that it's <i>not</i> an SCM. Calling it a SCM would imply it manages the source files, does versioning and merging. Instead, git manages at the source-tree level. That is, it merges entire trees, not individual files.
According to Linus it supports file merges better than any SCM out there. This is the thing (among a few) that got Bram's panties in a wad.

 #87691  by SineSwiper
 Thu May 26, 2005 5:20 am
Kupek wrote:My understanding is that all of the other alternatives were either not distributed SCMs (CVS, Subversion and the like), too slow for the job (Monotone), or just didn't have the functionality he needed.
I highlight that because that's exactly what I'm talking about. Fixing the first two on an existing package is hard, but putting in the features and functionality you need is a lot easier, especially when he's spending his time making a new product. There are a LOT of SCMs out there, and I'm sure he can find one that mostly fits with his needs.

I completely agree with Ish's statement: he's falling into NIH mode. I've done it myself. It's a common problem with OSS. It's not taking a seriously look at all of the SCMs out there, so he's saying "Well, fuck it. I'll write it myself." He completes git in LESS THAN A COUPLE OF MONTHS and suddenly it's better than all of the SCMs out there. Bullshit. Even if it was custom developed for Linux code, others have spent years working on their SCMs.

The Bram Cohen thread in question (also hit Next Thread a few times). Bram seems to be constantly making good points, and Linus is dodging the issue. Linus is getting so defensive because git is his baby, even though he should have been spend time looking at the other SCMs. It's a losing battle on his side, but ultimately he decides what gits used. (Sorry...it's a stupid name for a product.)

EDIT: This is also telling...

 #87833  by Ishamael
 Fri May 27, 2005 9:19 pm
The second link post by you (sine) was the one I was referring to the most. You can go here to read all of Bram's post on the matter, including the response Sine linked.

Man, Linus's rep has taken quite the beating over the last several weeks. Not necessarily over Git though (except from Bram), but more over his hard harsh words towards Andrew Tridgell.

 #87844  by SineSwiper
 Sat May 28, 2005 5:11 am
Yeah, I've lost a little bit of respect for the guy because of this stint. He behaved irrationally now, as he did three years ago. Situations like these are the very reason why an OSS house doesn't depend on commericial software.