Renuncia de responsabilidad:
La versión original de este artículo fue publicada por IBM
developerWorks y es propiedad de Westtech Information Services. Este
documento es una versión actualizada del artículo original y contiene
mejoras introducidas por el Equipo de Documentación de Gentoo.
Este documento carece de soporte activo.
|
Creando la distribución, Parte 3
1.
El autor se aparta de Linux y entonces vuelve
Al final de mi anterior
artículo, describí cómo el desarrollo de Gentoo Linux fue
efectivamente detenido por un extraño error que bloqueaba el sistema
cuando este estaba ocioso, el cual comencé a experimentar tan pronto
como actualicé a una nueva placa base dual-Celeron (una Abit BP6). Ya
que no fui capaz de corregir el problema, y por aquél tiempo no tenía
los suficientes ingresos para reemplazar mi placa base, decidí parar
el desarrollo de Gentoo Linux y cambiar a FreeBSD. Necesitaba un
sistema funcionando, y como Linux se bloqueaba bastante, sería un
momento excelente para familiarizarme con un sistema operativo BSD. Por
lo que instalé FreeBSD, comencé a aprender y no toqué Linux en
absoluto durante varios meses.
Impresiones sobre FreeBSD
De todas formas, a mí realmente me gustaba FreeBSD. Sentía que este
sistema operativo estaba bien armado y que prácticamente cada parte
del sistema tenía un consistente grado de refinamiento que casi nunca
se encontraba en el mundo Linux. Disfruté del hecho que FreeBSD
contenía un complemento extenso de páginas man, al contrario que Linux,
donde muchos programas solo tienen la documentación info de GNU, que a
mi personalmente no me gusta usar.
Sobre todo, estaba impresionado con el sistema de ports de FreeBSD, la
tecnología usada para mantener y actualizar el sistema. Al contrario
que el enfoque de Linux, los ports no usan paquetes binarios, en lugar
de eso lo compilan todo localmente desde las fuentes originales. Da
igual si está instalando Samba o actualizando el núcleo del sistema,
todo es compilado en su máquina local. Este enfoque me gustaba y era
muy similar al que había estado creando en Gentoo Linux. De esta y
muchas formas, el diseño de FreeBSD se ajustaba con mis sensibilidades
como desarrollador y administrador de sistemas. Por esta razón,
FreeBSD me dio un cómodo entorno de trabajo durante muchos meses, y
estaba encantado de tomarme el tiempo para familiarizarme con este
excelente sistema operativo.
Pros de FreeBSD
Muchas de las diferencias entre Linux y FreeBSD proceden de sus
diferentes estructuras de desarrollo. El desarrollo de Linux está muy
descentralizado, y confiamos en las distribuciones para juntar y
unificar los varios trozos de Linux dispersados por Internet. A
diferencia de éste y los otros BSDs (OpenBSD y NetBSD), donde existe
un equipo de desarrollo unificado conectándose a un único conjunto de
fuentes. Bien, por lo menos cada BSD tiene su propio conjunto de
fuentes unificadas. Esto puede ser algo bueno, y resulta que en
FreeBSD no tenemos un sentimiento de "parcheado todo junto" como lo
hay en muchas distribuciones Linux.
A continuación, podemos comparar la tecnología debajo del capó. En la
mayoría de las ocasiones, un fan de FreeBSD podría asegurar que
FreeBSD está mejor preparado para ser un servidor que Linux. Te
contarán que FreeBSD es mejor bajo grandes cargas, y tiene una pila
TCP/IP mejor. Si comparara Linux 2.2 o anterior con FreeBSD, tendría
que admitirlo, FreeBSD es un gran SO para un servidor, eso es
seguro. Pero, eso era para Linux 2.2 y anteriores. Yo era un gran fan
de los núcleos de prueba de la 2.4 que estaba corriendo. Son
realmente, realmente, buenos y contienen una buena pila TCP/IP y un
sistema "netfilter" completamente rediseñado que realmente fascina. Al
final, creo que Linux será el que fije nuevos estándares de
rendimiento y hará los servidores libres UNIX más competitivos frente
a sus rivales comerciales.
Contras de FreeBSD
En cuanto al escritorio, al contrario que en el mundo del servidor,
realmente no hay comparación -- Linux es donde está la acción. El
último desarrollo en el escritorio aparece en primer lugar en Linux, y
Linux está a la cabeza en el soporte a las tarjetas de aceleración 3D
y de audio. Con el enfoque de Linux 2.4, Linux continuará su dominio
en éste área.
La única cosa que no me gusta de FreeBSD es el uso del sistema de
ficheros UFS. Mientras que UFS es más fiable y robusto que ext2, es
también lento hasta la extenuación. Es posible usar una extensión
especial llamada soft updates (actualizaciones soft), que es capaz de
acelerar el sistema de ficheros añadiendo operaciones E/S en bloques
mayores. Aunque las actualizaciones soft mejoran UFS tremendamente, no
puedo decir que UFS realmente mejore el rendimiento de ext2 en
cualquier aspecto. Desde luego, es más fiable, por lo tanto FreeBSD
bate a Linux en la batalla del sistema de ficheros. De nuevo, al menos
esto es cierto cuando comparamos las viejas distribuciones Linux 2.2
con FreeBSD.
Sin embargo, las cosas cambian cuando comparamos las modernas Linux
2.2 y Linux 2.4 con FreeBSD. ReiserFS (un nuevo sistema de ficheros
transaccionales disponible para Linux) es simplemente
sorprendente. Linux dispondrá también de ext3, JFS de IBM y XFS a
futuro, de los cuales esperamos excelente rendimiento y
fiabilidad. Actualmente, ReiserFS le da a Linux una mayor ventaja
sobre FreeBSD, y es una de las razones por las que creo que Linux 2.4
le da la vuelta a muchos de los viejos argumentos de la superioridad
de FreeBSD sobre Linux.
De vuelta al desarrollo de Gentoo Linux
Después de algunos meses, decidí volver al mundo Linux y tener Gentoo
Linux corriendo en una nueva máquina de desarrollo. Al principio, la
decisión de reiniciar el desarrollo de Gentoo Linux fue más una
decisión de negocio -- había invertido mucho de mi tiempo para conocer
Linux, y sería un desperdicio arrojar todo este conocimiento
adaptándome a BSD. Sin embargo, poco después comencé a actualizar
Gentoo Linux, encontré muchas nuevas razones por las que merecía la
pena volver a Linux, principalmente todas las mejoras en el núcleo y
sistema de ficheros mencionadas arriba. FreeBSD era un lugar
tranquilo, pero un poco aburrido, muy parado. Linux es donde estaba la
acción, donde se estaban realizando los mayores progresos. No hay duda
que si está buscando sensaciones e innovación, Linux es el lugar en
el que se debe estar.
Para mi, la era Linux 2.2 fue una decaída decepcionante respecto de la
era 2.0, sin embargo la era 2.4 prometía merecer la espera. Por lo
tanto, Gentoo Linux renació, y yo estaba entusiasmado.
Hay otra razón clave para el renacimiento de Gentoo Linux -- Achim
Gottinger, mi líder del equipo de desarrollo. Me gustaría dedicarle
algo de espacio de agradecimiento a Achim por ayudarme a reiniciar el
desarrollo de Gentoo. Comencé a recibir correos de Achim poco antes de
mi retorno al mundo Linux. En casi todos los correos, él incluía algún
nuevo guiones .ebuild (autobuild) para Gentoo Linux o alguna
corrección de fallo desesperadamente necesitada. Conforme reiniciaba
el desarrollo de Gentoo Linux, Achim continuó contribuyendo con su
tiempo y recursos para ayudar a a mantener en pie la
distribución. Hasta poco antes, Achim y yo habíamos sido las únicas
personas trabajando en Gentoo Linux, y había sido por propia
elección. Teníamos una visión similar de la distribución, y debido a
las habilidades de Achim, éramos capaces de sacar una cantidad
tremenda de trabajo adelante y nunca sentimos realmente que, añadiendo
un tercer desarrollador, contribuiría significativamente a nuestro
progreso. Actualmente, Achim es el líder de desarrollo de Gentoo
Linux, y continúa haciendo grandes mejoras a Gentoo Linux casi a
diario. Hemos alcanzado el punto en el que estamos preparados para que
otros comiencen a trabajar en nuestro árbol CVS, y hemos comenzado a
expandir el equipo de desarrollo de Gentoo Linux gradual y
cuidadosamente.
La nueva visión
No creo que el tiempo que permanecí en el mundo BSD fuera de ninguna
forma un desperdicio. De hecho, me dio una oportunidad tremenda de
reflexionar acerca de los acontecimientos en toda la comunidad Linux y
de cómo Gentoo Linux podría ayudar a mejorar las cosas.
En la nueva versión de Gentoo Linux. Tomé la decisión de no usar pgcc
nunca más, ni tampoco usar optimizaciones muy elevadas para compilar
todos los binarios. Ya que la estabilidad era de suma importancia,
podríamos usar optimizaciones razonables del tipo ("-O2 -mpentium") y
ofrecer a los usuarios una forma fácil de personalizar estas
optimizaciones a su gusto usando nuestro sistema autobuild.
FreeBSD me dio un a buena idea de cómo un sistema autobuild debía
funcionar. Decidí añadir varias características de FreeBSD para hacer
de nuestro sistema autobuild (ahora llamado portage) un sistema
auténtico de última generación.
Portage es el corazón de Gentoo Linux, y es más que un simple gestor
de paquetes o un sistema de mantenimiento. Consiste en una serie de
herramientas y guiones de construcción. Portage le permite reconstruir
completamente la distribución desde las fuentes originales. Pero, más
importante para mi, Portage da al usuario acceso completo a la
inteligencia de cómo se construyó Gentoo Linux. Para nosotros, esto es
muy importante porque significa que estamos documentando cómo se
construye una distribución mientras, al mismo tiempo, estamos
impulsando el desarrollo de Gentoo Linux. Y, ya que Portage es fácil
de comprender, esperamos que abrirá los entresijos de Linux a mayor
gente aún, para que otros puedan comenzar a contribuir a nuestras
fuentes y guiones.
Portage es nuestra forma de abrir las puertas de la tecnología Linux a
otros. Estudiando los guiones autobuild, puede ver como los distintos
paquetes se juntan en un único todo. Si es necesario, puede coger
nuestro árbol CVS completo y meterle mano, produciendo su propia
distribución o tecnología basada en Linux. Creemos que esto es bueno
-- queremos darle a la gente el conocimiento que necesitan para poner
a Linux en su nueva esfera.
Preocupaciones comerciales
Desde sus comienzos, hubo mucha gente de distintas procedencias
involucradas en el desarrollo de Gentoo Linux. Y no me sorprendió
saber que nuestros desarrolladores tenían opiniones diametralmente
diferentes de cómo debíamos orientar el lado lucrativo de Gentoo
Linux. Básicamente había dos grupos de desarrolladores: un grupo
generalmente se oponía a las intenciones de hacer dinero, mientras que
el otro estaba entusiasmado ayudando a que Gentoo Linux llegara a ser
un producto comercial de éxito. Esta era una división esperada; el
primer grupo entendía la involucración comercial como una influencia
corruptora, mientras que el segundo no veía esas asociaciones
negativas.
En los días de Enoch, solía dudar sobre esta cuestión. Realmente no
sabía darle el enfoque adecuado. Reconocí el hecho que las
distribuciones como Debian estaban realmente comprometidas con la
distribución libre de su software. A mi me gustaba eso. Comparando con
otras distribuciones comerciales, ellos hacían la vida más fácil al
usuario dándole detalladas instrucciones en su sitio Web. Eso era algo
bueno, y algo que quería emular.
Al mismo tiempo, quería realmente que Gentoo Linux fuera un éxito
comercial. Luchaba para encontrar el equilibrio, pero realmente nunca
lo encontré hasta hace poco.
¿Qué hacer?
Entonces, ¿Cómo vamos a planificar el equilibrio entre los intereses
comerciales y no comerciales? La clave es recordar nuestra fundación
-- la fundación Gentoo es software de Código Abierto. Así, la
fundación para todas nuestras aventuras debe enfocar en el Código
Abierto. No es suficiente con aprobar el Código Abierto, o simplemente
usarlo. Debemos también potenciar su desarrollo y distribución, y
nunca usar esa postura para obtener una ganancia comercial. Más aún,
nunca deberemos estructurar nuestro modelo de negocio para que haya
una tentación de restringir la libre distribución de nuestras
fuentes. Nuestro equipo de desarrollo necesita ser abierto y accesible
al público, y la libre distribución de Gentoo Linux no solo debe ser
permitida, sino fomentada. Necesitamos ser abogados de Código Abierto,
no solo de palabra sino también de acción.
Si una compañía quiere usar Gentoo Linux para una tecnología basada en
Linux, simplemente debe bajarse los contenidos de nuestro árbol CVS y
comenzar a usarla, ya que todo nuestro trabajo está distribuido bajo
GPL. No queremos limitar el uso de nuestro trabajo de ninguna forma,
excepto para asegurarnos que en todos los productos derivados se
cumple con la Licencia Pública GNU.
Nos gustaría que la mayor cantidad posible de gente se beneficiara de
nuestro trabajo, pero también nos gustaría beneficiarnos todo lo
posible de nuestras mejoras a Gentoo Linux. Si forma parte de una
compañía que usa Gentoo Linux como base para su producto, esperamos
que nos mande algunas mejoras libremente distribuibles para que las
podamos añadir. Queremos abrigar la colaboración entre las entidades
comerciales y no comerciales. De esta forma, tanto el administrador de
sistemas usando Gentoo Linux en su ISP como la corporación
construyendo un nuevo producto comercial de servidor se puedan
beneficiar de las mejoras y correcciones a Gentoo Linux del otro. Es
el momento de promover el libre intercambio de código entre todo el
mundo. Solo el Código Abierto lo hace posible.
¿Qué nos depara el futuro?
Ahora mismo estamos a punto de lanzar Gentoo 1.0 (debería estar
disponible para cuando lea este artículo en developerWorks).
Pero, ¿Qué nos depara el futuro?
Mientras movemos hacia la 2.0, espero continuar mejorando Portage, la
tecnología en el corazón de Gentoo Linux. Cualquier mejora importante
a Gentoo Linux generalmente comienza con una mejora en Portage. Me
gustaría continuar el proceso de convertir la mayoría del código de
bash a python, que siempre nos permite añadir nuevas características
como el diseño orientado a objetos a nuestro sistema autobuild.
Aparte de los cambios en Portage, espero continuar aumentando lenta y
cuidadosamente nuestro equipo de desarrollo, encontrando
desarrolladores habilidosos que compartan nuestra misma
visión. Conforme crece nuestro equipo de desarrollo, seremos capaces
de expandir de forma amplia el número de guiones autobuild disponibles
para Gentoo Linux. Pero, más importante que esto, un equipo de
desarrollo ligeramente superior nos dará los recursos que necesitamos
para mantener a Gentoo Linux en el filo de navaja de la tecnología
Linux. Ahí es donde está la diversión :)
Esperamos que las compañías comerciales con tecnología Linux, elijan
Gentoo Linux como la base para sus productos. Actualmente mantenemos
una relación de este tipo, y esperamos tener muchas más en el
futuro. Estos tipos de colaboraciones prometen dar ratos de diversión
y ser un gran beneficio a todos los usuarios de Gentoo Linux.
Al final, nuestra primera meta es contribuir en algo con sentido a la
comunidad Linux. Aunque hay muchas distribuciones Linux entre la que
elegir, sabemos que Gentoo Linux ofrece algo que realmente no está
disponible en ningún otro lugar. Estamos entusiasmados con el futuro
del desarrollo de Gentoo Linux y esperamos que el lector también lo esté.
Recursos
Acerca del autor
Daniel Robbins vive en Albuquerque, Nuevo Méjico. Fue Presidente/CEO
de Gentoo Technologies Inc., el Arquitecto Jefe del proyecto Gentoo y
es un autor que contribuye en varios libros publicados por MacMillan:
Caldera OpenLinux Unleashed, SuSE Linux Unleashed, y Samba
Unleashed. Daniel ha estado envuelto de alguna u otra forma en el
mundo de las computadoras desde el segundo grado cuando entró en
contacto con el lenguaje de programación Logo y una dosis
potencialmente letal de Pac Man. Esto probablemente explica porqué
desde entonces sirvió como Artista Gráfico en SONY/Electronic
Publishing/Psygnosis. Daniel disfruta de su tiempo con su mujer Mary y
su nueva hija Hadassah. Puedes contactar con Daniel en drobbins@gentoo.org.
|