Entradas en la categoría “Kernel”

Artistas del mail

12 de diciembre, 2009 - por | | Curiosidades, Kernel

Si has tenido la curiosidad de trastear alguna vez con el kernel de linux, habrás visto que hay todo un directorio dedicado a documentación, tanto general como particular, ésta última organizada a su vez en directorios que se corresponden con las partes del sistema.

Bueno, el caso es que dentro de la documentación general hay varias joyitas literarias, entre las que suelen destacar las firmadas por Linus Torvalds, el alma mater del proyecto. Una de esas joyitas es el fichero “email-clients.txt”, que describe algunos de los requisitos que debe tener el cliente de email con el que trabaje el desarrollador. ¿Por qué? Pues porque los patches para el kernel de linux se envían a través de emails, y a poder ser, como texto dentro del cuerpo del mensaje. Ésto no es siempre así; el “mantainer” del código puede que acepte adjuntos, pero incluso en ese caso, hay toda una serie de reglas que deberías respetar cuando compongas el adjunto.

Es un nivel de detalle, y para algo que ya nos es tan familiar, que estas cosas son las que me conquistan siempre dentro del espíritu de linux: no hay ninguna barrera humana -cualquiera puede hacerte llegar el patch-, pero se establecen ciertas convenciones -que éstas sí se siguen rigurosamente- para que el trabajo resulte productivo y esa no-barrera pueda llegar a ser una realidad. Por ahí le vas viendo el sentido a toda la arquitectura liviana del entorno: “todo se trata como un fichero”, “pequeñas utilidades que se interconectan”, “cuanto más complejo, más probabilidad de errores”, etc.

Para que veais lo seria que se pone la cosa con la composición de emails, transcribo algunas de las convenciones:

Don’t let your email client do automatic word wrapping for you. This can also corrupt your patch.

Email clients should generate and maintain References: or In-Reply-To:
headers so that mail threading is not broken.

It’s a good idea to send a patch to yourself, save the received message,
and successfully apply it with ‘patch’ before sending patches to Linux
mailing lists.

Lotus Notes (GUI) Run away from it.

Si te parece interesante, échale a un vistazo a otros ficheros tan instructivos como éste en el repositorio del proyecto.

Entrevista a Linus Torvalds – Parte I (quinta entrega)

11 de marzo, 2009 - por | | Kernel, Linux

Seguimos con la entrevista a Linus Torvalds. Si no has leído la cuarta entrega, ¿a qué esperas?.

Jim Zemlin: Una de las cosas de las que hablaste fue el incremento en la complejidad en la forma en que la interfaz interactúa con el núcleo y cómo los controladores del dispositivo son parte de ésta.

Yo me he preguntado muchas veces, algo que probablemente no te sorprenderá, ¿por qué no el núcleo tiene un controlador de dispositivo ABI estable?

Linus Torvalds: Bueno, la falta de una ABI tiene dos vertientes: una es que realmente, realmente, realmente no quiero una. Cada vez que la gente me pregunta por una ABI estable, creo que la razón principal para querer una ABI estable es que quieren tener su controladores binarios y que no quieren dar a conocer la fuente – no quieren fusionar su fuente con el Kernel o el núcleo estándar.

Esto, a su vez, significa que todas las personas que realmente trabajan en el Kernel no pueden, al mismo tiempo, trabajar con esa pieza de hardware y con los proveedores, ya que si hubiera cualquier error no podría arreglarlos.

Por lo tanto, todos los proveedores comerciales, incluso los que utilizan los controladores binarios, se están trasladando o alejando de los controladores binarios, ya que son completamente insostenibles.

Así que esta es una de las razones. Algunas personas creen que se trata de algo político. Y, probablemente, exista un aspecto político en esta decisión. Sin embargo, hay un aspecto mucho más pragmático y es que no se puede mantener.

Jim Zemlin: Esto suena como otro de esas cuestiones culturales por la que la gente parece apoyar los controladores binarios si hay beneficio sin entender, quizá, el beneficio de contribuir al soporte.

