Slashdot Mirror


Distributed Development, with Karl Fogel

phyjcowl writes "Karl Fogel is a founding developer of the Subversion project. In the following interview he covers social aspects of coordinating developers as well as the difficulties and advantages of managing an open source, distributed development project. Karl explains the inception of the Subversion project, what it has required to build its community, and what he has learned in order to successfully maintain it."

103 comments

  1. Registration required by tyates · · Score: 1

    Anyone have another link?

    --
    Tristan Yates
    1. Re:Registration required by merphant · · Score: 2, Informative

      On a whim, I tried viewing the article with slashdot/slashdot as the login and password for an existing member, and it worked. That's one to remember for the next time an article requires registration to view: if that account doesn't exist, create it so others can use it. It's easy enough to remember.

    2. Re:Registration required by Anonymous Coward · · Score: 0

      and apparently with 100+ logins from the "same" user, the account is now disabled.

      did you by chance happen to save the article to PDF?

    3. Re:Registration required by Arker · · Score: 2, Insightful

      And even if such accounts weren't terminated immediately, making them would still be the wrong answer.

      The editors should not allow articles with broken links like that to be posted in the first place. Of course, it's obvious they can't be bothered to do anything but click a post button occasionally, and apparently randomly, so it falls to the readers to take care of it. Don't make a login, don't post the text, don't comment on the article at all, except to note that there's nothing to discuss, since the link doesn't work. And don't submit this kind of trash to begin with, of course.

      --
      =-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Friends don't let friends enable ecmascript.
    4. Re:Registration required by bobzieruncle · · Score: 1

      try: bugmenot/bugmenot

      I'm surprised there are still slashdot readers still asking questions like this (hint: bugmenot.com)
  2. HERE'S THE ARTICLE TEXT!! by putko · · Score: 3, Funny

    Interview with Karl Fogel of Subversion and CollabNet
    J. Chalifour - July 27, 2005

    Introduction

    Karl Fogel is a founding developer of the Subversion project. Subversion is sponsored by CollabNet and under the company's employ, Karl describes himself as the CollabNet-to-developer liaison. In the following, Karl explains the inception of the open source Subversion project, what it has required to build its community, and what he has learned in order to successfully maintain it. Karl's vantage is interesting not just from the perspective of managing such a community but also because the Subversion project itself is one of the required sorts of software technologies used in open source development...

    Access to this resource
    requires TEC Membership (it's FREE).

    WAY TO GO, GUYS!

    --
    http://www.thebricktestament.com/the_law/when_to_s tone_your_children/dt21_18a.html
    1. Re:HERE'S THE ARTICLE TEXT!! by strider44 · · Score: 4, Informative

      login
      Login details for www.technologyevaluation.com

      Account #1
      booklet
      bob23

      Courtesy of http://www.bugmenot.com/

  3. Distributed development is a challenge by ReformedExCon · · Score: 5, Interesting

    Nice of me to state the obvious there in the subject line. :-)

    The article requires some non-negligble amount of registration, so I will simply forego all that and give my impressions of my experience with distributed development.

    DON'T DO IT!!

    I believe that was Sam Kinison's advice on a host of things.

    The biggest problem with distributed development is lack of coordination between members. Especially on public Open Source projects where members may not show up on time or even at all, and there really isn't any way to force them to do so.

    This means that the biggest challenge in running a successful project is to staff it with sufficiently trustworthy engineers who see the success of the project as a common goal. This isn't unlike typical closed source project management except that you can't really fire anyone.

    I've found that once you've got a critical mass of dependable engineers working on the project, that much of the development takes care of itself. Active mailing lists are mandatory, as are clear objectives. But if you don't have people you can trust submitting code, then you're basically doing it all by yourself.

    --
    Jesus saved me from my past. He can save you as well.
  4. You have to wonder... by __aaclcg7560 · · Score: 3, Funny

    What happens when a project becomes both disturbing and subverted? Go figure.

    1. Re:You have to wonder... by Anonymous Coward · · Score: 0

      hye lard ass...are u talking about a project like your website? like OMFG ROFLMAO n00b pwned. can you not type because of your fat fingers or because your fat droops onto your keyboard and you have to tie it back while you type and make all those spelling errors (mine are on purpose n00b). i mean when read your blogs i think you should file for disability. my monitor cracks each time a picture of you pops up, it can't take the amount of pixels required to display your fatness. and the next time you eat...remember those starving children in other countries (no you can't eat them too) SUPER-SIZED LARD ASS!!

    2. Re:You have to wonder... by __aaclcg7560 · · Score: 1

      Boring yourself to death looking at my pictures? No wonder your monitor is cracking.

  5. WTF by dedazo · · Score: 4, Insightful
    There's two paragraphs and then you must "register" to read the rest of the article.

    Do the editors not actually visit the links provided with the submissions?

    I think they do, and I think this is another one of those slashvertisements that people get punished around here for suggesting they even exist.

    I was actually looking forward to reading something from one of the svn devs. What a fucking waste of time.

    --
    Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo
    1. Re:WTF by Anonymous Coward · · Score: 3, Funny

      Thanks, they'll reward us with another Roland Piquepaille article for your complaint.

    2. Re:WTF by kesuki · · Score: 0, Flamebait

      People get punished for suggesting slashvertisments exist?

      you should read my 'translation' of the article text ;) it's not just a slashvertisment, it's a desperate bid to rake in cash from VCs and con open source developers to write a 'pay to use it' CVS system...

      instead of you know, improving another CVS to the point where it could be used by say Linus Iorvalds

      my translation is a little 'fast' and loose to make it funnier, but there is a grain of truth in it. This companies CVS product was an open source 'free as in beer' project for a while, they basically forked CVS and then improved on it.. until everyone, even linus torvalds was using it, then bam in came the license changes and now they're nailing everyone they can for cash...but alot of people got upset, and torvalds was even considering switching to a FLOSS based CVS program... i can't rmeember what happened there though ^^;

    3. Re:WTF by QuantumG · · Score: 0, Offtopic

      Install bugmenot FFS.

      --
      How we know is more important than what we know.
    4. Re:WTF by ckaminski · · Score: 1

      Someone did, it's called SVK, and if TortoiseSVN ever gets support for it, $Deity help BitKeeper. :-)

    5. Re:WTF by ckaminski · · Score: 1

      I should also comment that SVN needs some damn good access control mechanisms, and decent rename support.

  6. I registered an account by putko · · Score: 4, Informative

    I registered an account -- read the article if you want.

    login: fuckhead
    password: fuckhead

    email: fuckhead@mailnator.com

    --
    http://www.thebricktestament.com/the_law/when_to_s tone_your_children/dt21_18a.html
    1. Re:I registered an account by Reverend528 · · Score: 1
      fuckhead@mailnator.com

      Hey! That's my e-mail address. Thanks to you, I'm now going to get tons of spam!

  7. huhuha/hehe by Anonymous Coward · · Score: 0

    I've made it! Try huhuha/hehe.

  8. Here's the text -- for real by putko · · Score: 5, Informative

    Interview with Karl Fogel of Subversion and CollabNet
    J. Chalifour - July 27, 2005
    1. Introduction
    2. The role of developers
    3. Social aspects of the development community

    Part I | Part II | Part III | Part IV

    Related Book

    Introduction

    Karl Fogel is a founding developer of the Subversion project. Subversion is sponsored by CollabNet and under the company's employ, Karl describes himself as the CollabNet-to-developer liaison. In the following, Karl explains the inception of the open source Subversion project, what it has required to build its community, and what he has learned in order to successfully maintain it. Karl's vantage is interesting not just from the perspective of managing such a community but also because the Subversion project itself is one of the required sorts of software technologies used in open source development.

    Subversion is a type of software configuration management (SCM) tool known as a version control system. These types of tools are important toward letting developers collaborate on software projects. Subversion is part of the tigris.org community's focus on building collaborative software development tools. CollabNet provides enterprises with distributed software development solutions. It's used by companies such as Sun Microsystems, HP, and Barclays Global Investors to help coordinate development teams spread out around the world.

    Part III of the Concerted Disruption, Climb Aboard series.

    We started Subversion about five years ago, and I think it is a little bit different from a lot of open source projects because we started with the goal of replacing a specific piece of open source software ... We were trying to replace CVS.

    You had a good reference point.

    We had a great reference point and also that saved us from a lot of arguments about what should and shouldn't be in our first release. We could say that if it's in CVS it should be in our 1.0 version, if it's not in CVS it doesn't need to be. There was an inherent controversy reduction substance in our projects--at least before 1.0. Now we get into all those discussions that we put off. But we have a foundation/relationship already built with all these people that makes it a lot easier to do that because they all worked together to get to 1.0.

    As to how we got those developers. The numbers we have right now are roughly thirty full committers--people who can commit anywhere in the source code, thirty partial committers--people that just do documentation fixes, fix support scripts, or something like that but do not have commit rights in all the code. Of those thirty full committers, I'd say roughly fifteen are really active on a day-to-day basis. You get some others that come flying in like Han Solo every now and then--they fix a bug and then they go out and you don't hear from them for a few months.

    The way we founded it was mainly word-of-mouth. We knew the CVS space pretty well, we started contacting those people, they talked to their friends, and pretty soon people just showed up. We actually held physical, open-to-the-public design meetings when we began the project in San Francisco. Some of those people are still with the project today. But you know, one of best committers is in Slovenia and he certainly didn't come to those design meetings. But we wouldn't be where we are without him.

    Could you please clarify your role in the project?

    I guess you could call it, founding developer. CollabNet only employs somewhere between three and four of those committers. We don't all work 100 percent on Subversion all the time. Somewhere between three and four is accurate. My role was mainly--you know I had a lot of experience working with open source projects before, and in particular with CVS, which helped to get me involved with version control--it was sort of to set the tone at the beginning of the project--a CollabNet-to-developer liaison when necessary, although there haven't been that many conflicts, we haven't n

    --
    http://www.thebricktestament.com/the_law/when_to_s tone_your_children/dt21_18a.html
    1. Re:Here's the text -- for real by dumbskull · · Score: 2, Interesting

      Is it only me. I dont understand a word of this. Am i not geeky enough?

    2. Re:Here's the text -- for real by kesuki · · Score: 3, Insightful

      http://developers.slashdot.org/comments.pl?sid=157 196&cid=13183601
        partial translation, and it has nothing to do with being 'geeky' this is written in a language you don't understand. Often called 'marketdroid' or 'doublespeak' this language is entirely derived by complicating the way you write things so that people are so busy scratching their heads they dont notice your hands in thier pockets.

    3. Re:Here's the text -- for real by aussie_a · · Score: 0, Troll

      Thankyou for abusing someone's copyright by disseminating it without a license. You are not only hurting the site (which may or may not be gaining money off advertisements), but other copyright holders by encouraging slashdot to continue to post links that require registration.

      If you're posting it because you (or for people that do) object to having to register, then this is the wrong way to go about it (as it's at the very least, illegal). not viewing the article, or not commenting, will reduce the pageviews for this article, and thus slashdot's revenue from it. This is a much better way to send slashdot a message to stop linking to articles that require registrations. If they do stop, then this will help give an incentive to the places themselves, that requiring registration might not be such a good idea, and it will reward people that don't require registration (as their articles will be accepted at slashdot instead).

      But all that won't stop people from modding up your post.

  9. View the article without registering by datafr0g · · Score: 1
    --
    "Who says nothing is impossible? Some people do it every day!" - Alfred E. Neuman
  10. bugmenot by Anonymous Coward · · Score: 0

    I would think everyone has the bugmenot firefox extension installed by now. The first try worked for me.

  11. MOD -1 TROLL by Anonymous Coward · · Score: 0


    Hot Karl
    Wow nice way to slip it past the mods.

  12. Rant: I found Subversion immature by Anonymous Coward · · Score: 2, Interesting
    I just had a frustrating hour or so with Subversion. No, it's not that I have problems with its functionality (well, I actually do, but today isn't time to talk about that.) It's the lack of craftsmanship that bothers me.

    Firstly, the proxy support. One of the big benefits of Subversion is that it can use HTTP to talk to the server. So one would hope that the network connection set up with Subversion is easier than CVS, right?

    Well, not at all, I found.

    First, as a Windows program, it should be using the platform proxy setting (the one you set through IE's connection setting dialog.) It's a fairly sophisticated mechanism that covers wide range of use cases. It's also reasonably easy to use from programs --- you just need to use WinInet library instead of the socket library. Or as an Unix program, you can take $http_proxy variable, which seems to be the de-facto standard of setting up a proxy. Instead, Subversion decided to invent its own way of setting proxy information. This makes it really painful to switch one network configuration to another.

    Second problem. Network connection problems are one of the most common problems, because there are just so many things that can go wrong. So a program should be able to help users diagnose the problem. With CVS, you can use the -t option to trace the network access of the CVS program. You can see which host/port it's connecting to (if it's pserver), or you can see how CVS spawns the connect program (if it's ext.)

    Subversion doesn't have any such option (in fact it doesn't seem to have any global option, so I might be missing something.) When there are so many places you can set network configuration (~/.subversion, registry, ...) this is just poor craftsmanship. If Subversion had a trace option to cause it to print where it's loading proxy information, how it's connecting, and what repsonse it's getting, it would save a lot of time for many users.

    Third problem. In theory, HTTP-based connection support would have improved the connectivity. But in practice, because Subversion decided to use the WebDAV protocol, it uses many HTTP methods (like PROPFIND) that are often not allowed by a proxy server. A simple Google search reveals how pervasive this problem is. While I'm sure the use of WebDAV makes some technical sense, it would have been a lot easier to us users if it just uses a standard GET or POST method coupled with the Subversion-Action header or something (guess SOAP-Action header is done for a reason!)

    Fouth problem. Of all the modern programming languages you can choose to implement Subversion with, they chose C. I mean C, the least productive programming language of all kind, that only second to the assembly language. Sure, it's necessary sometimes, like when you are writing a kernel, or a really high-performance computing. But Subversion is neither.

    Users would have been served much better if the time of Subversion developers are spent on improving the tool itself, instead of fixing string manipulation bugs, tracking down core dumps, and etc. I really don't understand why they didn't pick Python, Ruby, or even Java. It makes Subversion runs on more platforms, it improves the productivity of developers.

    You see, none of those are critical to the architecture of Subversion or anything. It's just the rough edges that you need to smooth out. It's really nothing but a lack of craftsmanship to be unable to remove this many issues after so many years of development (I hit all those problems within an hour.)

    Well, now that I said all I wanted to say, at least I feel much better!

    1. Re:Rant: I found Subversion immature by Anonymous Coward · · Score: 1, Interesting
      I really don't understand why they didn't pick Python, Ruby, or even Java. It makes Subversion runs on more platforms [..]
      Python, Ruby, and Java are written in C. You can't use them on a platform that doesn't already have a C toolchain. QED.
    2. Re:Rant: I found Subversion immature by TheNarrator · · Score: 4, Insightful

      Sounds like you downloaded subversion and spent 5 minutes with it. Based on your review, I recommend you go spend the $500 per user for visual source safe. It will require reading no documentation and your firewall administrator will respect the fact that you're trying to use a Microsoft(tm) product and not some suspect open source program and bend over backwards to do whatever needs to be done to get it to work because it's the standard.

      Better yet would someone make the "Enterprise" subversion package with an option to use internet explorer proxy settings and bloated soap calls instead of webdav and sell it to this guy for $500 a seat? Thanks. Oh yeah, and please reimplement it in managed C code running on top of .net? Thanks.

    3. Re:Rant: I found Subversion immature by roxtar · · Score: 1
      I mean C, the least productive programming language of all kind

      I disagree and so would a lot of people.

    4. Re:Rant: I found Subversion immature by agm · · Score: 2, Insightful

      Agreed. I'll often write string manipulation or file searching/parsing routines in c because a) it's easy to do, and b) it runs FAST (like 100Mb per data in less than 2 seconds).

    5. Re:Rant: I found Subversion immature by Anonymous Coward · · Score: 0

      GP' point is not about the toolchain. "everything boils down to machine code, so let's use only it, ... and may be assembler" - see the problem?

      the point is about productivity. And subversion would definitely benefit from higher level languages.

    6. Re:Rant: I found Subversion immature by gladmac · · Score: 1

      I don't think the point of HTTP connections was to slip through firewalls that didn't want source code management to go through. It's mainly really great because of it being WebDAV. This means you can browse with other clients, and you can even write changes with simple WebDAV clients and have them automatically inserted as a commit.

      For some, it's really convenient to consider the repository part of the web and administer rights to different parts of the repository to different users using the usual WebDAV mechanisms.

      See the manual for a concise list of actions to allow in the proxy, if you want to use this access protocol.

      There is still the option of a dedicated server using whatever port, so there is no step down in functionality from CVS.

      I agree that it's silly that the default behaviour is not to respect system wide proxy settings. The default should be to use the system wide settings, on all platforms (Mac OS X also has those).

    7. Re:Rant: I found Subversion immature by Anonymous Coward · · Score: 0

      I'm a complete beginner and had no problems setting up Subversion on Linux using Apache2 and access via the dav module nor on windows using the svnserve as server. Use TortoiseSVN as Client if you are on Windows. Complaining about lack of craftsmanship is just bullshit.

    8. Re:Rant: I found Subversion immature by Anonymous Coward · · Score: 0

      Craftsmanship is bullshit? Haha. Typical linux user.

    9. Re:Rant: I found Subversion immature by Ann+Elk · · Score: 4, Interesting

      From Chapter 7 of Version Control with Subversion:

      The servers file contains Subversion configuration options related to the network layers...

      The section goes on to describe the http-proxy-host, http-proxy-port, http-proxy-username, and http-proxy-password options. So, "yes", it does support HTTP proxy, but not via WinInet (big surprise).

      Another option would be to tunnel the SVN protocol over SSH (Subversion uses the "svn+ssh://" URL scheme for this).

      I completely disagree with your option on using WebDAV versus "normal" GET/PUT. If your network admin has configured the proxy to disallow certain requests, using other protocol features to get around the restriction is not the answer. This is one of the things I hate about protocols like SOAP -- they actually make the proxy's life much more difficult.

      Finally, why do you care what language the application is written in? The problems you describe would not "magically disappear" if Subversion were rewritten in Perl/Python/Ruby/Whatever.

    10. Re:Rant: I found Subversion immature by bentcd · · Score: 1

      There's nothing about Java that forces you to implement it in C. While I'm not too familiar with Python and Ruby, I'd hazard a guess that this is true for them also.

      --
      sigs are hazardous to your health
    11. Re:Rant: I found Subversion immature by bentcd · · Score: 1

      Intercal stands as a shining example of how you can create a programming language that is much much less productive than C :-)

      --
      sigs are hazardous to your health
    12. Re:Rant: I found Subversion immature by MichaelSmith · · Score: 1

      You might want to take a look at Mercurial

    13. Re:Rant: I found Subversion immature by Anonymous Coward · · Score: 0

      No shit, sherlock.

    14. Re:Rant: I found Subversion immature by Anonymous Coward · · Score: 0

      I'll often write string manipulation or file searching/parsing routines in c...

      And there's your problem. Any higher-level language will typically also write its string manipulation routines in C... once. Then the high-level programmers just use that one, fast, provided version.

    15. Re:Rant: I found Subversion immature by Anonymous Coward · · Score: 0

      Some good suggestions. Have you posted them to the subversion mailing list yet? I bet there are others who would appreaciate the network tracing option

    16. Re:Rant: I found Subversion immature by dwinter · · Score: 1

      IMHO a programming language's productivity does not depend on the language itself but on how it is used and whether it's features meet the requirements of the application or not.

      If an application does not require the use of object oriented programming, why then use a object oriented programming language?

      Have you even considered that there are systems which do not come with Python, Ruby or Java preinstalled or are not even supported by those languages?
      But almost every modern operating system has native support for binary executables.

      And by the way, Subversion runs on a lot of platforms (http://subversion.tigris.org/faq.html#portability ), maybe even more than Java does.

    17. Re:Rant: I found Subversion immature by ggzeama · · Score: 1, Insightful

      Forgive him, 'cause he doesn't know what he's saying.
      First, if you do not know how to handle you connectivity problems, ask your admin.
      Second, HTTP never improved the connection speed or reliability. It's just a fatty protocol, adopted because it is sooooo widely used.
      Third, your remark about C makes me repeat some things already written in this thread, so I'll be a good boy and stop here.

      Just a piece of advice: if you do not need special security measures, forget about WebDAV and use svnserve, it's much faster (you can ask the admin to build a VPN or something). But if you do, ask the admin to do a NAT or port masq & use webDAV.
      My personal opinion: I love svn, it's quite easy to configure/use and it never failed me ..... but, yes, I'm using it on *NIX.

    18. Re:Rant: I found Subversion immature by slapout · · Score: 1

      You've obviously never seen COBOL. :-)

      --
      Coder's Stone: The programming language quick ref for iPad
    19. Re:Rant: I found Subversion immature by Anonymous Coward · · Score: 0

      Indeed. I mean, Brainfuck and Malbolge are at least slightly worse.

    20. Re:Rant: I found Subversion immature by kesuki · · Score: 1

      Java needs C? http://www.embedded.com/showArticle.jhtml?articleI D=10700608
      news to those guys a I guess...

      oh wait you're wrong, It is a Full Fledged object Oriented langauge. They have OSes, written entirely in java, and since java is the native bytecode the code runs a lot better on an OS written in java. Like in the cellphone in TFA linked above.

      Here's the JAVA FAQ also, it might help you learn what Java is, and isn't.
      http://www.ibiblio.org/javafaq/javafaq.html

    21. Re:Rant: I found Subversion immature by Anonymous Coward · · Score: 0
      Ah yes, code re-use. The Holy Grail.

      One day someone might even make it practical for all but the most obnoxiously large yet clearly componentable systems.

      BTW you know shared libraries are as applicable to C as Python et al?

    22. Re:Rant: I found Subversion immature by M1FCJ · · Score: 2, Informative
      You are confusing what you are experiencing and what Subversion is.

      Subversion is a source-only product. There are no binaries. There are implementations of Subversion code and that's what you are having trouble with. For example since you use Windows, if you bothered to install TortoiseSVN, you would have had absolutely no problem with proxies, even authenticated ones.

      Binary distributions of Subversion or third party applications that chose to use Subversion (i.e., eSVN, Tortoise, SVK) might have different implementations or solutions to various configuration issues.

      Programming language choice is C. So is Linux kernel is written in C. So is Apache web server and so on. On the other hand Subversion is also an API and protocol. You can take Subversion and implement it completely in Java (jsvn) or Ruby or any language of your choice. If you want to implement the protocol in Visual Basic, feel free. You can take any bit of the existing source code and re-use it because it is licensed under BSD. You don't even need to let the world know about it apart from BSD license requirements.

      Using WEBDAV makes a good architectural sense because suddenly you can use almost any WEBDAV client architecture and wrap around your own business flow requirements and you have an easy-to-build system.

      So stop trolling.

    23. Re:Rant: I found Subversion immature by IpalindromeI · · Score: 1

      When someone says "Java," it can refer to the language, which is written in a human language since it's just an abstract specification, or it can refer to the virtual machine that runs Java programs. That virtual machine has to be written in something, and I'd be very surprised if it was Java. It's probably C.

      --

      --
      Promoting critical thinking since 1994.
    24. Re:Rant: I found Subversion immature by Anonymous Coward · · Score: 0

      Yeah, core dumps really help my productivity. Dumbass..

    25. Re:Rant: I found Subversion immature by si618 · · Score: 1


      Sad, in the time you took to write that message, you could have created and implemented a working repository using svnserve.

      Perhaps spend more time reading and less time writing?

      --
      Sometimes I doubt your commitment to Sparkle Motion
  13. Screw signing up! by Anonymous Coward · · Score: 0

    Login and Password: dontbugme

    God that's annoying.

  14. Article Full Text by Anonymous Coward · · Score: 2, Informative

    Introduction

    Karl Fogel is a founding developer of the Subversion project. Subversion is sponsored by CollabNet and under the company's employ, Karl describes himself as the CollabNet-to-developer liaison. In the following, Karl explains the inception of the open source Subversion project, what it has required to build its community, and what he has learned in order to successfully maintain it. Karl's vantage is interesting not just from the perspective of managing such a community but also because the Subversion project itself is one of the required sorts of software technologies used in open source development.

    Subversion is a type of software configuration management (SCM) tool known as a version control system. These types of tools are important toward letting developers collaborate on software projects. Subversion is part of the tigris.org community's focus on building collaborative software development tools. CollabNet provides enterprises with distributed software development solutions. It's used by companies such as Sun Microsystems, HP, and Barclays Global Investors to help coordinate development teams spread out around the world.

    Part III of the Concerted Disruption, Climb Aboard series.

    We started Subversion about five years ago, and I think it is a little bit different from a lot of open source projects because we started with the goal of replacing a specific piece of open source software ... We were trying to replace CVS.

    You had a good reference point.

    We had a great reference point and also that saved us from a lot of arguments about what should and shouldn't be in our first release. We could say that if it's in CVS it should be in our 1.0 version, if it's not in CVS it doesn't need to be. There was an inherent controversy reduction substance in our projects--at least before 1.0. Now we get into all those discussions that we put off. But we have a foundation/relationship already built with all these people that makes it a lot easier to do that because they all worked together to get to 1.0.

    As to how we got those developers. The numbers we have right now are roughly thirty full committers--people who can commit anywhere in the source code, thirty partial committers--people that just do documentation fixes, fix support scripts, or something like that but do not have commit rights in all the code. Of those thirty full committers, I'd say roughly fifteen are really active on a day-to-day basis. You get some others that come flying in like Han Solo every now and then--they fix a bug and then they go out and you don't hear from them for a few months.

    The way we founded it was mainly word-of-mouth. We knew the CVS space pretty well, we started contacting those people, they talked to their friends, and pretty soon people just showed up. We actually held physical, open-to-the-public design meetings when we began the project in San Francisco. Some of those people are still with the project today. But you know, one of best committers is in Slovenia and he certainly didn't come to those design meetings. But we wouldn't be where we are without him.

    Could you please clarify your role in the project?

    I guess you could call it, founding developer. CollabNet only employs somewhere between three and four of those committers. We don't all work 100 percent on Subversion all the time. Somewhere between three and four is accurate. My role was mainly--you know I had a lot of experience working with open source projects before, and in particular with CVS, which helped to get me involved with version control--it was sort of to set the tone at the beginning of the project--a CollabNet-to-developer liaison when necessary, although there haven't been that many conflicts, we haven't needed a liaison that much. My role is also to write code.

    It's hard to put my finger on it exactly but when you have a bunch of volunteers, the main currency that's going on is attention. If one of them does something, does somebody notice? They're going to do

  15. Development language by Anonymous Coward · · Score: 0

    I prefer doing my development - distributed or otherwise - with Python. I've never quite grasped the syntax of Karl Fogel.

  16. On the topic of revision systems... by putko · · Score: 1

    Does anyone have good/bad things to say about Darcs

    It is written in a purely functional language. The stuff is rooted in a theory of patches.

    Does this stuff actually work? Subversion seems like a reworking of CVS (minus the warts). Darcs seems like a different animal.

    --
    http://www.thebricktestament.com/the_law/when_to_s tone_your_children/dt21_18a.html
    1. Re:On the topic of revision systems... by Anonymous Coward · · Score: 0

      Darcs is awesome. I recommend anybody who's hit the wall with other VCS systems to give it a spin.

      Almost all the VCS's I've used seem to treat branching like some kind of simplistic operation. You branch the code, you merge at some point, you're done.

      Even the book on Subversion has zero to say about how to maintain multiple parallel long-running branches. Subversion doesn't even have tags so you can keep track of your merges!After digging around I found svnmerge, which is a completely separate program, and still doesn't handle changesets and dependencies.

      Enter Darcs .. somebody actually *thought* about the implementation. It's not just a clone of CVS with the author's favorite pet features bolted on.

      In Darcs, the system understands the relationship between changes. If you edit line 3, commit, edit line 3 again, commit, Darcs understands that the second patch depends on the first. If you edit a different line, Darcs understands that they DON'T depend on each other. Now that the dependencies are understood, Darcs allows for much safer and cleaner merges. If you don't apply a patch, Darcs will skip all the patches that depended on it.

      It's really very cool. And also it's extremely lightweight. Just go into a directory, "darcs init", start working. It has a very small set of commands you need to know (record, push, pull) It's lightweight enough to use along with another VCS. Sometimes "on the road" I'll use it to do some work in a checked out CVS workspace, then I'll use a simple script (darcs is easy to use from scripts as well) to push the changes back to CVS. Then I do "rm -rf _darcs" and the Darcs files are gone.

      Darcs is also "serverless" and truly distributed. Each workspace is also the repository. You can push/pull patches between repositories using HTTP, SSH, email, whatever.

      I find it funny that this article is about Distributed Development, because Subversion is monolithic and centralized, just a bloated clone of CVS.

      I recommend everybody give Darcs a try. I love it. I believe there will be a strong theoretical underpinning to VCS systems someday, like the relational model is the model for data storage and manipulation, and Darcs is the furthest along.

    2. Re:On the topic of revision systems... by MassacrE · · Score: 3, Informative

      Darcs works off a non-centralized model (see arch, codeville, monotone, bitkeeper, cogito) instead of a centralized model (cvs, subversion, perforce, clearcase). Rather than tracking revisions, it tracks changes. This means that rather than merging all changes into a new revision, changes are pulled (or pushed) to create a tree.

      Of the non-centralized tools out there, darcs is probably simplest to learn to use. However, the use of Haskell has always made me apprehensive - this and performance/scalability problems have limited my use.

      The patch model is innovative, but the flip side is that it is unique, and has trade-offs in usage. While other systems generate patches around changes which can be exchanged and even signed to prevent tampering, darcs patches are altered when applied.

    3. Re:On the topic of revision systems... by ballermann · · Score: 1

      It works very well for me (using it in DokuWiki Development). Applying patches send in by distributed Developers is very easy. It may not be the right choice for very big projects (like the Linux Kernel) but for smaller Projects like DokuWiki it's working great.

      --

      Need a Wiki? Check out DokuWiki

    4. Re:On the topic of revision systems... by putko · · Score: 1

      Some have mentioned "scalability" as a problem -- what is this problem? Is it really a problem?

      E.g. I have to merge 100 patches --- takes a long time. [this can't be it; if so, that's really bad].

      Or when 10 people try to use it on a project, they wind up having to talk to each other too much?

      --
      http://www.thebricktestament.com/the_law/when_to_s tone_your_children/dt21_18a.html
    5. Re:On the topic of revision systems... by tricorn · · Score: 1

      Are there any source code control systems that do what the old CDC modify program did (from at least as long ago as the '70s), where each line is identified, and a mod identifies the line(s) to be changed or moved? If the line is moved, it retains its identity, if it is modified it gets a new identity?

      Darcs and similar models looks similar to the way modify was used. You had "modsets", which identified the list of mods to be applied and the order to apply them. If you had conflicting mods, you would create additional mods to fix the problem (including a directive "yank" to remove an already applied mod). You could include other modsets. You'd have a main line, and modsets for alternate tracks, alternate environments, experimental versions, etc. The main line would have mods "applied" on a regular basis, at which point active modsets would be updated to take into account new changes where necessary.

      Darcs looks like it does some of those modifications to mods automatically. I'll have to look into it.

  17. Re:Rant: I found parent immature by Anonymous Coward · · Score: 1, Interesting

    Jesus, the moderators who sent that to +5 should just be shot in the head. Now.

    Just for starters, HTTP plus WebDAV is incompatible with your fucking proxy server dickwad. svn ignored your proxy settings because they wouldn't have fucking worked. I'm sorry you are disappointed that they tried to play well with the Standard protocol for versioning stuff. They must've been total idiots to not do things which you thought were a good idea after thinking about them for ten minutes. Cause you know, you think of way hella smarter things in ten minutes that the svn team ever could have thought of in the last five years of actual work doing the design.

  18. SubVersion project/code quality by DarkDust · · Score: 5, Interesting

    We use SubVersion at our company for well over two years now, and since then I've been subscribed to the SubVersion user and developer mailing lists.

    I find the SubVersion project a very interesting project. What really makes this project shine is the development quality. By this I mean:

    • The way new features are discussed and designed before they get implemented. Let's face it, more often then not in Open Source projects someone just tries to implement a feature without a concrete design (I'm guilty of this, too ;-). The SubVersion maintainers on the other hand normally don't start coding anything before a solid design has been specified.
    • The way code quality is enforced. Patched are actually reviewed and discussed and have to fullfill a certain standard before they get accepted, something few projects really do.
    • The main coders are really bright people who seem to have many years of experience. They normally know very well what they are talking about ;-)
    • Friendly people. You don't see flamewars on the lists, the SubVersion people are helpful and patient.
    • No hostility against other projects. The SubVersion maintainers are the first to say something like "Well, if you want to work like this or need feature foo then SubVersion might not be the correct solution for you, try OtherVersionControlSystem instead.".

    I've seen a few OpenSource projects by now, even was co-leader of a very small, now long abandoned project and thus am really impressed by the way development is done in the SubVersion project.

    I really, really wish that I'll have the opportunity to work on a commercial project that comes halfway to the code quality of the SubVersion project. I'm a professional programmer for just about four years now but have already worked on some big industrial projects (industrial robots, lasers). Still I have yet to see a commercial development project where not some really dumb programmers can constantly screw the project, check code in that doesn't compile, doesn't follow the coding style or is simply of low quality. I see code that almost no OpenSource project would accept on a daily basis. And this code is produced by people that are highly paid and sometimes have years of experience (but still should visit a "Coding 101" course !).

    Very often I think, "Now if this were an OpenSource project that code would have been rejected and the programmer would have been forced to correct it and do better next time." Unfortunately this will stay a dream, and thus I fear I'll never see a commercial project with code quality that rivals that of SubVersion.

    1. Re:SubVersion project/code quality by LetterJ · · Score: 1

      "Well, if you want to work like this or need feature foo then SubVersion might not be the correct solution for you, try OtherVersionControlSystem instead."

      I think this is really important as a part of their success. So often, projects and products (not just an open source thing) tend to try to be all things to all people. They actually understand and stick to their "way of doing things". They aren't afraid to say, "That's not how SVN works, and, quite frankly, it's never going to work like that" and back it up.

      As versioning tools tend to be tightly integrated into the way people work, they also tend to get more of this than some other types of projects and they handle it well. People tend to want to make SVN bend to their particular way of working. However, in many cases, doing that actually means that you're asking the rest of the SVN users to bend to your unique way of working. And, given some of the requests I've seen go across that mailing list, I'm glad they handle this stuff well.

  19. Re:partial Translation was Re:Here's the text -- by Pete · · Score: 2, Funny

    I think this qualifies as possibly the weirdest >0-rated (well, at the moment) slashdot post I've seen for a while. I reckon it deserves a special "delusional-nutcase-fantasy" mod tag :).

  20. I think you're thinking of BitKeeper by putaro · · Score: 2, Informative

    Subversion is an open source source code management tool. It's distributed under the BSD license, I think. It has nothing to do with BitKeeper or the Linux kernel source code management debacle.

    1. Re:I think you're thinking of BitKeeper by kesuki · · Score: 1

      oh yeah doh but it's still funny ;) and it's like he was ASKING for a 'translation' like that, writing a 6 page text that said 2 things. 'i need money, pay me' and 'i need coders write code for me!!! (for free 1! !1!)'

  21. is it just me by sirdude · · Score: 1

    or are /. readers being .. er.. overzealously helpful today? I reckon I've read the "Full article Text", and obtained logon details for TFA about 3,427 times already :S

    All becase a /. editor didn't bother to click a link.. /.'s standards seem to be dropping to new record levels every day.. :S

  22. Not Funny by pdamoc · · Score: 0, Redundant

    Why is this moderated funny? It is actually informative. :) the registration works!

  23. Chill out horny Subversion guys. by Anonymous Coward · · Score: 0, Troll
    Seriously, nothing is perfect, including your precious VCS, get over it. The list is only four items long, you should be proud, not trying to make up excuses and tear into me.

    I spent a few months with Subversion. I tried what was being hyped by you and your pals as the greatest thing ever. These were real problems I had. Sorry you don't like it, but that's the way it is. There has been no indication of a change in attitude with regards to better interopability with Windows, and a simple scaffolding blows up with the current version, so I think clearly the issue has not been dealt with sufficiently.

    As for for your ethereal obsession with Microsoft... seek help.

    1. Re:Chill out horny Subversion guys. by Anonymous Coward · · Score: 0

      These were real problems I had

      Sorry, but PEBKAC.

      As for for your ethereal obsession with Microsoft.

      Esoteric words are nice when you know what they mean, otherwise you look silly.

      Ethereal : 1 extremely delicate and light in a way that seems too perfect for this world : her ethereal beauty | a singer who has a weirdly ethereal voice. heavenly or spiritual : ethereal, otherworldly visions.

  24. bugmenot bugmenot. by Anonymous Coward · · Score: 0

    added your subscribtion to bugmenot.com[/]

  25. for all who have moderators points: by Anonymous Coward · · Score: 0

    first line: flaimbait by Karl Fogel, internet troll

    this is NOT informative. maybe funny,if you are italian or braindead, but NOT informative.

  26. Sounds like you should try Arch. by Pliny · · Score: 1

    If you want revision control that's flexible network-wise, it doesn't get much better than Arch. You can use any filesystem for the repository that your box can see. NFS, FTP, HTTP, SCP, it's all good.

    Want Python? Use Cannonical's implementation of the Arch protocol, Bazaar. It's got nummy Python goodness baked in, along with better support for digitally signed repositories (via GPG).

    $DEITY help you if you want to use either on Win32, however. The Arch protocol requires both a real filesystem, and an OS that can use case-sensitive semantics properly.

    --
    What does this button d$#%* NO CARRIER
    1. Re:Sounds like you should try Arch. by Bryan+Ischo · · Score: 1

      Oh my god. Did you just reply to someone's complaint about the lack of craftsmanship in subversion by suggesting arch?!?!? The mind boggles ...

  27. Re:partial Translation was Re:Here's the text -- by jeremyp · · Score: 2, Insightful

    Um, subversion is Open Source. You can download it for free. It shares none of its code with CVS. Although it is a direct replacement for CVS, its architecture is completely different.

    In short just about everything in your post is wrong.

    --
    All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
  28. It's not BitKeeper! by putaro · · Score: 1

    Boy, you are just really bitter about the BitKeeper thing aren't you? This isn't BitKeeper and it doesn't have anything to do with those guys.

  29. Re:partial Translation was Re:Here's the text -- by Anonymous Coward · · Score: 0

    So you're not denying that Karl needs a new porche? that's good. Because you know he does. lighten up if he was such a good guy he'd learn some language other than marketdroid ;) Drumming up money from VCs and getting more contributors because the slovenian guy who's one manning it is getting burned out is probabbly the entire point of this slashvertisment ;) and he has pissed off some people in open source... with all the patents etc he's made on the code...

  30. distributed development by Anonymous Coward · · Score: 0

    If you find distributed development with SVN difficult, why not try Arch :-D

  31. Dave Thomas on Distributed Devlopment by jarich · · Score: 3, Interesting
    I recently heard Dave Thomas (of PragProg.com, not of Wendy's) speak. As part of the talk he discussed working on Ruby, an open source language whose founder speaks Japanese. Matz (the founder) does speak English as well, but a very large segment of the development community don't speak English. And despite his best efforts, Dave couldn't learn Japanese.

    So how did they communicate? Via unit tests. If Dave commits code that breaks something, he gets a unit test in the mail. When the test works again, he knows that he's fixed the problem.

    Pretty interesting solution!

  32. Re:partial Translation was Re:Here's the text -- by kesuki · · Score: 1

    Well, I do owe an appology to karl, because while he does need a new porche, and more developers, and such, I did confuse his product with Bitkeeper.

    But He was asking for it, It's funny, Laugh..
    I managed to pick apart the doublespeak and
    write a very clean, easy to read (if wrong)
    (and very funny) translation.

  33. Re:partial Translation was Re:Here's the text -- by Pete · · Score: 1
    Er, well... okay, I'm trying to be diplomatic, but... no. It wasn't very funny. It wasn't even funny. It wasn't clean, it wasn't easy to read (your grammar/spelling is so bad it was actually painful for me to read, though I'll let you off if English is not your first language :)) and it wasn't a translation.

    But it was wrong. You got that right. :)

    BTW, you spell "porsche" with an 's'.

  34. Distributed development works sometimes by wheelbarrow · · Score: 0, Troll

    I can see where distributed development can work well when a project is an open source labor of love. However, I don't see it working well for purely commercial or in-house proprietary software. In my experience, those commercial developers who insist on working remotely are disinterested mercenaries that only see their employer as a means to their preferred remote lifestyle. I admire folks who know what they want, in terms of where they live, but I don't think it's in the best interests of a business to fund the lifestyle of someone who want to live in a rural resort community rather than being a full participant who comes to the office each day.

    1. Re:Distributed development works sometimes by ckaminski · · Score: 1

      People seem to have no problem with Sales guys who can work outside the office 100% of the time, why cannot developers or other knowledge workers?

      I know several people who work just as effectively, if not more, at home as they do in the office.

    2. Re:Distributed development works sometimes by kbrannen · · Score: 1
      However, I don't see it working well for purely commercial or in-house proprietary software. In my experience, those commercial developers who insist on working remotely are disinterested mercenaries that only see their employer as a means to their preferred remote lifestyle. I admire folks who know what they want, in terms of where they live, but I don't think it's in the best interests of a business to fund the lifestyle of someone who want to live in a rural resort community rather than being a full participant who comes to the office each day.

      Oh, this is the "if I don't see them in the office, they must not be doing any work" viewpoint. That is total rubbish! (at least if handled correctly :-)

      If employers can allow their employees extra comfort and still get the job done, why shouldn't they? Besides that, there are at least 2 extremely valid reasons to want to allow telecommuting:

      1. The offsite person may have very useful and hard to find skills or business knowledge, and they don't want to live in the area where their employer is.
      2. The employee may live in a cheaper place than were then employer is, so the employer can save money; we might call this "on-shoring". :-)
      Case in point, I contracted to a company who had their home office on the east coast, but their IT center was in the mid-west (where I live). They decided to close their IT office and move it to the home office. That's life, layoffs happen. But I was their lead developer (only developer actually) for the back-end of the system, and I wasn't going to move 1500 miles. They had the choice of letting me telecommute with the occassional trip to the office about once a quarter, or lose their only developer and all the system and bussiness knowledge I'd acquired (probably worth many 10's of thousands of dollars). Letting me telecommute was an easy decision for them.

      This sort of thing is pretty easy to handle assuming both parties want it to work. My boss understood the situation and was willing to work with me; which caused me to really want to make it work; we had a good level of trust (trust is extremely important to making it work BTW). Setting hard deliverables and dates was the key; if I told her that feature X would be in the system by next Friday, it was very easy to know if I was working, because it was either there or not.

      I guess you don't believe in off-shoring either do you? I certainly applaud that; let's keep it "in the country" (for whatever country you live in).

  35. Re:partial Translation was Re:Here's the text -- by kesuki · · Score: 1

    I'm high energy, I can't stop to revise my posts unless i'm tired, it's early morning and I just woke up from my 4 hrs of sleep..

    Also, my english doesn't follow 'proper' grammar, because i prefer to write something normal people can figure out without needing a 6th grade diploma.

    although i probably suck at that... I shoulda asked someone if they thought it was legible, and I probabbly woulda posted it anon/as a je, but I kinda wanted a lot of people to see it.. I even skipped googling for the linus article to double check if this was the CVS porgram that screwed over linux..

    heh I didn't see how high the post got modded, (I have notifications off) but i'm assuming it was in the +3 to +4 range.. which means quite a few people saw it oh well I guess i'm down to 47 karma now ;) math genius == know my karma at all times.

  36. Subversion behind a http proxy by mparaz · · Score: 1

    Yeah it took me a while to figure out why the http_proxy env variable didn't work. Then, you need to ask your sysadmin (if that's not you) to open up the ports (like for squid)

  37. subversion+ssh+squid trick by mparaz · · Score: 1

    Now if you run your own Squid, but are limited to ssh, you can still make Subversion work.

  38. Re:partial Translation was Re:Here's the text -- by Anonymous Coward · · Score: 0

    Well, I need a Porsche too. Can we all help Karl out so he can get two Porsches and give me one?

  39. ... I'm a Karl Fogel fan ... by ninjagin · · Score: 1
    ... but not for subversion. Rather, for his documentation of CVS.

    Years back, when I was first learning CVS, there was the Cederqvist and then there were the FREE chapters of Karl's CVS book at redbean.

    While the Cederqvist may have been great, Karl's free chapters saved me. They described things simply and elegantly. I found them so useful that I would set up new development machines with a browser bookmark to redbean. Any time a CVS question popped up, I could answer it quickly, but I could always say "That's the short version, but if you want to know more, look at Karl Fogel's book."

    The man is the cat's pyjamas, imho.

    --
    .. pa-ra-bo-la, pa-ra-bo-la, 2 pi R, 2 pi R, where's your latus rectum, where's your latus rectum, 2 pi R
    1. Re:... I'm a Karl Fogel fan ... by kfogel · · Score: 1

      /me blushes in embarrassment

      Thanks, ninjagin.

      --
      http://www.red-bean.com/kfogel
    2. Re:... I'm a Karl Fogel fan ... by ninjagin · · Score: 2, Interesting
      Yunno, it's said that we stand on the shoulders of giants. Giants get produced every day, and they get trod on by so many people who may or may not become giants themselves. People switch giants all the time as they change their habits, their philosophies and their activities. I've been standing on your shoulders for so many years, and had the benefit of your efforts all the way, along with all the other giants. You're in great company.

      The other giants are (in no order):

      • Ward Cunningham of Wiki
      • Paul Julius of CruiseControl
      • James Davidson of ANT
      • Stephen Hawking of The Universe
      • Stewart Brand and Larry Brilliant of the WELL

      Yeah, you're that good. Don't let 'em tell you otherwise. Bless you, sir.

      A Fan

      ... seeya round ...

      --
      .. pa-ra-bo-la, pa-ra-bo-la, 2 pi R, 2 pi R, where's your latus rectum, where's your latus rectum, 2 pi R