S5 Oasis - шаблон joomla Видео
Activistas Opinan

Vincúlate a la Fundación Casa del Bosque

Haz parte de nuestro grupo de voluntarios, activistas y redes de apoyo comunicacional.
Viernes, 09 Mayo 2014 15:49

Desarrollo actual del Kernel Linux: corporaciones y libertad tecnológica.

Written by 
Rate this item
(0 votes)

INTRODUCCIÓN

Linux Foundation, organización liderada por Linus Torvalds1, publicó el último informe [1] acerca del estado actual del kernel Linux. En éste se muestra un balance actual del desarrollo de este componente en varios aspectos, de los cuales vale la pena resaltar algunos: aumenta el número de cambios por hora en el código fuente, aumentan las líneas de código, disminuye la participación de Torvalds en las revisiones, y aumenta el número de compañías que aportan cambios. Antes de analizar el informe, pongamos en contexto la importancia del kernel.

 

Linux nació como un proyecto independiente de Linus Torvalds y fue publicado en el año 1991. Se basó en el sistema operativo minimalista de Andrew Tanenbaum llamado Minix, que a su vez tomó parte del difundido Unix, a la sazón, el más importante a nivel tecnológico y de mercado. Los sistemas Unix se popularizaron en medio del desarrollo de las redes de internet de la época y del hardware existente. Su importancia radicó en haber sido el primero en ser desarrollado casi en su totalidad en lenguaje C, creado éste por el hacker neoyorquino Dennis Ritchie. También fue fundamental en la ventaja que presentaba al poder instalarse sobre distintas tecnologías de hardware, algo que no tenían los demás sistemas operativos.

 

De esta manera, Unix fue el principal sistema operativo durante los años ochenta en EEUU, y fue la base sobre la que el profesor Tanenbaum desarrolló su versión llamada Minix. Este prototipo sirvió para sus ejemplos en el reconocido libro Sistemas Operativos, y fue la guía para que Torvalds iniciara su proyecto que más tarde bautizó Linux. Torvalds publicó su producto usando la licencia GPL de GNU para hacer un aporte al proyecto que había empezado en el año 83, cediendo la pieza que faltaba para completar el rompecabezas que desde entonces se estaba conformando.

 

Sin embargo, en la actualidad Linux aún se sigue confundiendo con las distribuciones GNU/Linux, pero realmente en 1992 tomó tan solo la licencia abierta GPL inventada por la Free Software Foundation (FSF) para proteger al código fuente de las empresas que desarrollaban software privativo y de cualquier individuo o comunidad que quisiera cerrar el código. Actualmente el kernel de Linux es publicado bajo la versión número 2 de la licencia GPL (GPLv2).

 

CÓMO FUNCIONA EL KERNEL

El kernel, escrito en su mayoría en el lenguaje C, está construido en una arquitectura por capas en un esquema tomado principalmente de Minix. Su función principal es la de gestionar los recursos de hardware utilizados por las aplicaciones de usuario o por otros programas de bajo nivel. En otras palabras, es el intermediario entre la experiencia del usuario y la máquina. [3] 

 

Entre otros recursos, el kernel distribuye y gestiona el acceso a la memoria, al procesador, a los periféricos de entrada y salida, al sistema de archivos, a la transmisión de datos por red y al manejo de protocolos, todo esto mediante subsistemas que conforman la parte nuclear del kernel. Así mismo, el kernel tiene otra capa que funciona como fachada de las aplicaciones de usuario y de la librería C (GNU C Library, glibc) mediante mensajes de lectura y escritura, llamada la interfaz de llamada de sistema (SCI). Esta última capa es dependiente de la arquitectura física sobre la cual se instala, así como la capa más baja del kernel, que en su conjunto es llamada paquete de soporte de placa principal o BSP.

 

EVOLUCIÓN DEL KERNEL

 

Entrando en materia sobre el análisis del informe de Linux Foundation, examinaremos cada uno de los aspectos que hemos señalado como importantes. El primero de ellos referido al aumento en el número de cambios por hora del código fuente.

 

Según el informe, el modelo de desarrollo está basado en publicación de versiones principales del kernel en un corto plazo (entre dos y tres meses), sobre las que previamente ha habido un proceso de construcción y mantenimiento de algunas de sus partes, que luego se incorporan al código fuente mediante cambios de líneas de código llamadas parches. Los parches que llegan a ser parte del código, el cual no tiene errores de compilación, son revisados posteriormente y se define su incorporación definitiva o su rechazo por desarrolladores expertos de la Linux Foundation.

 

