Entrevista con Theo de Raadt

Hola!,

Para esta ocasión les traigo la traducción libre de un artículo de Undeadly en el que se publica una entrevista a Theo, espero lo disfruten:

----

El principal diario esloveno Delo ha publicado su entrevista con Theo, la cual hicieron durante s2k11. Para aquellos lectores de Undeadly que no entienden de Esloveno, nos hemos acercado a Delo para pedir permiso para traducir y publicar su artículo. A pesar de que la entrevista estaba dirigida a público en general, ofrece una valiosa visión sobre algunos aspectos menos técnicos de OpenBSD.

   "Nadie puede ignorar más el código abierto, ni siquiera las Grandes Corporaciones".

   Una entrevista con Theo de Raadt, fundador del proyecto OpenBSD

   Por Matjaž Ropret


 

   (Foto: Mavric Pivk / Delo)

   Ljubljana - El pasillo de una de las residencias estudiantiles de Ljubljana, estaba todavía medio vacío, las mesas estaban cubiertas de computadoras portátiles Thinkpad sin usar, y no había mucho ambiente de trabajo. El problema era, obviamente, que habíamos perturbado a los participantes de la hackaton OpenBSD en Ljubljana (algo así como una maratón de programación) en la mitad de la mañana.

   Nuestro interlocutor, el ciudadano canadiense Theo de Raadt, el líder del proyecto OpenBSD desde hace más de 15 años, también estaba ausente. Obviamente la sesión de la noche anterior estuvo muy ocupada y creativa. El sistema operativo (SO) OpenBSD es uno de los dos sucesores del código fuente desarrollado en los laboratorios del gigante de las telecomunicaciones de EE.UU. y monopolista Bell (AT & T). El código fuente se filtró lentamente a la opinión pública y partes de este terminó en varias universidades. La más activa fue Berkeley, donde los profesores y los estudiantes pronto agregaron la capa de red completa para el sistema operativo, los predecesores de los protocolos TCP / IP actuales. Después de muchos años de batallas legales en varios tribunales de EE.UU., el código se convirtió en código abierto. Esto se convirtió, entre otros, en las bases para los sistemas operativos Mac OS y Solaris. Dentro de la familia BSD también existe el sistema operativo FreeBSD, que se desarrolla principalmente en los EE.UU. y se concentra más en la infraestructura de servidores. El objetivo principal de OpenBSD es la creación de un sistema operativo sin agujeros de seguridad.

   ¿La existencia de muchos sistemas BSD tienen un propósito?

   Probablemente hay un poco de "demasiados cocineros arruinan el caldo" en esto. El problema es que es difícil formar un equipo eficaz con un gran número de miembros. Varios intereses siempre surgen y quieren conducir el proyecto en su dirección específica. Pero ya que el código fuente está disponible libremente, siempre podemos sacar provecho de algunas de sus soluciones - y ellos de las nuestras.

   ¿Los dos sistemas operativos tienen cuotas de mercado similares?

   La de ellos (FreeBSD) es mucho mayor y nuestros usuarios son mucho más discretos. Nadie cuenta el número de servidores de seguridad en una empresa o el número de controladores de elevador que se están ejecutando. Yo sé de un caso en el que tienen 20 mil computadoras con OpenBSD, pero nadie es consciente de ello porque es parte de una infraestructura mucho más grande.

   ¿Qué tan grande es tu equipo de desarrollo?

   Contamos con aproximadamente un centenar de desarrolladores, siempre hay algunos dejando y algunos nuevos que se nos unen. Lanzamos dos versiones cada año y nos hemos dado cuenta de que la versión del final del verano no es tan buena como la del final del invierno. Debido a las vacaciones de verano, la gente simplemente trabaja menos y el equipo no está tan bien conectado.

   ¿Liberan ustedes una nueva versión, incluso si no han logrado terminar todas las mejoras y correcciones previstas?

   Sí, nuestro objetivo no son las características, sino un ciclo regular de liberaciones. Muy a menudo el código fuente de algunos cambios ya está escrito, pero no ha sido examinado lo suficiente, por lo que tendrá que esperar para la próxima versión. Tenemos un grupo bastante grande de probadores que están ejecutando el último código  aún no publicado oficialmente y que lo usan todos los días para las aplicaciones regulares. Esto nos permite detectar y solucionar la mayoría de los errores a tiempo para el siguiente lanzamiento oficial del sistema operativo. Hasta donde yo sé, no muchos proyectos comparten esta filosofía. Muchos todavía tienen la vieja mentalidad: "Cuando lo logremos, lo liberaremos". No creemos en esto.

   Pero ahora también se ve una nueva tendencia, sobre todo con los navegadores. Nuevas versiones están siendo liberadas casi todos los meses. Todo el asunto bordea en la obsesión.

   Eso es cierto. Y todo el mundo está tratando de involucrar al usuario final en la caza de errores para ganar tiempo. El ciclo de desarrollo debe ser acortado. Lo mismo ocurre con los teléfonos móviles y los coches también. Están trabajando muy duro para traer nuevos productos al mercado cada vez más rápido. En realidad no importa ya si el producto es bueno. Lo único importante es que se trata de una nueva versión, ligeramente mejor que el anterior y que está disponible casi inmediatamente después de la última. Los que no están poniendo nuevos productos todo el tiempo, creando así la impresión de que están trabajando duro para mejorar sus productos no captarán la atención del público. Los consumidores se olvidan de estas compañías muy rápido.

   ¿Cuál es el foco principal para los nuevos lanzamientos? ¿Corregir errores y mejorar el rendimiento o siempre ofrecen nuevas características?

   Cada nueva versión contiene nuevas características, especialmente en relación con los protocolos de red como el filtrado de paquetes y túneles. Tenemos también una gran cantidad de implementaciones propias de tecnología de red. Podemos, por ejemplo, sustituir/emular por completo la funcionalidad de los dispositivos de Cisco y mantener la plena operatividad del sistema operativo mientras lo hace. Tenemos una gran cantidad de funciones que están incorporadas en el sistema operativo en sí como el cifrado. Funciones y características que ningún otro sistema operativo tiene.

   ¿Los usuarios tienen que familiarizarse con todas las nuevas características con el fin de poder utilizar la última versión?

   Estamos tratando de mantener el sistema lo más simple posible. Por supuesto, usted tiene que leer las páginas man. Somos seguidores estrictos de la herencia que dice que las páginas man son tan importantes como el propio código. Tenemos mucho cuidado en la descripción de cada detalle en ellas y en realidad tenemos personas que comprueban la gramática y la mantienen consistente. Un buen ejemplo de ello es el hecho de que todas las páginas man están escritas en tercera persona.

   Sin embargo, ¿el sistema operativo es sólo en Inglés?

   Sí. Algunos otros desarrolladores han tratado de añadir otros idiomas. Pero esto es difícil de lograr adecuadamente fuera de grandes empresas de software. Normalmente, los mensajes (textos) están escritos en el propio código. Si usted quiere que sea multilingüe es necesario agregar tablas de idiomas y la referencia a ellas desde el software. Eso cambia completamente la forma en se programan las cosas. Los productos de Microsoft han llegado tan lejos que algunos cambios lingüísticos no significan cambiar sólo el texto sino también la interfaz gráfica. A veces también hay que cambiar las preguntas para tener en cuenta las diferencias culturales que resulta en un código que se supone que debe funcionar en dos o tres caminos diferentes y eso es una locura desde el punto de vista de programación.

   ¿Cómo se financia OpenBSD?

   Principalmente por la venta de los CDs y camisetas. El resto son donaciones. Eso es suficiente para la organización de la hackatons, funcionamiento de los servidores (tres racks de computadores en mi sótano), electricidad y acceso a Internet.

   ¿Trabaja usted en alguna parte?

   No. Mi trabajo consiste en lanzar una nueva versión de OpenBSD cada 6 meses. Algunos de los ingresos pagan por mi trabajo, no es exactamente una gran cantidad, pero es suficiente, ya que no necesito mucho. El sistema funciona, pero nadie se está haciendo rico por esto.

   ¿Cuál es el presupuesto anual del proyecto?

   130.000,00 dólares de EE.UU.

   ¿Sólamente?

   Sí, e incluye los costos de todos los hackatons aunque los desarrolladores pagan sus propios gastos de viaje. Algunos de los más grandes hackatons están abiertas a todo el mundo y estamos tratando de atraer a nuevos desarrolladores a través de ellos, sobre todo aquellos de ellos que ya están participando en las listas de correo. También tenemos mini-hackatons con mucho menos participantes y que son dedicados principalmente a las funciones de red. En este en Ljubljana estamos intentando algo nuevo, que está pensado principalmente para nuestros desarrolladores europeos para quienes el viaje a Canadá se está volviendo cada vez más caro.

   ¿Cómo publicitan su sistema operativo?

   No lo hacemos (risas). No tenemos absolutamente ninguna comercialización.

   ¿Ha habido casos en que se la nueva versión no era tan bueno como usted esperaba?

   No hemos tenido mayores problemas. Hace ocho años tuvímos una versión muy mala, cuando el núcleo del sistema operativo en sí era inestable. Hicimos todas las pruebas estándar, pero aún así no se funcionaba como estaba previsto. Probablemente incluímos demasiadas características nuevas. También había un error en el sistema de archivos de nuestro último lanzamiento, fue uno que se manifestó en muy raras ocasiones - sólo se encontró en tres o cuatro casos - pero que todavía teníamos que llegar a una solución rápida y eso no es bueno.

   ¿Por qué incluso cambiar el sistema de archivos?

   Queríamos hacer un mejor uso de almacenamiento en búfer. Las computadoras de hoy tienen inmensa cantidad de memoria no utilizada. Este nuevo software casi funciona, todavía tenemos algunos errores menores de solucionar, pero hasta ahora los resultados son increíbles. En equipos con 16 GB de memoria RAM se pueden dedicar hasta 13 GB al almacenamiento en búfer y casi no se leen datos desde el disco duro, todo está en la memoria RAM. Se ejecuta incluso más rápido que en los SSD. Sólo tenemos que escribir en el disco más y eso es principalmente por razones de fiabilidad. Estimo que estamos a un año de que todo el asunto trabaje sin problemas. Desde este aspecto el ciclo de lanzamiento de 6 meses es un poco limitante.

   ¿Cómo hacer frente al rápido desarrollo del hardware? ¿Qué tan difícil es mantenerse al día y para apoyar a las nuevas tecnologías (procesadores multi-core, etc ...), ya que no es ningún secreto que incluso las más grandes corporaciones como Microsoft están teniendo muchas dificultades?

   OpenBSD funciona en algunos ordenadores locos. Aún se ejecuta en VAX, SPARCS, Mac PowerPC, algunos equipos con procesadores ARM ... Somos muy cuidadosos de que todas las nuevas versiones aún se ejecuten en hardware antiguo, y en máquinas más nuevas que tenemos que averiguar cómo funcionan. A veces, si los cambios no son demasiado extremos, nos adaptamos muy rápido. Cuando los cambios son más substanciales tratamos de conseguir toda la documentación sobre el tema que sea posible y también observamos lo que otras plataformas como Linux están haciendo. Tuvimos un montón de problemas hace unos años con los adaptadores de red inalámbrica para que se nos negó la documentación oficial, así que tuvimos que hacer ingeniería inversa en el fin de ser capaz de escribir los controladores. Lo hicimos tan bien que tenemos un mejor soporte para las redes inalámbricas en OpenBSD que el que tiene Linux. También logramos forzar a unos pocos fabricantes a publicar la documentación, hablando públicamente sobre ellos y en términos no muy halagadores.

   Así que no estás completamente satisfecho con la cooperación entre los fabricantes de hardware y de la comunidad de código abierto?

   Bueno, la buena noticia es que muchas grandes empresas son ahora más abiertas al respecto y ahora están haciendo mucha más documentación disponible para nosotros. Sin embargo no estoy contento con el hecho de que algunos de los principales jugadores de la plataforma linux estan acordando ahora un número cada vez mayor de acuerdos de no divulgación. Especialmente Red Hat tiene muy poco dilema en hacerlo y esto les da la información antes que a todos los demás. Hay una feroz batalla que se libra contra este tipo de prácticas en la comunidad de código abierto y  los documentos técnicos todavía se hacen públicos a pesar de los acuerdos.

   ¿Cuál es en su opinión, la razón principal por el que código abierto no ha logrado captar la mayor cuota de mercado entre los usuarios finales?

   Tardamos mucho en la interfaz gráfica. La brecha se está cerrando ahora, especialmente con el lanzamiento rápido de nuevos navegadores.

   ¿Personalmente sólo uso de equipos con OpenBSD o usas alguna otra cosa así?

   Sí, yo sólo uso OpenBSD. Puedo hacer todo lo que necesito con él. Y cuando no estoy programando prefiero ir de excursión y no pensar en los ordenadores en absoluto.

   Traducido al inglés por Janez Zigon.

Tenga en cuenta que esta historia ha sido traducido como está. Hay algunos errores de hecho en el artículo como resultado de la traducción del Inglés al esloveno y de regreso. Estos se han copiado del artículo original en Delo para permanecer fiel a la historia original tanto como sea posible. La introducción del autor original incluye una historia muy simplificada y posiblemente imprecisa de UNIX y BSD que no formaba parte de la entrevista.

Traducción al español por Astrid Sánchez