

Linus on Subversion, GPL3, Microsoft and More 350
victor77 writes "Linus has repeatedly slammed Subversion and CVS, questioning their basic architecture. Subversion community has responded...how valid is Linus's statement?" This and many other subjects are covered in this interview with Linus.
Re:Can't RTFA... (Score:4, Insightful)
Article Summary Misleading (Score:5, Insightful)
Re:Article (Score:3, Insightful)
Re:Can't RTFA... (Score:2, Insightful)
Proper branching and tagging would help a lot.
Re:Linus would not be pleased... (Score:1, Insightful)
Microsoft software automatically detects when people are bashing them and gracefully shuts down.
Re:SVN vs. CVS (Score:3, Insightful)
Both do their job (CVS since years). SVN does some trivial things better than CVS.
SVN doesn't do the job because there's no built-in merge tracking, which leads to serious merge bugs.
Repeated merges (bi-directional merges) between branches generates false positives (the lack of merge tracking causes SVN to re-merge previously merged code.) The lack of true renames, means that you can lose changes during a merge if renamed files are modified on both branches. The svnmerge.py script only works at one directory level, which makes merging a single file deep in the project annoying. Since a checkin and a merge checkin are identical, there's no way to enforce merge tracking standards via hooks. All of these merge weaknesses require extra training and/or merge meisters, which is really clumsy in a large organization.
SVN is useful if you only use short lived branches (which will minimize the problems listed above.) I would not use it for large organizations due to training issues, nor for branches that require lots of inter-branch merging.
Hopefully, the merge tracking being implemented for SVN 1.5 will make SVN a real/complete scource code control system.
Why Indians Don't Contribute Much to Linux (Score:5, Insightful)
Linus: This is actually a very hard question for me to answer. Getting into open source is such a complicated combination of both infrastructure (Internet access, education, you name it), flow of information and simply culture that I can't even begin to guess what the biggest stumbling block could be.''
My guess is it's because the _bulk_ of Indian software engineers are being raised on Microsoft technology (the fact that it's Microsoft is irrelevant here; what matters is that it isn't Linux and doesn't resemble Linux). I don't actually know that this is the case, but I suspect it. I've spoken to a number of people from various parts of the world that aren't Europe or North America, and the picture I get is mostly the same: virtually everybody who uses a computer uses (cheap or pirated) Windows, if you take classes in CS you are taught Microsoft tools, and, at work, you use Windows. It's like nothing else exists. Why would you contribute to Linux, coming from such an environment?
Also, I know for a fact that a lot of people in India get trained on Java. That's yet another platform that isn't Linux and, even if it's more like Linux than Microsoft's platform is, it's still different in important ways. Besides, Java can run under Linux...but that's not what usually happens.
Not only good, but also easy enough! (Score:4, Insightful)
Putting your project in a Subversion repository takes an hour or two, maybe half a day if you're an idiot. Setting up an arch repository took me at least twice as long. Explaining how to use arch to developers who hadn't worked with it before is an order of magnitude more difficult than explaining Subversion to developers who haven't worked with it before.
Subversion is "good enough", but it's also simple, straightforward and frankly if you have anything that goes beyond a very simple project or where more than one person is involved, I can't think of many reasons to not put it into a Subversion repository.
I still like arch more for the concepts. But I don't use it. I might look at git one of those days, if I have a need Subversion doesn't address.
So negative (Score:3, Insightful)
I'm not trying to troll or insight a flame war, I'm just saying his curmudgeonly ways are getting a bit old already. At some point I imagine him being viewed as the Dvorak of Linux. Anyway, I'll understand if I get modded down, I just wanted to put my opinion in even if it's not worth much.
Re:Article (Score:5, Insightful)
It just needs a new PR guy and a little bit of time.
I'd say it's at least in part due to lack of Windows support. Love it or hate it, you don't become the world's foremost anything by ignoring Windows. As can be seen here: http://git.or.cz/#download [git.or.cz] the developers seem to view "cross-platform" as meaning "We got both kinds! RPMs and debs!".
There is a partially functional git port in Cygwin, but it doesn't really work as far as I can tell, and it certainly isn't mentioned anywhere on the Git home page. I wanted to like Git, but unfortunately it seems to not be ready for widespread use on the most popular desktop operating system in the world. I'd be happy to try it again someday when it is.
Compare with SVN or Mercurial or Monotone or most any other SCM system. Most of the others all feature prominent download links on the home page for Windows, Mac, and Linux.
Re:PARADIGM SHIFT! (Score:5, Insightful)
[me using random software]: 'This sucks. I could code something better in two weeks.' [false, or "true in theory, but I didn't do it"]
[Linus Torvalds using random software]: 'This sucks, and basically 99% of the software in this entire category sucks, for reasons X, Y and Z. I could code something better in two weeks.' [true; done]
Truly impressive. Whenever I start to think I've accomplished anything programming, I look at video like that (which was on reddit how long ago?) and realize once again that there are people who live on a different planet than I do.
Complexity should be ignored... (Score:1, Insightful)
Then why is an "expert" fooling around with a "complex" system? Maybe there should be "novices" operating "simple" systems so no one goes "insane".
"Do you know the default setting of every parameter used in the fuel injection system in your car? My guess is that not even the technician at the car repair shop does. He trusts them to be sane.
Does the pilot of an airplane know the default setting of every parameter in the flight control system? Not even the pre-flight checklist covers them all. He just trusts them to be sane."
Your examples suck dude. If we were discussing OSS software? You can bet there would be a crowd that would demand you know every parameter of every system and memorize the source code to boot. And calling you a MSCE if you don't.
Re:Article Summary Misleading (Score:3, Insightful)
They don't talk about outsourcing anywhere; the word isn't even used once as far as I can tell.
The interview appears to have been conducted (and the questions provided by) Indians, so questions like "[how could we] encourage Indians to get involved and contribute heavily [to open source]?" are not surprising. I thought they were interesting questions, actually.
Re:Other subversion flaws (Score:4, Insightful)
You're also apparently trapped by the same error as the Subversion authors have made. You think the local disabling of permissions to read the data means that someone locally cannot actually read the plain text passwords. Other means for access include:
* Booting with a live CD to access every file on the local drive.
* Getting fools to run a USB device on Windows systems (which doesn't accss the TortoiseSVN stored passwords, but can easily access SSH keys and passwords stored under CygWin)
* Removing hard drives for duplication (apparently a common practice in European hotels before international conferences, where thieves enjoy quite a lot of easy nabbing of passwords or even industrial espionage)
* Accessing backup tapes (an extremely popular hobby for both amateur and professional system crackers)
Setting the permissions to 700 keeps out only the most casual and polite of attackers. It's generally no more effective than putting a deadbolt on a screen door.
Re:well, here's my take on the Linux kernel (Score:2, Insightful)
What kernels do you actually know?
Why do you think it owns a lot of high end film production? ILM, Pixar and more. It is used for many super computers and kinda owns clustering.
Well, the Linux kernel is used in all those areas because they don't need a lot of advanced features; in some of them, complexity is downright harmful. In fact, there are few applications that do. That's why a simple, open source kernel with lots of drivers does the trick.
That's why Linux is so successful: it's simple, it's limited, and it's good enough. Furthermore, the kernel and its maintenance are so byzantine that it simply can't be changed quickly, which is something the market likes (kind of like the market also usually likes it when the US government is deadlocked).
Re:Can't RTFA... (Score:3, Insightful)
Sorry but in my experience it was just marginally better (and in day-to-day use, from the end-users perspective, the only real difference I felt was that I was typing "svn commit" or "svn update" instead of "cvs commit" or "cvs update").
I'm not saying there aren't cool things about SVN (like atomic commits and directories), but Subversion doesn't fundamentally change the way you work like Git.
You say "it doesn't feature distributed repositories" like that's some sort of trivial throw-away nothing. It's not.
With Git, every developer gets their own full-fledged repository (or more than one if they like). That means that every time they make a change, they can have the safety net of version control without breaking the codebase for everyone else or having to deal with annoying branching and merging.
It's also trivial to create a local repository with Git. "git init" and you're running. Sure, you can do it with CVS or SVN, but you've got to create a special directory, check your stuff in and then check it out. It might not sound like much, but that extra little barrier was enough to keep me from even considering SVN/CVS for small throw-away projects that I wouldn't hesitate to keep under version control with Git.
SVN is essentially what it claims to be - CVS done right. It's a better design and implementation, but using it still feels more or less like using CVS.
Re:Can't RTFA... (Score:3, Insightful)
Re:Can't RTFA... (Score:4, Insightful)
Besides which, you're missing an important part of the equation: commodity software.
Re:Can't RTFA... (Score:4, Insightful)
Technical superiority did win in BSD's case.
That's a pretty bold assumption not born out by the overall market [wowdailynews.com], if you define winning the way you have been.
While Linux is doing a lot in the server arena, it has accomplished very little on the desktop, despite efforts like OpenLinux and United Linux to create a standard Linux.
I'd argue that distributions such as Mandrake, Ubuntu and PCLinuxOS have done a lot more for the desktop, but certainly none have taken the overall market by storm.
The kernel may not have forked like Open/Net/FreeBSD, but there's really no difference between forked kernels and forked distros when it comes to fracturing the market.
There's a difference between duplication of effort spent packaging existing software (distros) versus developing kernels and supporting libraries from scratch, with only partial code sharing through the heroic efforts of programmers spanning parts of the BSD family. As time goes on, this is not going to get any easier, while standards such as LSB has made packaging on Linux quite a bit simpler.
There are really no commercial apps for Linux and there is no real market that will ever encourage their development.
On the desktop there are few, but there certainly are a lot of specialized professional apps available for Linux. For everyday use, I'd question how much that matters. Sure gaming is not in a good state, but its not much better on a Mac; Consoles are even beating Windows FWIW.
That leaves Apple's Mac OS as the only viable desktop, and its based on BSD, not Linux.
So, without a commercial software market, a desktop is not viable? I guess you're not really much of an open source person. I must be really good to have been using an unviable desktop exclusively for the last 8 years as a my desktop OS. Or just maybe there's a difference between "viable" and "market leader". As an obvious Mac fanboy, you should know the difference. A 90% market share for Windows hasn't stopped OS-X from being viable, except perhaps for gaming, and (at the whim of Microsoft) office productivity.
It does however share the same POSIX platform, meaning that there's really nothing of unique value in Linux that can't be ported to Mac OS X
So if OS-X sharing Posix is good, how are multiple Linux distributions following LSB fractured and broken? You're not being very consistent.
while there is lots of value associated with Mac OS X that will never make it to Linux: commercial apps, consumer focus, real marketing, retail support and the like.
None of those have anything to do with BSD or the Mac kernel. Commercial apps in Linux are nearly comparible to Mac (but not Windows). Consumer focused distributions exist (just about anyone can use PCLinuxOS or Linspire). Real marketing, well if you consider that an OS technical feature, it's hard to compete with Apple; They are better at marketing than engineering. Retail support exists just fine if you need it; Several Linux vendors are happy to support their products if you buy them.
Here's a value that will never come to Mac OS: Linux is Free. Obviously that doesn't matter to you, since you consider the GPL "an entaglement", and you don't even seem to care about open source (BSD) either, since most of the Mac OS advantages have nothing to do with anything that's open source.
It's not that code associated with Linux isn't a great contribution to technology, it's that it simply won't matter on the desktop.
It may not matter on your desktop, but it matters on mine (and works just fine). I use Linux at home, on my laptop, and at work. That's relevant enough for me. Unlike some, I do not value my OS software based solely on how many other people are using it (how unfashionable!). I would like to see Linux used widely, but I don't feel it has "failed" unles
great comment... (Score:3, Insightful)