SCM: Linus Torvalds (Linux),
Larry McVoy (BitKeeper) and Andrew Tridgell (Samba, rsync, etc.)
Guillermo O. Burastero
linux.gb en gmail.com
Dom Abr 17 18:49:14 CLT 2005
Hace unos 3 años como SCM (Source Code Management Tool) Linus
Torvalds (LT) adoptó el programa no libre BitKeeper (BK) de Larry McVoy
para la gestión de desarrollo del kernel Linux.
Su decisión, contraria a la opinión de muchos e importantes
referentes de la comunidad del software libre como Richard M. Stallman,
Bruce Perens, etc., se basó ante todo en criterios pragmáticos: era,
según L.T., el mejor programa en su tipo y las alternativas FOSS que en
ese entonces había ni siquiera podían hacerle sombra (CVS, etc.).
Pues bien, parece que el problema explotó recientemente y las
ominosas advertencias de quienes se opusieron a la elección de BK se
hicieron realidad.
La arquitectura de BK está basada en repositorios centrales
(servidores) donde se registran todas las modificaciones (datos) del
árbol de desarrollo del kernel como así también metadatos como ser
diferencias incrementales, control de autoría de parches y
colaboraciones, capacidad de recupero de versiones intermedias, etc.
Pero solo la versión comercial de BK, (L.T. tenía una por cortesía de
McVoy) podía acceder a esta información. El resto de los desarrolladores
del kernel Linux que no habían comprado la versión comercial de BK,
usaban una versión "gratis" mucho más restringida en la cual solo podían
enviar parches y bajar el árbol con la última versión del kernel.
Como información adicional, la licencia de cualquiera de las
versiones de BK, impedía a cualquier usuario participar en el desarrollo
de un software competitivo del mismo (otro SCM) hasta un año después de
haber dejado de usar BK. Un poco excesiva no ? Creo que ni M$S tiene una
cláusula así en sus licencias.
Ante esta limitación Andrew Tridgell, autor de SAMBA, que está
trabajando (por ahora) en OSDL (donde trabja L.T. et al en el desarrollo
del kernel Linux) como parte de su año sabático como empleado de IBM,
empezó a desentrañar el protocolo de BK estudiando sus comunicaciones de
red, de un modo análogo a como hizo para revelar el protocolo SMB de MS
y hacer SAMBA. Esto lo hizo sin acceder al programa BK y menos a su
código (por lo tanto no está alcanzado por su restringida licencia al
no ser usuario del mismo), por lo que dudo que su acción pueda llamarse
ingeniería reversa cuando solo en mi opinión es recrear funcionalidad a
fin de escribir un programa cliente de BK libre (FOSS) para que todos
los desarrolladore pudieran usar los repositorios de BK en forma
completa, sin las limitaciones de la versión "gratis" de BK que usaban.
En útlima instancia es poder acceder libremente a información por ellos
creada.
Al enterarse Larry McVoy del trabajo de Tridgell, decidió suspender
la versión "gratis" para los desarrolladores del kernel, ocasionando un
verdadero contratiempo al desarrollo del mismo e impulsando que OSDL
despida injustamente (IMHO) a Andrew Tridgell.
Linus, a mi entender en forma muy injusta, se alineó con su amigo
McVoy y cargó toda la responsabilidad de este problema sobre Tridgell,
pero yo me pregunto: ¿Por qué está bien que se halla desarrollado SAMBA
así, estudiando el protocolo SMB de MS -un programa "propietario" o no
libre- y no está bien que se haga lo mismo con otro programa propietario
(BK) ? También muchoS drivers propietarios de "analizan" o se hace
ingeniería reversa de los mismo y a ninguno (que yo sepa) se le ocurre
que eso está mal.
Algunos sostienen que la actitud de McVoy es justa, ya que él no
está en el negocio de ayudar a crear programas competitivos con el suyo
y que fue "generoso" al permitir todo este tiempo que los
desarrolladores del kernel usaran su versión limitada "gratuita" de BK.
Pero también es cierto que su programa adquirió fama, reputación y un
rico "feedback" para mejorarlo precisamente por su adopción por los
desarrolladore de Linux que en su mayoría, siguiendo a L.T., lo usaron.
También los distribuidores de droga dan al principio droga "gratis" con
tal de tener luego un cliente adicto drogradependiente de por vida y no
por eso decimos que son "generosos".
Bueno, espero que pronto los desarrolladores del kernel Linux
encuentren un SCM FOSS adecuado y que si el mismo no está a la altura de
BK por el momento, la comunidad FOSS pueda llevarlo al nivel que se
requiere, de modo de no volver a tener un problema similar, con los
contratiempos que trae aparejado al proceso de desarrollo del kernel. Y
como dice un viejo dicho (El que se quemó con leche ve una vaca y llora)
saquemos la moraleja que de esta situación emerge: No usar para nada
importante software "No libre" o no FOSS.
--
Guillermo O. Burastero - Linux Counter user 84879
(http://counter.li.org)
Córdoba 171 - B8000IFC - Bahía Blanca - Prov. de Buenos Aires - Rep.
Argentina
Tel +54 (291) 454-6132 - ICQ 97148268 - email: linux.gb en gmail.com
Más información sobre la lista de distribución Linux