Linus Torvalds: Bueno, no se trata tanto del beneficio de la contribución al soporte como a la distribución del mismo. Quiero decir, puede que no termine teniendo el soporte de la mayoría de los dispositivos, pero acaba siendo el tipo de apoyo que necesito cuando tengo un gran problema.

Y cuando tienes ese tipo de sistema de apoyo distribuído – donde todo el mundo termina estando involucrado en algún momento -, no puedes darte el lujo de tener la situación en la que sólo unos pocos, de hecho, tienen acceso al código que puede estar causando el problema. Necesitas tener el código por ahí, no debido a cuestiones sociales, sino, simplemente, porque no sabes quién va a ser el que tiene que arreglarlo.

Así que hay una verdadera razón por la que necesitamos poder acceder al código fuente, lo que significa que para todos los desarrolladores del kernel, un interfaz binario es, básicamente, una mala cosa. No hay duda alguna.

Pero hay otra razón que es la que hace, realmente, que se desencadenen las cosas, de manera irremediable, en el interior del Kernel y que ha dado lugar al hecho de que, incluso aunque quisiéramos disponer de un interfaz binario, no podríamos. Y es que nos implicaría cambiar el cómo hacemos las cosas internamente.

Y esto es algo que ves en otros proyectos en los que, sí, tienen interfaces binarias por una u otra razón – muy a menudo debido a razones comerciales -. Esto significa que no pueden fijar un diseño fundamental. Ellos no sólo listan los interfaces binarios sino que también listan el diseño exacto tal y como se lo encontraron.

Además hay una segunda razón de peso por la que no se va a desarrollar una ABI estable; de hecho, significa que no garantizamos siquiera una API estable. Así, incluso a nivel de código fuente nosotros decimos: “Okay, este es el API, y si tú tienes drivers externos que la utilizan, te ayudaremos a corregirlos cuando tengamos que cambiar el API, pero no te garantizamos que el mismo API funcionará con todas las versiones”.

Entrevista a Linus Torvalds – Parte I (cuarta entrega)

4 de febrero, 2009 - por | | Kernel, Linux

Seguimos con la entrevista a Linus Torvalds. Si no has leído la tercera entrega, ¿a qué esperas?.

Jim Zemlin: Vamos a hablar un poco más sobre el aspecto técnico del Kernel. Al principio el Kernel de Linux se utilizaba, fundamentalmente, para servidores. Claramente, ahora se utiliza para ordenadores de sobremesa y, cada vez más, para dispositivos móviles y sistemas embebidos. ¿Qué impacto tiene ésto en el Kernel a nivel técnico?

Linus Torvalds: De hecho, se espera más de un impacto. Resulta que los dispositivos móviles han crecido tanto o incluso más que los teléfonos celulares. De media, el teléfono inteligente, probablemente, tenga más potencia que el primer escritorio que se utilizó para ejecutar Linux. Además, no parece que su potencia vaya a parar.

Por lo tanto, creo que sobre todo en lo que respecta al Kernel, la gente se preocupa más de lo necesario. Lo más importante con respecto a los móviles no tiene que ver con el kernel. Quieres dispositivos más pequeños y eficientes. Así que lo que más preocupa al usuario es, en realidad, la interfaz.

Es muy diferente la forma en que te conectas con un teléfono móvil a cómo lo haces desde tu escritorio. Tienes un teclado muy limitado; algunos dispositivos con pantalla táctil; la pantalla suele ser muy pequeña. Así que creo que la cuestión fundamental tiene que ver con las interfaces de usuario.

Por ejemplo, tienes Qtopia que parece tener gran relevancia en el entorno de los móviles. El kernel, sin embargo, nunca ha vivido eso. Puede ser que esté simplificando las cosas y esté aislando algunos temas. Porque es verdad que existen todos esos grupos del kernel móvil con los que no interactúo directamente. Aunque sospecho que toda esa gente se preocupa más del “user space” que del kernel.

