Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Linus on Subversion, GPL3, Microsoft and More

Posted by CmdrTaco on Sun Aug 19, 2007 09:14 AM
from the stuff-to-read dept.
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.
+ -
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • Alternate link (Score:4, Informative)

    by MythMoth (73648) on Sunday August 19 2007, @09:30AM (#20285305) Homepage
    This one is not (yet) slashdotted:
    http://www.efytimes.com/archive/144/news.htm [efytimes.com]
  • by ahsile (187881) on Sunday August 19 2007, @09:32AM (#20285317) Homepage Journal
    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.
      • by nwbvt (768631) on Sunday August 19 2007, @10:26AM (#20285573)

        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.

  • by RAMMS+EIN (578166) on Sunday August 19 2007, @12:47PM (#20286453) Homepage Journal
    ``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.
  • by Anonymous Coward on Sunday August 19 2007, @01:07PM (#20286585)

    I like making strong statements, because I find the discussion interesting.
    Isn't that another way of saying "I am a troll?"
  • by Tom (822) on Sunday August 19 2007, @01:08PM (#20286595) Homepage Journal
    He's right about Subversion, but he misses one point:

    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.
    • by gvdkamp (139273) * on Sunday August 19 2007, @09:27AM (#20285291) Homepage Journal
      Look at the script... lefthome.asp! Thats what i would do if I had my site running on Microshit stuff.
          • by dknj (441802) on Sunday August 19 2007, @11:14AM (#20285897) Journal
            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.
    • Re:Can't RTFA... (Score:4, Insightful)

      by Nasarius (593729) on Sunday August 19 2007, @09:28AM (#20285295)

      Did he slam it, or did he say that it's fine, just not appropriate for a project as distributed as the kernel?
      The former. I was able to load the article, but can't get it back now. He said something like it's "good enough" for many people, but no one's really excited about SVN. To me, that's crap. SVN does what it does very well. What more could you really want from a centrally-managed versioning system?
      • Re:Can't RTFA... (Score:5, Informative)

        by smenor (905244) on Sunday August 19 2007, @12:08PM (#20286221)

        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 [git.or.cz]. 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).

            • by Antique Geekmeister (740220) on Sunday August 19 2007, @03:58PM (#20287561)
              You've apparently not worked with NFS. Simply setting a username on your NFS client with the same UID as the user on the server allows access to all those contents of the the "chmod 700" home directory and .ssh directory. NFS is commonly known as "No Fucking Security" for a number of powerful historifcal reasons, most especially this one.

              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:Can't RTFA... (Score:5, Informative)

      by Oddscurity (1035974) * on Sunday August 19 2007, @09:39AM (#20285343)
      He did slam CVS indeed, SVN likewise. In Linux talk at Google about Git [google.com][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.
    • Re:Can't RTFA... (Score:5, Informative)

      by nwbvt (768631) on Sunday August 19 2007, @10:19AM (#20285539)
      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 [tigris.org]. 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

      • Re:Can't RTFA... (Score:5, Interesting)

        by thePsychologist (1062886) on Sunday August 19 2007, @11:20AM (#20285941) Journal
        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.
      • PARADIGM SHIFT! (Score:5, Informative)

        by StCredZero (169093) on Sunday August 19 2007, @11:56AM (#20286153)
        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 [google.com]
        • Re:PARADIGM SHIFT! (Score:5, Interesting)

          by dkf (304284) <donal.k.fellows@manchester.ac.uk> on Sunday August 19 2007, @02:19PM (#20287011) Homepage

          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.
          • Re:PARADIGM SHIFT! (Score:4, Interesting)

            by Anonymous Coward on Sunday August 19 2007, @02:55PM (#20287167)

            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.

        • Re:PARADIGM SHIFT! (Score:5, Insightful)

          by peterarm (95041) on Sunday August 19 2007, @02:21PM (#20287021) Homepage
          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.
        • LOLLINUS (Score:4, Funny)

          by Synthaxx (1138473) on Sunday August 19 2007, @07:27PM (#20288619)
          (Linus with a little balloon on hovering over his head)
          "Oh hi, i shiftedz ur paradigmses."

          Paradigmses, he shifted them.
            • Re:Can't RTFA... (Score:4, Informative)

              by TemporalBeing (803363) on Sunday August 19 2007, @08:52PM (#20289113) Homepage Journal

              No Linus wrote Linux as a reimplementation of BSD, 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.
              Actually, if you read Linus' own book - Just For Fun: The Story of an Accidental Revolutionary [amazon.com] - you'd find out that he wrote Linux as (a) a method for learning x86 Assembly for the i386 processor, (b) as a way to get into his school account over dial-up, and (c) as a re-implementation of Minix. It was also highly coupled with Minix for a while until around version 0.10, or shortly thereafter.

              See also: 0.10 history [kerneltrap.org], 0.02 & 0.03 history [kerneltrap.org], 0.01 history [kerneltrap.org]
            • Re:Can't RTFA... (Score:5, Interesting)

              by SnowZero (92219) on Sunday August 19 2007, @10:26PM (#20289589)

              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.
    • Re:SVN vs. CVS (Score:5, Interesting)

      by Dan Ost (415913) on Sunday August 19 2007, @10:45AM (#20285683)
      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).
      • Re:Article (Score:5, Interesting)

        by DaleGlass (1068434) on Sunday August 19 2007, @11:07AM (#20285857) Homepage
        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.
            • Re:Article (Score:5, Insightful)

              by baxissimo (135512) on Sunday August 19 2007, @01:59PM (#20286889)
              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 [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.