Explicación del software de código abierto: por qué el código fuente es más importante de lo que cree

9

La mayoría del software que descargas es una caja negra. Llega precompilado, despojado de su lógica subyacente y sellado detrás de un muro de pago. No puedes modificarlo. No puedes ver cómo funciona. Simplemente corre.

El software de código abierto invierte este modelo por completo. Te da las llaves del motor.

La diferencia entre código compilado y código fuente

Cuando los desarrolladores escriben una aplicación, utilizan un lenguaje legible por humanos llamado código fuente. Luego, un compilador traduce este código al lenguaje de máquina: los ceros y unos binarios que su computadora realmente ejecuta. Este producto final es la versión compilada.

Para el software comercial, esta compilación es una característica, no un error. Oculta la propiedad intelectual del desarrollador. Los competidores no pueden copiar fácilmente la lógica. Los usuarios no pueden corregir fácilmente errores profundos en el kernel.

El software de código abierto incluye tanto la versión compilada como el código fuente. El objetivo no es sólo la transparencia. Es una modificación.

“Al permitir que cualquiera que esté interesado modifique el código fuente, la aplicación será más útil y estará libre de errores a largo plazo.”

¿Qué define realmente al software de código abierto?

No todos los programas gratuitos son de código abierto. La industria tiene criterios estrictos. Para obtener la etiqueta, el software debe cumplir con puntos de referencia legales y técnicos específicos.

  • Distribución gratuita: El software se puede compartir libremente. Incluso puede ser parte de un paquete vendido.
  • Inclusión del código fuente: El código sin formato debe ser accesible.
  • Derechos de modificación: Cualquiera puede modificar el código.
  • Redistribución de versiones modificadas: Puedes compartir tus ajustes con otras personas.
  • Licencia no discriminatoria: La licencia no puede restringir el uso con otro software ni interferir con otros programas.

Estas reglas garantizan que la apertura no sea sólo una palabra de moda en marketing. Es un estándar aplicable.

Linux: la historia de éxito del código abierto

El ejemplo más claro de este modelo en acción es Linux.

En 1991, Linus Torvalds, un estudiante de la Universidad de Helsinki, empezó a trabajar en un nuevo sistema operativo. Lo basó en Minix, un derivado de Unix. Lanzó la versión 0.02 bajo la Licencia Pública General GNU. Esta licencia proporciona el marco legal para el software de código abierto.

La gente descargó el código. Los programadores lo modificaron. Torvalds recibió estos parches durante los siguientes tres años. Los incorporó a la línea de fondo. Linux 1.0 llegó en 1994.

Este no fue un esfuerzo solitario. Era un modelo de desarrollo distribuido. El código mejoró porque miles de ojos estaban puestos en él.

La brecha de apoyo y el modelo de negocio

Aquí es donde las cosas se complican para el usuario medio.

El software de código abierto normalmente no viene con garantía. Sin soporte técnico. Si se rompe, estás solo. La licencia fomenta la personalización, lo que hace que la estandarización del soporte sea casi imposible.

Entonces ¿quién lo arregla?

Red Hat Software resolvió este problema. Fundada en 1994, Red Hat empaquetó Linux como “Red Hat Linux oficial”. No eran dueños del código. Eran dueños del servicio.

Agregaron una garantía. Proporcionaron soporte técnico.

Para las empresas, esta garantía es el factor decisivo. Muchas empresas prefieren comprar Linux compatible antes que descargar copias gratuitas. Pagan por la estabilidad, no por el código en sí. Otras empresas siguieron su ejemplo y empaquetaron Linux con herramientas adicionales para su reventa.

Más allá de Linux: otros elementos básicos de código abierto

Linux no es el único juego que existe. Varias tecnologías fundamentales que impulsan Internet se basan en principios de código abierto.

  • Mozilla: El motor central detrás del navegador Netscape.
  • Apache: El servidor web que alimenta una gran parte de Internet.
  • PERL: Un lenguaje de scripting para desarrollo web.
  • PNG: Un formato de archivo de gráficos diseñado para una compresión sin pérdidas.

Estas herramientas son de uso gratuito. Son libres de modificar. Dan forma a la forma en que interactuamos con la web todos los días.

¿Por qué te importa esto?

Se podría pensar que el código abierto sólo afecta a los desarrolladores. No es así.

Cuando utiliza un dispositivo basado en Linux. Cuando visitas un sitio alojado en Apache. Cuando utiliza un navegador integrado en Gecko. Está utilizando un software que, en teoría, podría auditar. Está utilizando software que una sola corporación no podría bloquear.

La barrera de entrada es mayor. Necesitas saber cómo instalarlo. Necesita saber dónde encontrar soporte. Pero la compensación es el control.

Internet funciona con estos protocolos. El futuro del software depende de si mantenemos las puertas abiertas.