Jim Zemlin: Bueno, vamos a hablar de esta segunda parte en la que comentas el hecho de que hay muchos grupos del kernel para móvil. Y sabes que una de las cosas por las que la gente dice que es la razón por la que participan en el proceso de desarrollo de Linux y el código abierto es porque se trata de un trabajo colectivo que reduce costes y que permite, realmente, trabajar juntos de manera efectiva.

Y dado que existen, como ya sabes, este tipo de grupos que se desprenden de la comunidad, ¿qué se puede hacer para mejorar las prácticas cuando pertenecen a compañías de dispositivos móviles?

Linus Torvalds: Creo que el gran problema en el mundo del móvil tiende a ser que todo el mercado está acostumbrado a estar completamente parcelado. Todo el mundo hace algo único, una parte del hardware. Lo que ha hecho que, durante los últimos años, se escriba de nuevo el código y se desarrollen generaciones de móviles completamente nuevas.

Así, se puede invertir mucho tiempo en una generación de hardware que queda pronto obsoleta y se tiende a empezar, básicamente, desde cero para crear una nueva.

Y cuando se trabaja con esa mentalidad, es muy difícil hacer entender el hecho de que se trabaje siguiendo un determinado proceso e intentando integrar los estándares del kernel y de todo el proceso anterior, ya que ellos nunca han trabajado de esta manera.

Así que lo que hacen, realmente, muchos de estos fabricantes de móviles es elegir una versión, por lo general eligen la más reciente y se dicen, “bueno, esta es la base”. Después, durante cinco a seis años se aferran a esta plataforma y la mejoran según sus propias necesidades.

Y luego, cuando quieren hacer una nueva versión o una nueva generación de hardware, se encuentran con que el resto del mundo ha estado trabajando el algo novedoso así que todas sus modificaciones son para una versión que se ha quedado casi obsoleta. Y así, acaban haciendo lo que ya habían hecho antes. Tiran su trabajo por completo y comienzan de nuevo.

Y esto no es algo en lo que no podemos ayudar. Creo que el mercado del móvil, en cierta medida, para crecer necesita modificar este mal comportamiento.

Jim Zemlin: De alguna manera se trata de una cuestión cultural, no desde la perspectiva históricas ni geográfica; más bien desde una perspectiva comercial.

Linus Torvalds: Sí. Es una cuestión que tiene que ver con cierta cultura tanto técnica como comercial.

Entrevista a Linus Torvalds – Parte I (tercera entrega)

16 de enero, 2009 - por | | Kernel, Linux

Seguimos con la entrevista a Linus Torvalds. Si no has leído la primera y la segunda entrega, ¿a qué esperas?.

Jim Zemlin: Vamos a hablar sobre el proceso de desarrollo del kernel. Cómo es ahora y cómo ha cambiado a lo largo del tiempo. Tengo curiosidad en saber qué opinión te merece.

Hace algunos años se trataba de un proyecto divertido utilizado por unas pocas empresas y no estaba tan extendido como lo está hoy.

Ahora os habéis puesto en marcha con los dispositivos móviles, un campo de implementación enorme y especialmente crítico para las empresas interesadas en la industria; sólo esto supone una participación masiva desde un punto de vista comercial.

Si comparas entre ahora y entonces, ¿cómo ha cambiado el proceso de desarrollo? ¿Ha cambiado la gente? ¿Qué diferencias hay entre lo que se está haciendo y lo que se hacía, digamos, hace tres o cuatro años, cuando se encontraban en Transmeta?

Linus Torvalds: Yo creo que el proceso es, en gran parte, el mismo. Se ha producido algún cambio en los procesos y es de carácter puramente técnico en el sentido de que hemos hecho algunos más explícitos y existen herramientas que apoyan nuestra particular forma de hacer las cosas y que no existían de hace cinco a diez años.

