Non-Linear Complexity

You're miserable, edgy & tired. You're in the perfect mood for journalism

Η κρίση του Bitkeeper

με ένα σχόλιο

Η συμπόρευση του Linux με το ιδιόκτητο λογισμικό διαχείρισης πηγαίου κώδικα Bitkeeper, στο οποίο βασίζονταν η ανάπτυξη του πυρήνα έφτασε στο τέλος της. Αφορμή υπήρξε η προσπάθεια του δημιουργού της Samba, Andrew Tridgell, να απεμπλέξει την διαδικασία ανάπτυξης του πυρήνα από τον έλεγχο του Bitkeeper, και η υποστήριξη του Linus Torvalds προς τον ιδιοκτήτη της εταιρείας Bitmover και δημιουργό του Bitkeeper, Larry McVoy.

Το Newsforge πήρε συνεντεύξεις από τους τρεις πρωταγωνιστές της κρίσης. O Larry McVoy εξηγεί πως ξεκίνησε η ρήξη, κατά τη γνώμη του:

Back on February 23 I learned from Linus that [Andrew] Tridge[ll] was reverse-engineering BK so that he could pull stuff out of BK trees without agreeing to the BK license. As you might expect, we were less than thrilled and began having talks with Linus, Tridge, and Stuart Cohen, the CEO of OSDL. These talks didn’t go anywhere. Tridge believes strongly enough in free software that he thinks anyone using non-free software is living in sin.

Η άδεια ελεύθερης χρήσης του Bitkeeper επέβαλλε περίπλοκους και περιοριστικούς όρους στους προγραμματιστές του ΕΛ/ΛΑΚ. Ο McVoy υπεραμύνονταν για χρόνια του δικαιώματός του να προστατεύει την θέση της εταιρείας του στην αγορά, απαγορεύοντας σε χρήστες του Bitkeeper να δουλεύουν στην ανάπτυξη ανταγωνιστικών προϊόντων. Από τη wikipedia:

The license for the “community” version of BitKeeper had allowed for developers to use the tool at no cost for open source or free software projects, provided those developers do not participate in the development of a competing tool (such as CVS, GNU Arch, Subversion or ClearCase) for the duration of their usage of BitKeeper plus one year. This restriction applies whether the competing tool is open/free or proprietary. This version of BitKeeper also required that certain meta-information about changes be stored on computer servers operated by Bitmover, an addition which means that it is impossible for users of the community version to run projects of which Bitmover is unaware.

Όμως, το δικαίωμα του reverse engineering για την επίτευξη συμβατότητας θεωρείται αναφαίρετο δικαίωμα του χρήστη, σύμφωνα με τη φιλοσοφία του ΕΛ/ΛΑΚ (και όχι μόνο), και προστατεύεται δια νόμου. Έχοντας πικρή πείρα από πολυετείς μάχες ενάντια στις προσπάθειες της Microsoft να οικειοποιηθεί και να κρατήσει κλειστό το πρωτόκολλο CMB/CIFS, ο Tridgell αποφάσισε προφανώς να απεμπλέξει το Linux από τον ασφυκτικό έλεγχο του BitKeeper, κάνοντας αυτό που ήξερε καλύτερα:

In late February I wrote a tool that is interoperable with BitKeeper. The aim was to provide export to other source code management tools and provide a useful tool to the community.

I did not use BitKeeper at all in writing this tool and thus was never subject to the BitKeeper license. I developed the tool in a completely ethical and legal manner.

Ο Linus Torvalds πήρε το μέρος του McVoy σ’ αυτή τη διένεξη:

Larry is perfectly fine with somebody writing a free replacement. He’s told me so, and I believe him, because I actually do believe that he has a strong moral back-bone.

What Larry is _not_ fine with, is somebody writing a free replacement by just reverse-engineering what _he_ did.

Η παραπάνω δήλωση προκάλεσε αντιδράσεις, καθώς πολλοί σχολίασαν ότι η φιλική σχέση του Linus με τον McVoy δεν τον αφήνει να δει τα πράγματα ξεκάθαρα. Συγκεκριμένα, η προσκείμενη στο κίνημα σατιρική εφημερίδα “The Register”, για να τονίσει την παράξενη στάση του Linus, δημοσίευσε άρθρο στο οποίο φέρονταν να υπεραμύνεται του δικαιώματος της Microsoft να κρατήσει κλειστά τα file formats της από τους developers του OpenOffice! Ο συντάκτης του άρθρου υπογράμμιζε παρακάτω ότι έκανε πλάκα, αυτό όμως δεν σταμάτησε το Slashdot από το να γράψει είδηση με τίτλο “Linus Defends Proprietary File Formats”. Φαίνεται πως η Πρωταπριλιά στο δημοφιλές ειδησεογραφικό site συνεχίζεται…

Θα ήταν εύκολο να κατηγορήσει κανείς τον McVoy ή τον Tridgell σαν τον κακό σ’ αυτή την κρίση, αλλά και οι δυό τους υπήρξαν σημαντικοί στην ιστορία του ΕΛ/ΛΑΚ. Ο Tridgell, με τη δουλειά του στη Samba έδωσε στον κόσμο της πληροφορικής ένα απαραίτητο εργαλείο δικτυακής συνέργειας, που επέτρεψε στην εταιρική χρήση του Linux να εξαπλωθεί, και πρόσφερε έμμεσα έναυσμα στην κοινότητα ΕΛ/ΛΑΚ και την Ευρωπαϊκή Ένωση για την νομική προάσπιση της συνέργειας και την καταπολέμηση των μονοπωλείων.

