Slashdot Mirror


Linus on Subversion, GPL3, Microsoft and More

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.

19 of 350 comments (clear)

  1. Re:Linus would not be pleased... by gvdkamp · · Score: 4, Funny

    Look at the script... lefthome.asp! Thats what i would do if I had my site running on Microshit stuff.

  2. Article Summary Misleading by ahsile · · Score: 4, Insightful

    This article is only slightly about Subversion. A couple paragraphs from the whole thing! They talk about "the plan" for the Kernel, outsourcing to India (they talk a lot about India actually), and other crap. I got bored half way through and just searched for the subversion part, which even then wasn't that interesting.

    1. Re:Article Summary Misleading by nwbvt · · Score: 4, Informative

      Think that could be because its an Indian news site and the guy himself is Indian?

      Believe it or not, just because something is published on the world wide web doesn't mean it has to cut out everything of local interest.

      --
      Mathematics is made of 50 percent formulas, 50 percent proofs, and 50 percent imagination.
  3. Re:Can't RTFA... by Oddscurity · · Score: 5, Informative

    He did slam CVS indeed, SVN likewise. In Linux talk at Google about Git[video] he mentions SVN and their credo at on time being something along the line of "CVS done right", commenting that "there is no way to do CVS right."

    The article linked here is light on details concerning SCM, though.

    --
    Indeed!
  4. Re:Can't RTFA... by nwbvt · · Score: 4, Informative
    Site seems to be back up, here is what he had to say:

    I suspect a lot of people really don't much like CVS, so I didn't really even expect anybody to argue that CVS was really anything but a legacy system. And while I've gotten a few people who argued that I shouldn't have been quite so impolite against SVN (and hey, that's fair -- I'm really not a very polite person!), I don't think anybody actually argued that SVN was 'good'.

    SVN is, I think, a classic case of 'good enough'. It's what people are used to, and it's 'good enough' to be used fairly widely, but it's good enough in exactly the sense DOS and Windows were 'good enough'. Not great technology, just very widely available, and it works well enough for people and looks familiar enough that people use it. But very few people are 'proud' of it, or excited about it.

    And here is the reaction from the subversion team. For those of you who don't want to RTFA, they basically say they agree, its not appropriate for something like Linux.

    BTW, isn't this all old news? His original comment on subversion was dated from 05

    --
    Mathematics is made of 50 percent formulas, 50 percent proofs, and 50 percent imagination.
  5. Re:SVN vs. CVS by Dan+Ost · · Score: 4, Interesting

    I've never used git on any project big enough to have multiple developers, but I use git for my one-man-projects for the simple fact that it's so easy to create a repository.

    Simply move the directory you're working in and type 'git init' and you're off and running. If you're developing the same code on multiple machines, it's simple to develop on them independently and still sync relevant changes. Frustrating.

    With SVN, you have to set up a central repository (not difficult, but tedious) and if you're working with the code on multiple machines that aren't always on the same network you either have to have a SVN repository on each one and manage syncing them somehow, or one machine can't make commits when the other isn't on the network. Frustrating.

    I still find git to be a little confusing (especially in regards to warnings seen when pushing or pulling changes from one repository to another and merging branches), but I've decided that even if git isn't the best answer, a distributed version control system is closer to the Right Thing than the old way of doing it (for my purposes, at least).

    --

    *sigh* back to work...
  6. Re:Article by DaleGlass · · Score: 5, Interesting

    Subversion works, but like Linus says, it's nothing wonderful. You can hardly point at some feature of it and say it was the product of a genius. It does CVS right, and that's about it.

    But SVN is limiting. For example I have a fork of the Second Life source, and SVN was PAIN for that. I ended up switching to SVK because it was the first thing I found that could sync with a SVN repository (which is what LL hosts), but Git would probably be also a fine choice as well.

    SVN's problem is that when you want to branch somebody's source but still follow it by merging improvements it becomes really painful. You have to use svn-load-dirs, which is a hack. You have to give it megabytes of source to process, which can suck really badly when you've got your SNV repository hosted externally so that other people can access it.

  7. Re:Linus would not be pleased... by dknj · · Score: 4, Informative

    and if you're a programmer or an admin that knows sql server, then you know to disable this before you go into production. again, this is not a problem with the product. saying such would be like saying solaris is trash because it enables everything plus the kitchen sink, unless you tell it not to...

    oracle is all great and fun if you have the money to cough up for it. sql server has great performance at a fraction of oracle's cost. of course, a competent architect will know when to use sql server and when to use oracle.

  8. Re:Can't RTFA... by thePsychologist · · Score: 4, Interesting

    Yes this is extremely old news. I thought it would be something new, but then I see the comment from the SVN guys is dated 2006: last year for people who keep track of time.

    For instance, the comment from the Subversion team states that they hope the kernel dev team find some VCS that they like. They already did and it was git (http://git.or.cz/), a program that Linus Torvalds wrote himself.

    As a side comment, I like git over Subversion for a number of reasons. First it has data verification in the form of checking SHA1 (note that this isn't for repository protection from attacks but just for verification from corruption). It's distributed, and doesn't blow up the repository size when the repository gets large. SVN keeps a .svn metadata folder in each normal directory; hence if you have 1000 normal directories you get 2000 directories.

    Even if that's not much of an increase in space, it's ugly and it makes the repository (just files) hard to copy (have no idea why they implemented it this way). Of course there's a backup feature in the program so there's no reason to copy by hand, but still, it's inelegant.

    --
    "What lies behind us, and what lies before us are tiny matters compared to what lies within us." Ralph Waldo Emerson
  9. PARADIGM SHIFT! by StCredZero · · Score: 5, Informative

    Damnit, it's a paradigm shift that Linus is talking about. True distributed source code management brings an entirely new way of working. It enables very fast merging at a very fine granularity, which lets you use casually use this information (about what changed and when) in a way that changes the nature of how you work! It's the same sort of difference that code completion or Google search made. Once a certain kind of very useful information -- that has always been available, but a bit inconveniently -- becomes like running water out of the tap, it enables ways of working that just wouldn't have been practical before.

    If you really want to know what Linus is talking about from the man himself, watch this Google Tech Talk. It's over an hour, but there's nothing like hearing it straight from the horse's mouth.

    http://video.google.com/videoplay?docid=-219933204 4603874737&q=git+google+tech+talk&total=3&start=0& num=10&so=3&type=search&plindex=1

    1. Re:PARADIGM SHIFT! by dkf · · Score: 4, Interesting

      Damnit, it's a paradigm shift that Linus is talking about. True distributed source code management brings an entirely new way of working. It enables very fast merging at a very fine granularity, which lets you use casually use this information (about what changed and when) in a way that changes the nature of how you work! It's the same sort of difference that code completion or Google search made. Once a certain kind of very useful information -- that has always been available, but a bit inconveniently -- becomes like running water out of the tap, it enables ways of working that just wouldn't have been practical before. You know, that sounds so much like an advertorial! Would you care to provide a little bit of original analysis to go with your otherwise-unleavened hype? In exactly what way does a distributed source code management system change the way you work? (Remember, some of us have been using 'cvs annotate' and 'svn blame' over high-bandwidth networks for a long time now.) While you're at it, do distinguish between the various aspects (e.g. multiple repositories vs. braided versioning) even if one really implies the other.

      And do try to go easy on the phrase "paradigm shift" in your explanation even if this is one; marketdroids love over-using it and it's come to be a code phrase for "same old, same old". Focus on how things have changed for you and you'll get a better response.
      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    2. Re:PARADIGM SHIFT! by peterarm · · Score: 5, Insightful

      This is what's great about Linus Torvalds:

      [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.

    3. Re:PARADIGM SHIFT! by Anonymous Coward · · Score: 4, Interesting

      In exactly what way does a distributed source code management system change the way you work?

      It gives you private branches and commits, which allow you to work with the power of a VCS, but without having to pollute the main repo with dead ends, poorly written changes, and experiments. It also allows for true disconnected operation, and allows any developer to "pull" from another developer, again without having to pollute the master repository.

      And specifically with git vs. SVN, git offers true branches and tags (unlike SVN's bizarre, nonsensical "simulations"), and true merges.

      And do try to go easy on the phrase "paradigm shift" in your explanation even if this is one; marketdroids love over-using it and it's come to be a code phrase for "same old, same old". Focus on how things have changed for you and you'll get a better response.

      It (git and distributed VCS) is a "paradigm shift" the same way that, say, the relational model is a paradigm shift over the network model. It generalizes the problem and strips it down to certain fundamental concepts, and makes those concepts available to you directly, instead of under a layer of ill-conceived and limited operators.

      For instance, in SVN, how do you move a changeset from the tip of one branch to another? You can't. It's not allowed by the model, even though in terms of more fundamental operations, it's easy to describe. But in git, you can. Just cherry pick it to the new branch, then move the tip of the old branch back one changeset (the "dangling" changeset on the old branch will eventually get garbage collected). You could also write your own "git-move-changeset" command using the existing low-level git commands.

      Instead of considering the deeper, underlying issues, the SVN team just cloned CVS's behavior and made it cleaner. Too bad.

      That's exactly what a "paradigm shift" is: finding the deeper, fundamental operations and then showing how the existing systems are just subsets of that functionality.

  10. Re:Can't RTFA... by smenor · · Score: 5, Informative

    I used to use CVS (and still do for some projects). Then I switched over to SVN. It was remarkably unremarkable.

    Then, a few months ago, there was a /. article on git. It sounded interesting so I tried it... and was thoroughly impressed.

    I was up and running in about 20 minutes. You can use cvs/svn like commands, *but* you get local / decentralized repositories with fast forking and merging.

    Start a project. Type "git init" and you've got a repository in place (you don't have to initialize and then check it out). "git add ." and "git commit" and you've got your first revision.

    It took a little bit more effort to figure out how to push/pull from a remote repository, but it's fairly straightforward. A bunch of people can work in a group, have their own local repositories, and then merge their changes (along with the revision history). It's awesome.

    The only reason I haven't switched all of my projects over to it is that the IDEs I use (Xcode and Eclipse) don't have good git integration (as far as I know).

  11. Why Indians Don't Contribute Much to Linux by RAMMS+EIN · · Score: 4, Insightful

    ``Q: India is one of the major producers of software engineers, yet we don't contribute much to the Linux domain. What do you think is keeping Indians from becoming proactive on that front? How do you feel we could encourage Indians to get involved and contribute heavily? You have a fan following in India; could your iconic image be used to inspire enthusiasts? -- Bhuvaneswaran Arumugam.

    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.

    --
    Please correct me if I got my facts wrong.
  12. Linus admits he's a troll by Anonymous Coward · · Score: 5, Funny

    I like making strong statements, because I find the discussion interesting.
    Isn't that another way of saying "I am a troll?"
  13. Re:Article by baxissimo · · Score: 4, Insightful

    I'd assume it's just that most people don't know about Git.

    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 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.

  14. LOLLINUS by Synthaxx · · Score: 4, Funny

    (Linus with a little balloon on hovering over his head)
    "Oh hi, i shiftedz ur paradigmses."

    Paradigmses, he shifted them.

  15. Re:Can't RTFA... by SnowZero · · Score: 5, Interesting

    No Linus wrote Linux as a reimplementation of BSD Actually Linus started out rewriting Minix as a hobby, and it just so happened he chose the right license and was good an getting people to work with him. It amazes me that after all this time there are still people who don't understand why Linux succeeded... it was by building a better community, not technical superiority. BSD has had a great technical history, but quite a few community problems, leading to community splits and forks. Linus, as a good manager, has managed to hold Linux together, which is an achievement in itself. Of course, with open source "win" and "lose" isn't that meaningful; Linux and *BSD are healthy and continuing in their development. Who cares if your community is the biggest, if your community develops the software you need.

    during the period that AT&T sued to stop the distribution of BSD. Had BSD not been held up in court, there would have been no need to rewrite BSD from scratch using inferior networking code. So, with the SCO suit, BSD was able to make a comeback, right? Or, maybe you are overestimating the impact of the lawsuit. Also, if the BSDs could not stick together, what makes you think all the Linux people could work with them? Theo and Linus sharing the same CVS repository?... I doubt it.

    When Novell bought AT&T's Unix labs it ended the frivilous lawsuit against BSD, but by that time, Linux had gained so much marketing buzz that it overwhelmed both commercial Unix and the free BSD, serving to water down any hope for either of the candidates to prevent the expansion of Micorsoft's DOS and
    the promise of NT and Cairo. Except that the "frivolous" lawsuit actually did find offending code. The only thing that saved BSD is that AT&T/USL had stolen even more code. You can call the lawsuit stupid, annoying, or disrespectful, but there was an element of truth to it. The community should have policed itself a little bit better. To this day we still here software companies decrying open source's disrespect for copyright and properly policing the code; which IMNSHO is fallout from the original attitude taken when BSD was being developed. I like open source too, but the way to go about it isn't by ignoring the licenses for code, no matter how small or insignificant the amount. Hindsight is 20/20, but that was an important lesson.

    By the end of the 90s, Unix vendors had mainly squabbled amongst themselves, BSD had been largely overlooked, and Linux had expended millions of dollars in efforts to reinvent a perfectly good wheel. That allowed Microsoft to take over the desktop. This makes no sense to blame on Linux. The BSD license allowed commercial forks, so they happened, while BSD failed to market itself and grow its development community (instead it forked). Meanwhile Linux was doing its own thing, but was it "wrong" for not spending its funds on supporting BSD instead? If you look at all the money ever spent developing Linux, its probably less than what was spent on one of the major commercial Unixes. Why is this ok in the business world, but not in the open source world? Also, keep in mind a lot of recent investment in Linux is precisely because of the GPL; IBM would not support development of BSD code, as that might help its competitors closed-source products.

    Meanwhile, Microsoft successfully marketed a desktop, and took over a market many feel a free Unix could have occupied. Of course, in that case you should blame X-Windows and the slow development of broadly supported GUI toolkits. Both of those run on both Linux and BSD, so I don't see why this should be blamed on Linux. I guess Linus should have written a BSD-licensed version of KDE to make you happy?

    Once again, technical superiority is not the only thing that matters. It isn't true in business, and it isn't true in the open source world. Building a healthy community and a working development process is just as important for long term success. And, like in business, sometimes a little competition helps, as it spurs development that might not happen in a pure monopoly.