Otra cosa que ha cambiado es que las personas involucradas están más implicadas y, quizás, son más conscientes de lo mucho que pueden fastidiar y el cuidado que tienen que tener – estoy pensando en mí en particular. Era, en cierta medida, más fácil hace diez años cuando podías decir, “- Ey, vamos a probar esto y si no funciona, no pasa nada.”

Ya no tenemos esa libertad; no podemos coger un código experimental completamente nuevo y decir: “- Ey, vamos a ver cómo funciona esto”.

Y como resultado, ahora tenemos múltiples capas de código que no van directamente en mi árbol. Si hay algo que es experimental se desarrolla en un árbol externo y, a continuación, se pasa a, por ejemplo, el árbol de Andrew Morton. Puede estar en su árbol un año hasta que se diga, “- Okey, todo funcionó en aquellos árboles. No se han hecho todas las pruebas porque aún no se ha estado en un árbol especializado, pero todo parece funcionar así que vamos a lanzarlo a un árbol principal”.

Así que hemos cambiado en esto. Muchas cosas han sucedido realmente porque se preveían los problemas. Así que se convirtió en una forma de trabajo. Estaba claro que mi árbol puede ser muy experimental lo cual, a su vez, motivó a otras personas a asumir el mando de otros árboles experimentales.

Jim Zemlin: En cierto modo lo que estás diciendo se parece mucho a cuando te casas para tener hijos y notas un aumento en el sentido de la responsabilidad.

Linus Torvalds: Cierto. Quiero decir que hasta cierto punto se trata de crecer y, sí, existen muchas similitudes aunque hay también muchas diferencias (risas), por lo que no sé si es del todo buena la analogía.

Jim Zemlin: No amas a la comunidad del Kernel, ¿verdad?

Linus Torvalds: Bueno, a algunas personas con las que trabajo, quiero decir, cuando se trabaja con personas durante cinco o diez años, quizá no las amas de esa manera pero, al menos, confías en ellos en un sentido muy real, a nivel personal.

Jim Zemlin: Una de las cosas que están pasando -para seguir hablando de la comunidad- es que Linux está empezando a ser más relevante en el mundo – ya sea por parte de los gobiernos que lo ven como una manera estratégica para crecer con la industria de software, como por los fabricantes de dispositivos móviles en Taipei, o (el proyecto) One Laptop Per Child, y otros.

Una de las cosas que la gente se pregunta es por qué no hay una participación en el proceso de desarrollo más global. En otras palabras, los observadores dicen que eso del kernel es muy de América del Norte o del centro de Europa.

Me interesa oir lo qué piensas: a) ¿por qué es así? y, b) ¿alguna idea sobre cómo podemos obtener más participación de gente de otros lugares.

Linus Torvalds: Bueno, hemos hecho algunos estudios, a lo largo de los últimos seis años para comprobar de dónde provienen los desarrolladores y una de las cosas más obvias es que no todos proceden de países muy poblados pero sí de países que tienen una mayor densidad de conexión a internet.

Quiero decir que puedes decir, con facilidad, que, sí, en China hay millones de personas, hay millones de personas en la India. Pero China e India no son representativas en la comunidad de desarrolladores.

Pero si realmente – en lugar de tener en cuenta únicamente el número de personas, tienes en cuenta el número de personas que tienen un buen acceso a Internet. China e India, simplemente, no son grandes en cuanto a la conectividad.

Jim Zemlin: Pero proporcionalmente, participan como mayoría o hay más…

Linus Torvalds: Hay otras muchas cuestiones y, claramente, la lengua y las barreras culturales son una de los grandes temas además de algo tan simple y evidente como la educación.

Así que las barreras lingüísticas tienden a ser un gran problema – bueno, en realidad, tal vez lo son más aún las diferencias culturales – para que tengamos a personas de los países asiáticos. En algunos de ellos Internet tienen gran presencia y educación, sin embargo, no contribuyen mucho al código abierto, ni al Kernel, ni a otros proyectos en general.