Ο McVoy, πάλι, αντιλήφθηκε νωρίς την ανερχόμενη σημασία του Linux για την αγορά, όπως φαίνεται και απ’ το ιστορικό μέμο του προς τον McNealy το 1993 (το οποίο αγνοήθηκε). Ήταν επίσης αυτός που πρότεινε την τεχνική λύση στη μεγαλύτερη κρίση (“Linus doesn’t scale”) που είχε πλήξει το Linux, μέχρι πρότινος. Το Business Week περιγράφει την συνάντηση κορυφής που ακολούθησε:

The crisis came to a head during a tense meeting at McVoy’s house, on San Francisco’s Twin Peaks. A handful of Linux’ top contributors took turns urging Torvalds to change. After an awkward dinner of quiche and croissants, they sat on the living room floor and hashed things out. Four hours later, Torvalds relented. He agreed to delegate more and use a software program for automating the handling of code.

Η απόφαση του Linus να μεταφέρει την ανάπτυξη του πυρήνα στο Bitkeeper βρήκε αντίσταση από τον Alan Cox και άλλους kernel developers. Η τεχνική λύση που δόθηκε απέτρεψε το σχίσμα, ακόμα όμως και όταν αποδείχτηκε ότι η παραγωγικότητα του Linus και άλλων kernel developers αυξήθηκε κατακόρυφα με τη χρήση του Bitkeeper, οι επικριτικές φωνές συνεχίστηκαν. Πολλοί παράγοντες του ΕΛ/ΛΑΚ, όπως o Bruce Perens και ο Richard Stallman, επίσης συμβούλεψαν τον Linus να αποφύγει τη χρήση του BitKeeper

Ο Linus παραδέχεται ότι ήταν θέμα χρόνου η απομάκρυνση της κοινότητας από το BitKeeper:

I think everybody saw the split as inevitable _eventually_. I don’t think anybody believes that the open-source SCMs wouldn’t grow up, and when they would, there would have been obvious reasons to switch over eventually.

But I think it could have been a lot less painful if it happened a year or two down the road, and that’s my only real regret. That said, we did get three very productive years out of it, and we not only learnt how SCMs can work, we also taught a lot of people what to expect of a _good_ SCM

Όσο για το τι θα γίνει από δω και πέρα; Ο Linus ψάχνει εναλλακτικές και παραμένει αισιόδοξος:

I’m playing around with my own scripts and tools right now, and talking to various open-source source code management (SCM) people. In fact, I’m trying to get as many people as are interested in the problem to just explore the options.[..]So we’ll definitely have a slowdown in the short run, but it’s not likely to be a huge deal.[..]Ironically, many users and distributions are likely to actually not mind slightly slower development for a while.

Η κοινότητα του ΕΛ/ΛΑΚ έχει ξεσηκωθεί για να βρει εναλλακτικές λύσεις, ώστε να αποφευχθεί η χρήση ενός άλλου ιδιόκτητου SCM, αλλά αυτή τη στιγμή ίσως και να μην υπάρχουν. Οι developers του subversion, ενός δημοφιλούς και ισχυρού εργαλείου που έχει αποσπάσει τα τελευταία χρόνια πολλά έργα ΕΛ/ΛΑΚ από το CVS, μάλιστα, παρακάλεσαν τους ανθρώπους της κοινότητας να σταματήσουν να ζαλίζουν τον Linus για το subversion:

Subversion was primarily designed as a replacement for CVS. It is a centralized version control system. It does not support distributed repositories, nor foreign branching, nor tracking of dependencies between changesets. Given the way Linus and the kernel team work, using patch swapping and decentralized development, Subversion would simply not be much help.[..]Someday, Subversion may have the features Linus needs, but they’re just vaporware until then, and they haven’t been our immediate priorities.

Η ιστορία έχει δικαιώσει το μοντέλο επίλυσης διαφωνιών του ΕΛ/ΛΑΚ. Οι κρίσεις μέσα στο ΕΛ/ΛΑΚ αντιμετωπίζονται δημόσια, συχνά σε τεταμένη ατμόσφαιρα’ συνήθως έχουν να κάνουν τόσο με τεχνικά όσο και με νομικά ζητήματα, με συνέπεια κάθε πρόβλημα να φαίνεται δραματικό. Όλα σχεδόν τα έργα ΕΛ/ΛΑΚ έχουν τους “φιλάγαθους δικτάτορές τους”, αλλά οι λύσεις δίνονται με συλλογική προσπάθεια και συναινετικά, στο μεγαλύτερο βαθμό. Η επιλογή του Bitkeeper αποτέλεσε την εξαίρεση σ’ αυτό, αλλά παρ’ ότι η κατάληξη φαίνεται να δικαιώνει τους επικριτές του Linus, τη δεδομένη χρονική στιγμή, ήταν η πιό πρακτική λύση. Όσο για τον ίδιο τον Linus, έχει αποδείξει επανηλλειμένα την ηθική ακεραιότητα, την διορατικότητα και την ηγετική του ικανότητα, στο παρελθόν. Κάποια λύση θα βρει και γι’ αυτό το πρόβλημα.

Ανανέωση (21/4): Σχετικό poll στο Slashdot.

Μοιραστείτε το:
  • email
  • del.icio.us
  • Google Bookmarks
  • Digg
  • Reddit
  • Technorati

Άλλα άρθρα σχετικά με το θέμα

Written by Oneiros

14-04-05 στις 07:07:39

Posted in OpenSource,el_GR

Tagged with

This work by Non - Linear Complexity blog is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported.