Slashdot Mirror


It's Not Time for OSS Release Cycle Synchronization

Bakkies Botha writes "Ars Technica weighs in with some detailed analysis on the controversial issue of open source release cycle synchronization. Ars explains how time-based release cycles work and takes a close look at how the release management strategy suggested by Ubuntu founder Mark Shuttleworth would impact open source software projects. Ars concludes that Shuttleworth's proposal isn't currently viable and argues that the BFDL is overstating the potential to simplify development with better version control tools. Ars also examines a counter-proposal offered by KDE developer Aaron Seigo and explains how it enables users to get the same benefits of synchronization without disrupting upstream development."

11 of 110 comments (clear)

  1. if I was in charge of a FOSS project by FudRucker · · Score: 5, Insightful

    I would release when it was ready, not when some stupid release cycle rolled around, that is what everyone does not need is some schedule to pressure developers to release before a product is ready...

    --
    Politics is Treachery, Religion is Brainwashing
    1. Re:if I was in charge of a FOSS project by maxume · · Score: 5, Insightful

      The idea of the schedule is not to encourage a premature release, but to encourage a sufficiently attainable definition of "ready" such that a release eventually happens.

      --
      Nerd rage is the funniest rage.
    2. Re:if I was in charge of a FOSS project by InlawBiker · · Score: 5, Insightful

      There really isn't a perfect way to release Linux distributions. With timed releases components are prioritized quickly, but some stuff gets left out. With feature-based releases you have to wait until some number of components are ready so the release date is a mystery.

      I think it's great the way it is: each distro has their own method, you can pick the one that's right for you. It's the ultimate in technical Darwinism.

    3. Re:if I was in charge of a FOSS project by maxume · · Score: 3, Insightful

      Sure, but you can at least prioritize certain features, which is then essentially a schedule, and you might as well release features once they are ready (because, as you say, they are ready).

      --
      Nerd rage is the funniest rage.
    4. Re:if I was in charge of a FOSS project by RiotingPacifist · · Score: 5, Insightful

      OFC not specifying a schedule leads to e17, hurd, etc

      --
      IranAir Flight 655 never forget!
  2. Translation of Seigo's suggestion by InlawBiker · · Score: 5, Insightful

    "Why don't you quite whining and help us develop and release the software you're re-packaging and trying to make money from."

    This was a good article. The Internet was actually useful today.

  3. Imho by Joseph1337 · · Score: 3, Insightful

    The benefits aren`t worth it. Look at Vista and KDE4, they were released too soon and look what happened - you got half of the promised features and half of the stability

  4. Re:A lot of buzz by garett_spencley · · Score: 4, Insightful

    "seriously, what sort of *nix system thinks you don't need a C compiler by default and makes you go looking for it in the repositories?"

    One that targets non-developer desktop users ? Or even servers ?

    As a sysadmin one of the many tasks I do to vanilla installs is to either uninstall the dev tools or restrict them to a particular group. Many exploits automatically download source for their rootkits or trojans etc. and compile it on the machine. Not having dev tools available to the user that the web server is running under, for example, makes these types of attacks more difficult and helps limit what an attacker can do if he does gain access (imagine a scenario where the attacker has no shell but can tell the web server to execute commands ... a simple 'wget' and 'make' later and he has himself a back door that gives him shell access as the web server user).

    In other words, if you have no pressing need for dev tools then it's wiser not to have them installed. If you're a developer then you can easily add them via the repositories.

  5. Sync would please ISVs by HighOrbit · · Score: 4, Insightful

    I think syncing the major distro's would be a boon to Linux overall. It would make support easier for third party vendors and ISVs, which might induce them to release more major Linux applications. For instance, Oracle or Adobe whould know that a particular version of their product would only have to support a certain kernel (altough each distro has patches) and a certain version of Gnome and/or KDE as opposed to ten different point-releases of kernel,KDE, and Gnome. The would know which versions of the Gnu utililities they can expect to support.

    Anything that makes it easier to for major software vendors to release and support software makes Linux stronger.

  6. Way To Go Aaron by mpapet · · Score: 5, Insightful

    Shuttleworth's idea is designed to further Ubuntu at the expense of the projects packaged therein. Specifically, he's trying to shift quite a bit of the release work onto the projects he packages.

    Aaron's post is a must-read for anyone vaguely interested in the topic. In particular,
    It is not overly dramatic to say that if we make Free software development overly sterile via choice of process, there will be a commensurate diminishment in participation and momentum. I interpret that as Aaron recognizing the corrosive effect on the entire dev community by adopting Shuttleworth's scheme.

    Better still, Aaron offers constructive alternatives. It's really nice to read and should be a template for most blogging.

    Someone please explain why Shuttleworth's idea hasn't been swatted down the day he posted it.

    Today's lesson: Learn to disagree without personal attacks and offer viable alternatives.

    --
    http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
    1. Re:Way To Go Aaron by Eponymous+Bastard · · Score: 3, Insightful

      Did you even read the articles?

      Shuttleworth is saying that if the distros synchronized, upstream developers would have better information about release cycles and could chose whether to target a particular release with their new features or not (essentially, when to branch for release and focus on stabilization). If it's not ready, then it's not ready and just shoot for 6 months later.

      This guy Aaron makes a good point in that this shifts work upstream, but I don't agree that this is disruptive. Aaron's great idea? Have the distributors basically go into each and every project and make and manage the release branches themselves! Imagine someone else coming into your project and going "We're branching here because I said so". Gee, not very good with people is he?

      If the distros synchronize, upstream can just ignore it if they feel like. There isn't really much of a downside. If you do chose to synchronize you can still have features released when they are ready, but deployments (releases/tarballs) happening on schedule. It's just a matter of which branches you merge.

      On Ars' theory that big changes are prevented by a branch and merge, timed release approach, GCC has used a 3-stage (major change, improvement, stabilization) release cycle since GCC 3.1 in 2001. Rather large changes have been done since then until the 4.4 branch in development. Granted, Mark Mitchel has done a superb job at release management (i.e. cat herding) and recently had 3 more people join in in this job.

      Even Linus does this fairly often (change too big, goes in next version so we can push this one out the door)

      At best, distros could help with consulting and advising on this job, but the release planning and management must come from within each community. His point about shifting work is good, and release management for big, flaship projects could be provided by people from each company (as I'm sure redhat et al have people working on each project anyway), but big projects probably have something like it established anyway.

      I'm still not seeing the downside to synchronized but ignorable schedules downstream.