Y esto parece ser al menos en parte cultural y así es realmente difícil para personas con barreras culturales y lingüísticas participar activamente. Puede ocurrir. Pero seguramente esto explica muchas de las razones por las que Europa Occidental y los EE.UU. son los principales protagonistas en el área del desarrollo.

Jim Zemlin: Es algo en lo que la comunidad del núcleo del Kernel piensa. ¿Cómo podemos conseguir más gente implicada? ¿Cómo podemos hacer más fácil y más accesible la implicación de la gente?

Linus Torvalds: Aparece de vez en cuando. No creo que nadie sepa, realmente, la respuesta. Hemos añadido algunos documentos. Por lo general, del tipo “léame”: ¿dónde participar?, ¿cómo comportarse?; y que esté disponible en varios idiomas.

No sé si es la solución o no lo es. Sospecho que no. Pero también sospecho que puede hacer posible que más personas, al menos, echen un vistazo al proyecto. Tal vez las personas se asustan menos cuando pueden ver en qué consiste el proyecto en sí. Al menos, tratamos de acercarnos a ellos. Las personas en Asia podrían sentirse así, “Bueno, no estoy luchando por esto y puedo tener problemas” pero, por lo menos, pueden acceder a los conocimientos y desarrollarlos en cierta medida. Así pues, esta es una de las cosas que hemos estado viendo.

Con esto quiero decir que yo, realmente, creo que la barrera cultural es mayor que la barrera lingüística y la razón por la que digo esto es que, especialmente en América del Sur, la implicación en el proyecto ha sido alta, así que no se trata, necesariamente, en que todos hablen inglés. Creo que culturalmente están más cerca de Europa y de EE.UU., y es ésto lo que hace que nos sea más fácil entrar.

Por tanto – y como creo que se debe a diferencias culturales, no sabemos cómo enfocarlo.

Entrevista a Linus Torvalds – Parte I (segunda entrega)

18 de diciembre, 2008 - por | 1 comentario | Kernel, Linux

Seguimos con la entrevista a Linus Torvalds. Si no has leído la primera entrega, ¿a qué esperas?.

Jim Zemlin: Pasemos a la organización en el desarrollo del proceso en sí mismo. ¿Conoces a las personas que están en el centro del proyecto y cómo se amplía en cuanto a los participantes que trabajan en el Kernel de Linux?

Linus Torvalds: Bueno, una de mis teorías favoritas es que la organización como un todo no existe en realidad y que en gran parte se trata de una auto organización. Lo que significa que no tenemos nada estricto – no hay reglas acerca de quién es realmente el de mantenimiento. Cuando tenemos a un encargado de mantener algún directorio en concreto, “esta persona está a cargo de ese subproyecto”, se trata más de una pista que de cualquier otra cosa. Esto significa que si tienes problemas con algo o si tienes un parche que quieres probar, esta persona en concreto es a la que puedes dirigirte.

Pero incluso esto es bastante impreciso y, al final, lo que ocurre es que se parece más a una red social en la que algunas personas están más conectadas que otras. Así que un parche no es un problema. Los informes se mueven por la red a través de las personas conectadas y finalmente me llega a mí o a otros que tienen gran número de conexiones con diferentes áreas.

Jim Zemlin: Así que, en muchos aspectos, la participación activa en el proceso de desarrollo tiene que ver con relaciones de confianza.

Linus Torvalds: Sí.

Jim Zemlin: ¿Es igual para todos los participantes?

Linus Torvalds: Sí. No importa lo duro que trabajes porque a nadie le va a importar. Podríamos decir que, como a veces sucede en política, lo que importa al final es que la gente te conozca. La gente conoce como una persona lleva trabajando en los últimos meses, años e incluso décadas y sabe que se puede confiar en ella. Cuando esta persona me envía un parche es, probablemente, el parche correcto, incluso cuando no entiendo bien el por qué de dicho desarrollo. Así se construye esta red.