Así mismo, existe un proceso de construcción y mantenimiento de las versiones estables del kernel2, debido a su utilización en diferentes sistemas operativos y sistemas embebidos (por ejemplo cajas registradoras). En este caso los cambios son llamados ajustes, que inevitablemente se presentan debido a los errores de funcionamiento que eventualmente se encuentran.

 

Para el caso de los parches, el reporte indica que aumenta el número de cambios por hora realizados a la línea principal del kernel con el lanzamiento de nuevas versiones. Este cálculo proviene de dividir el número de parches aplicados entre el número de días entre lanzamiento de diferentes versiones. Esto se puede evidenciar en las siguiente tabla.

 

Versión del kernel

Fecha de lanzamiento

Días de desarrollo

Cambios (parches)

Cambios por hora

3.0

2011-07-21

64

9153

5.96

3.1

2011-10-24

95

8693

3.81

3.2

2011-12-31

68

11780

6.88

3.3

2012-03-18

74

10550

5.94

3.4

2012-05-20

63

10889

7.20

3.5

2012-07-21

62

10957

7.36

3.6

2012-09-30

71

10247

6.01

3.7

2012-12-10

71

11990

7.04

3.8

2013-02-18

70

12394

7.38

3.9

2013-04-28

69

11910

7.19

3.10

2013-06-30

63

13367

9.02

 

El segundo aspecto a analizar es el aumento de líneas de código. Según el informe, la cantidad de código fuente ha crecido sin parar desde de la concepción del kernel, pero ahora la tasa es mucho mayor. Actualmente el kernel, incluyendo documentación y scripts de configuración, cuenta con casi 17 millones de líneas de código, una diferencia significativa si se tiene en cuenta que el proyecto empezó con tan solo 10 mil líneas. Alrededor de 300 mil líneas son agregadas entre cada versión.

 

Sobre la participación de Linus Torvals, el informe reporta su disminución en las revisiones, quien ha delegado estas funciones a sus colaboradores de Linux Foundation. Estas revisiones se identifican mediante la adición de una firma aparte de la ya incorporada por los desarrolladores de los parches. Las revisiones están divididas por árboles de subsistema, que corresponden aproximadamente a los mismos subsistemas que hacen parte del kernel, y son lideradas por un revisor.

 

QUIÉNES CONSTRUYEN Y FINANCIAN EL KERNEL EN LA ACTUALIDAD

 

El siguiente aspecto a analizar es el aumento en el número de compañías que aportan al cambio en el código del kernel.

 

En cada versión nueva del kernel se puede ver el aumento de la cantidad de desarrolladores y compañías que participan en la elaboración de la línea principal. En la última versión participaron 1392 desarrolladores trabajando para 243 compañías.

 

 

Versión del kernel

Número de desarrolladores

Número de empresas

3.0

1131

191

3.1

1168

189

3.2

1316

231

3.3

1247

233

3.4

1286

245

3.5

1195

242

3.6

1224

298

3.7

1280

228

3.8

1258

241

3.9

1388

263

3.10

1392

243

 

Desde que utiliza el repositorio Git en el año 2005 con la versión 2.6.11, el kernel de Linux ha contabilizado 9784 desarrolladores trabajando para al menos 1064 compañías. De ese grupo se destacan los primeros treinta que han aportado el 18.9% de los cambios, casi la quinta parte. Una cifra considerable si se tiene en cuenta que aquellos desarrolladores representan proporcionalmente una minoría, lo que muestra a un reducido grupo haciendo el mayor esfuerzo.

Por otra parte, la mayoría de los desarrolladores recibe remuneración por el trabajo de realizar cambios al kernel. A esa conclusión llegaron los creadores del informe al encontrar que la mayoría reporta información empresarial, y los que pertenecen a las primeras treinta empresas han realizado 80% de los ajustes. Entre estas se destacan corporaciones como Red Hat, Intel, Linaro, IBM, Samsung, Google, Oracle, entre otras. Compaginando las dos anteriores conclusiones, se puede colegir la existencia de una minoría de trabajadores que hace el mayor esfuerzo para las empresas del top treinta.

El informe también señala que disminuye la cantidad de desarrolladores que no recibe remuneración y hace trabajo voluntario. La razón es que estos se vinculan rápidamente a una empresa que requiere de sus capacidades debido a que su oferta es mínima, lo cual resulta en una disputa por llevar a estos expertos a sus empresas. En un futuro tal vez no muy lejano, todo el trabajo de actualización y mejoramiento será realizado por compañías con gran capacidad económica, desarrollo tecnológico y con los mejores expertos, que adecuarán a sus necesidades el desarrollo del kernel Linux.

 

LAS PERSPECTIVAS PARA EL KERNEL LINUX

 