Y como se trata de una auto-organización por lo general se evoluciona con el paso del tiempo. Así, la gente podría empezar por no estar muy conectada, pero a medida que demuestra ser bueno en una área determinada, aumenta la confianza en él y consigue estar más conectado, sin realmente – sin que exista un reconocimiento oficial.

Jim Zemlin: Vamos a hablar un poco de la comunidad y de este aspecto de la confianza. Me gustaría empezar por hacerte una pregunta acerca del término comunidad en sí mismo. Muchas personas utilizan el término comunidad cuando quieren decir, “-No lo hagas. Se romperá la comunidad” o “-La comunidad no acepta esta práctica”. ¿Cómo defines tú a la comunidad? Quiero decir, ¿cómo la entiendes?

Linus Torvalds: Yo, en realidad, trato de evitar el empleo de la palabra comunidad, ya que en muchos aspectos es engañosa. Es engañosa en el sentido de que no existe una única comunidad; todo el mundo tiende a tener sus propios temas que les preocupan y que pueden o no compartir con otras personas que, aparentemente, pertenecen a la misma comunidad.

Así que es engañoso pensar que la gente comparte ideales y objetivos, creo que no es cierto. Es más frecuente encontrarte con gente que tiene objetivos completamente diferentes; tienes comerciales que tienen muy claros sus objetivos de venta y tienes personas cuyo objetivo es el código abierto, pero todo pertenecen a la misma comunidad. Muchas veces te encuentras, además, con personas a las que realmente no les gustan las entidades comerciales, en especial, las grandes. Así que la mayoría de las veces los objetivos resultan ser muy diferentes.

Y la otra cuestión es que la comunidad tiende a ser -llega a ser- una entidad, y no sólo es percibida como tal, pero también puedes ver a gente que está dentro y fuera y que solía tener un papel específico – Creo que la mayoría de las compañías han empezado a aprender lentamente, pero solía ser un gran punto en el que todas las compañías hablaban acerca de “cómo interactuar con la comunidad”.

Y en algún momento la comunidad dejó de ser una suerte de entidad externa cuando la respuesta real siempre termina siendo que no interactúas con la comunidad; tú simplemente actúas como un miembro de esa comunidad no-existente. Realmente, no interactúas con ella, eres parte de ella.

Jim Zemlin: Esto es algo en lo que me gustaría profundizar ya que una gran cantidad de veces en la Fundación, las empresas se acercan y preguntan, “¿Cómo podemos participar en la comunidad? ¿Cómo podemos trabajar con la comunidad?” Y nuestra respuesta, similar a la suya, es la de “Pueden ser parte de la comunidad.”

¿Qué consejo darías a las empresas que quieren participar – no vamos a utilizar la palabra comunidad- en el desarrollo de los objetivos?

Linus Torvalds: Por lo general, quiero decir, la forma más fácil de participar es encontrar a la persona que ya es miembro del proceso de desarrollo, tal vez se trate de una persona que no es muy activa pero que lo es lo suficiente como para que haya estado involucrado y sepa cómo funcionan las cosas. Básicamente se trata de traer a esa persona de la empresa.

A menudo las personas, quiero decir, las empresas tienen ese tipo de personas ya dentro, sobre todo si se trata de empresas de tecnología que tienen interés por el kernel de Linux. De hecho, la razón por la que haya interés en el kernel de Linux probablemente tenga que ver con el tipo de gente que tienes trabajando para tí.

Así que, seguramente, ya haya gente dentro de la empresa que sepa cómo funcionan las cosas.

Jim Zemlin: Pero antes hablaste de la confianza y de por qué la confianza era importante en el sentido de la influencia que generas, en cierta medida, a la hora de que se cumplan los requerimientos de la comunidad.

A veces las empresas no piensan de esa forma. Ellos piensan, “Ey, si asigno gente para trabajar en esto e invierto recursos, tengo que cumplir mis objetivos.”

¿Cómo pueden estas organizaciones, en caso de asignar personal, generar esa confianza? ¿Qué deben decir a la gente de la empresa que participa fuera de ella?