El kernel Linux se sigue conservando como un sistema de código abierto pero no necesariamente aplica los fundamentos de libertad de software, en tanto que el contexto donde subyace está siendo adoptado por código no abierto. Incluso, el mismo kernel posee código fuente ofuscado o cerrado en pequeñas proporciones (blobs).

 

Algunas distribuciones de sistemas operativos no cumplen con los fundamentos de la libertad de software, pero como se mencionó en una pasada oportunidad, [4] es válido adoptar una estrategia de transición para conseguirla siempre y cuando se mantenga el proceso de aprendizaje y de respeto por aquella. De hecho fue de esta manera en la que surgió el proyecto Linux-libre (al que me referiré más adelante).

 

Un hecho llamativo es el aumento de la participación de grandes empresas en el mantenimiento y construcción de nuevas versiones del kernel. Su origen muestra los caminos posibles adónde se está dirigiendo la implementación de este componente de software, especialmente en dispositivos móviles y sistemas embebidos. Otra característica común de estas compañías es el gran capital que poseen, ya que son algunas de las multinacionales más reconocidas, como Google, Samsung, Oracle, IBM, Cisco, etc. Por ejemplo, Google en el año 2013 obtuvo ganancias por US$12.9 mil millones de dólares [5] en un aumento mantenido en los últimos años. El modelo de negocio de esta corporación es reconocido y se sustenta en una parte importante en código abierto, y notas de prensa señalan que utiliza sistemas Linux para gestionar parte de sus servicios.

 

A estas alturas cabría preguntarse, ¿cuál es la diferencia del resultado por el hecho de que participen o no empresas de la talla de Google, IBM, Intel, etc? Se podría decir que están aportando a la evolución del kernel para adaptarse a nuevas plataformas y sistemas que de otra manera no podría hacerlo, o lo haría lentamente debido a las restricciones que impone el hardware. También en el alto valor de capital que está invirtiendo en mano de obra por el mejoramiento del componente, que en otras fuentes no lo encontraría. En cuanto a estas metas encomiables, se requiere contrastarlas con los aspectos negativos de su participación para llegar a un balance final.

 

Google es señalado por algunos informes como intermediario en la captura de datos personales y análisis de tráfico de sus usuarios, [6] lo cual ha puesto en la mira la ética de su metodología para explotar esta información. También se cuestionó en su momento la inclusión de un parche que utilizaba la tecnología de Intel para generar números aleatorios, [7] lo cual abría un vacío para una presunta puerta trasera a la NSA (que en todo caso se resolvió por eliminarlo). Otros casos se podrían enumerar, pero el resultado final es la desconfianza generada por la dependencia en las tecnologías de estas empresas.

 

El ejercicio de sopesar aspectos negativos y positivos puede continuar, y se lo dejamos al lector. Sin embargo, nos adelantamos a un balance mediante la siguiente pregunta: ¿no serán estos parches maneras de generar dependencia de software privativo mediante el señuelo del código abierto? En cualquier caso, si se trata de defender la libertad del individuo y las comunidades en la utilización de software, se podría aseverar la desnaturalización de esta filosofía debido al mantenimiento del componente kernel por parte de estas corporaciones, que presuntamente buscan someternos a sus designios.

 

Alrededor de esta última conjetura se podría sustentar el análisis de hegemonía tecnológica que están ejerciendo las corporaciones que hacen parte del informe. El kernel Linux fue en su momento parte de las manifestaciones del contra-poder en materia tecnopolítica [8] contra la dominación de aquellas empresas; pero al parecer estas han reinventado su estrategia incursionando en la implementación de proyectos de código abierto.

 

De esta manera, el hecho de que estén direccionando el desarrollo del kernel hacia la implantación en nuevas plataformas, implicaría una extensión de su dominación en espacios anteriormente inexplorados, como el de dispositivos móviles. Luego, en el marco de la concepción tecnopolítica planteada desde Fundación Casa del Bosque en Bogotá - Colombia, se encienden las alarmas al descubrir el aumento de la participación de las corporaciones en el desarrollo del kernel Linux.

 

EL PROYECTO LINUX-LIBRE

 

El origen de todo el movimiento de software libre es el proyecto GNU, y el kernel llegó a ser parte fundamental del avance de este proyecto en su momento, en tanto permitió adoptar una pieza que aportaba un soporte multiplataforma y flexibilidad al sistema operativo. Su funcionalidad le permitió ampliar la gama de máquinas sobre las cuales funcionaba, y superar incluso al sistema Unix (hoy en su mayor parte, BSD).

 