Linus Torvalds: No sé si hay una respuesta a esa pregunta. (Risas) Si piensas que la forma de generar confianza es confiando en las relaciones personales, no sólo no obtienes dicha confianza si no que, además, no creas el ambiente. La confianza, exista o no, depende en gran parte de tus acciones.

Así que, la manera de generar confianza no es pensando en cómo hacerlo, sino tratando de asegurar que tus acciones sean más elocuentes que tu discurso. Tal vez tu estrategia interna sea lo de menos. Tus acciones externas son las que, en última instancia, generan o no confianza.

Entrevista a Linus Torvalds – Parte I (primera entrega)

10 de diciembre, 2008 - por | 1 comentario | Kernel, Linux

The Linux Foundation publicó en enero de este año una extensa entrevista a Linus Torvalds. Nos hemos animado a traducir el texto en español. ¡Aquí tienes la primera entrega!


Jim Zemlin: Bueno, quisiera comenzar haciéndote una primera pregunta. ¿Qué significa formar parte de la Fundación Linux?

Linus Torvalds: Para mí, lo que he estado haciendo durante los cuatro últimos años, que ha sido, por fín, dedicarme sólo a Linux, a tiempo completo. Antes yo tenía lo que se conoce como “trabajo verdadero” y del que vivíamos yo y mi familia. En aquel entonces, Linux era una especie de hobby y aunque mis jefes sabían de Linux y lo permitían, no era mi trabajo oficial.

Por eso hace cuatro años dije, básicamente, que necesitaba dedicarme a Linux a tiempo completo. Estaba dispuesto a hacerlo por mi cuenta y despedirme de Transmeta. Sin embargo, me encontré con que la empresa estaba dispuesta a apoyarme en todo lo que necesitara para hacerlo.

Así que, por lo que a mí se refiere, La Fundación Linux es la manera de no tener que preocuparme por la forma de alimentar a mi familia mientras hago lo que quiero y necesito.

Jim Zemlin: Genial. ¿Qué te motiva a trabajar en Linux?

Linus Torvalds: Bueno, solía ser únicamente la tecnología. Estaba interesado sólo en cómo el hardware trabajaba y cómo era la interación entre el software y el hardware. Y todavía, en parte, es así, aunque ahora también me motiva el aspecto social.

Quiero decir, me divierto trabajando con la gente. Incluso, aunque estoy todo el día sentado en mi sótano y sin ver a nadie, lo que hago es, esencialmente, comunicarme y éso es muy social: leo el correo electrónico de la gente y les contesto diciendo en qué pueden estar teniendo dificultades. Aunque no lo sea, intento ser cortés, animando a la gente y tratando de dirigirlos de forma correcta.

Jim Zemlin: Has dicho muchas veces que “Linux es sólo diversión” y que eso es lo que realmente te motiva a hacelo.

Linus Torvalds: Es cierto.

Jim Zemlin: ¿Ves Linux, el desarrollo de Linux, como una “gran causa”?

Linus Torvalds: No, no. No para mí. Quiero decir, para otras personas lo es. Me refiero a que una de las cosas que encuentro realmente interesante es cómo la gente utiliza Linux de formas en las que no pensé originalmente y a las que, a veces, yo no doy, personalmente, demasiada importancia.

Algunos creen que es el uso que la gente hace de Linux para favorecer a los países del tercer mundo y para ayudar a la humanidad, lo que me mantiene en el proyecto pero no. El reconocimiento debería corresponder a proyectos como OLPC que utilizan Linux para intentar mejorar el mundo desde una visión panorámica.

Para mí lo que me mantiene y me motiva sigue siendo la parte divertida -creo que es muy interesante y es esto a lo que me refiero cuando hablo de divertido. Parte de la diversión es que es lo suficientemente complejo para no ser insustancial. Así que el que sea divertido no significa que el asunto sea superficial. Sólo significa que es interesante y, al mismo tiempo, excitante.