Hoy en día es el proyecto de código abierto más grande que se haya realizado, y hace parte de sistemas tan importantes como servidores de redes mundiales, dispositivos móviles, elementos de red, sistemas embebidos, entre otros. Su popularidad requiere aclarar el origen del mismo, y ciertamente ha perdido en parte el norte del origen de su incorporación en el proyecto GNU.

 

Recientemente se ha replanteado la estrategia de defensa del movimiento de software libre enfatizando cada vez más en las libertades individuales y colectivas, más que una reivindicación tecnológica. Esto proviene de la situación de irrespeto de estas libertades que han descubierto en especial por las revelaciones de Julian Assange y Edward Snowden sobre espionaje en Internet. En ese contexto, se insiste en que un elemento fundamental como lo es el kernel se mantenga al alcance de todas las personas que puedan ocuparse de él, y que no tengan obstáculos técnicos para validar su funcionamiento. Muestra de ello es el proyecto Linux-libre.

 

La Free Software Foundation América Latina ha adoptado desde hace algunos años el mantenimiento de un kernel llamado Linux-libre diferente al publicado en 1991, a partir del esfuerzo del proyecto de gNewSense y BLAG. [9] Está orientado por la estrategia de transición en tanto que las comunidades de software libre ya han adoptado la mayoría de componentes de GNU/Linux, y es mucho más fácil mudar hacia los componentes libres como son el mismo kernel y otras librerías no libres que hacen parte de las distribuciones. De esta manera, los usuarios y comunidades deben saber que para librarse del sometimiento de alguna empresa de software es necesario eliminar todos los componentes que contengan código cerrado, o adoptar las herramientas para eliminarlo como son las depuradoras que ha implementado este proyecto.

 

Este y otros esfuerzos, incursionando en un proceso de aprendizaje individual y colectivo, son el camino para defender la libertad en el maremágnum de publicación de datos personales en espacios tecnológicos. Eventualmente esta estrategia nos librará del anzuelo que lanzan las grandes corporaciones en sus proyectos de código abierto, en medio de la pugna de dominación tecnológica planteada en este nuevo escenario. Protegernos por todos los flancos, empezando por la adopción de sistemas operativos confiables, requiere conocimiento básico de las tecnologías, pero ante todo, mantener en alto la bandera de la libertad de la utilización de software.

 

FUENTES

 

1 Linus Torvalds es el creador del núcleo o kernel del sistema operativo GNU/Linux, recordado por aportar esta pieza al proyecto GNU de Richard Stallman.HISTORIA DEL KERNEL: LINUX NO ES GNU[1] Linux Kernel Development. Reporte de Linux Foundation sobre evolución del kernel entre versiones 3.2 a 3.10. Septiembre de 2013 (requiere crear una cuenta de usuario en este portal): http://www.linuxfoundation.org/publications/linux-foundation/who-writes-linux-2013

2Aquellas que ya han sido publicadas y hacen parte de oficialmente de algunos sistemas, las cuales permanecen en su correspondiente versión.[2] ¿Quién está escribiendo Linux?. IEEE Spectrum: http://spectrum.ieee.org/computing/software/whos-writing-linux

[3] Anatomía del Kernel Linux. IBM: http://www.ibm.com/developerworks/library/l-linux-kernel/index.html

[4] Hacia la libertad tecnológica... Fundación Casa del Bosque: http://bit.ly/1jk2qDN

[5] Google Inc. Estado de ganancias consolidadas. US SEC: http://1.usa.gov/1fUbv1F

[6] Sobre espionaje de la NSA de EEUU, ver Washington Post (http://wapo.st/1gIS8gu) y The Guardian (http://bit.ly/1fUcQWe)

[7] Git Linux Kernel de Torvalds, commit de parche para números aleatorios: http://bit.ly/1s6kCUs

[8] Tecnopolítica, Internet y contrahegemonía, Fundación Casa del Bosque: http://bit.ly/1ow86vh

[9] Linux-Libre: Creating a free kernel package. Free Software Foundation: https://www.fsf.org/bulletin/2009/spring/linux-libre-creating-a-free-kernel-package

Read 11349 times Last modified on Viernes, 09 Mayo 2014 20:10
Rodrigo Cruz

Ingeniero de Sistemas de la Universidad Distrital Francisco José de Caldas, desarrollador de software, usuario de sistemas operativos abiertos.

Miembro de la Emisora Local "Suba al Aire"

Activista Tecnopolítico de la Fundación Casa del Bosque

BOLETÍN DE NOTICIAS FCB

Recibe información sobre nuestras acciones, convocatorias, talleres y eventos.

¡SOMOS FCB!

RESIDENCIAS PARA ACTIVISTAS