Jim Zemlin: Hablemos de la parte en la que dices que es “lo suficientemente complejo para no ser insustancial.” Así que, hay un aspecto técnico…

Linus Torvalds: Sí.

Jim Zemlin:… que es complejo. Hay un aspecto social y de colaboración que también lo es. ¿Cuál es más complejo? ¿Son tan diferentes?

Linus Torvalds: Es complejo, quiero decir, ambos conviven y sólo se diferencian en que algunas veces la tecnología por sí sóla requiere un gran esfuerzo; la parte técnica es pocas veces frustrante. Así, la parte técnica suele ser más fácil en el sentido de que no te frustra. Bueno, hemos tenido un error y nos hemos comido la cabeza con un fallo técnico durante un par de meses. Y sí, ésto puede verse como algo frustrante. Sin embargo, siempre sabes que hay algo que puedes hacer para resolverlo y es así. Nunca me preocupo por la parte técnica.

El aspecto social es quizá un poco más complejo en el sentido de que, a veces, no puedes resolver los problemas de índole social y puede ser realmente frustrante ya que la gente se disgusta. También es muy interesante. Quiero decir, no sería tan divertido e interesante si todo el mundo fuese igual y trabajase en la misma dirección.

Son diferentes y van cambiando. A veces nos centramos en los problemas técnicos y otras veces, afortunadamente muy pocas, comienza una gran tormenta de índole social que desencadena otras cuestiones que la gente mantenía ocultas hasta ese momento.

Así que no hay una constante de cuestiones técnicas y sociales, sino que tienden a aparecer y desaparecer.

Jim Zemlin: Vamos profundizar en el tema de la interacción social, porque “open source” suele describirse como un proceso democrático en el que, como sabes, todo el mundo tiene algo que decir y hay un gran consenso; pero al final del día, es necesario tomar algún tipo de resolución cuando se trata de tomar decisiones. ¿Cómo os ponéis de acuerdo?

Linus Torvalds: Bueno, creo que no es realmente una democracia y algunas personas lo llaman meritocracia aunque tampoco es del todo correcto. Llevo la política de que el que hace el código puede decidir. Básicamente es lo que hay. Es muy fácil discutir y hablar de temas. y para mí, es fácil decir: ‘Debes resolverlo de esta forma.”

Pero al final del día, lo único que importa es el código concreto y la tecnología en sí misma. Las personas que no están dispuestas a escribir código, pueden formular comentarios y decir qué se debería hacer de una u otra manera o qué no harían. Pero, al final, estos comentarios no importan. Lo único que importa es el código.

Y resulta que la gente es perezosa, de modo que la mayoría son más felices discutiendo y, en la mayoría de los casos, sólo tienes un – un ejemplo de código y no hay muchas posibilidades reales de elección. No hay muchas personas lo suficientemente competentes como para hacer realidad el núcleo de programación y lo suficientemente poco perezosas como para que realmente lo desarrollen.

Así que de vez en cuando resulta que tenemos dos piezas de código que realmente hacen lo mismo o cosas similares de formas diferentes y, a continuación, llegar a la situación en la que alguien tiene que elegir y es muy a menudo y que me puede causar algunas social Con cuestiones que también. De hecho, es bastante inusual.

Jim Zemlin: Pero estás dispuesto a tomar esas decisiones cuando sea necesario, ¿verdad?

Linus Torvalds: Claro. Y de hecho, las cuestiones técnicas son bastante fáciles en el sentido de que si se terminan haciendo – tomando la decisión equivocada, se pueden deshacer. Sucede. Quiero decir, la gente dice, “bueno, tal vez sea la decisión correcta y, sin embargo, puedes estar totalmente equivocado”.

Tenemos que cambiarlo todo así que puede ser que, a veces, sea un poco doloroso. Pero como ya he dicho antes, no es frecuente tener que tomar grandes decisiones y, además, la mayoría de las veces la decisión no es el equivocada.