¿Qué es el software de código abierto?

Autor: Publicado

En breve: El software de código abierto se distribuye con una licencia que permite usarlo, analizar su código, modificarlo y redistribuirlo bajo determinadas condiciones. No implica automáticamente un servicio gratuito ni la ausencia de restricciones. Lo que puedes hacer con el programa depende de su licencia, no del mero hecho de que su código esté publicado en internet.

¿Qué significa que el código fuente sea abierto?

El código fuente contiene las instrucciones de un programa escritas en un lenguaje de programación y puede ser leído por quienes conocen ese lenguaje. Tener acceso a él permite comprobar cómo funciona una aplicación, corregir un error o adaptar sus funciones a las necesidades propias. Con el software de código cerrado, el usuario suele recibir un producto listo para usar, sin esos permisos ni acceso completo al código fuente.

Sin embargo, el código abierto implica algo más que poder leer el código. La licencia debe permitir, entre otras cosas, modificarlo y redistribuirlo, también para usos comerciales. Un repositorio, es decir, el lugar donde se guardan el código y su historial de cambios, puede ser público y aun así contener un programa que no se puede modificar ni compartir libremente.

Algunos ejemplos de software de código abierto son el navegador Firefox, el editor gráfico GIMP y WordPress, un sistema de gestión de contenidos para sitios web. No hace falta ser programador para usarlos. La disponibilidad del código fuente también importa al usuario: permite encargar el desarrollo o la reparación del programa a otro proveedor, siempre que encuentre uno con las competencias necesarias.

Código abierto, programas gratuitos y servicios de pago

«Gratuito» describe el precio; «código abierto», los derechos sobre el software. Una aplicación gratuita puede tener el código cerrado y prohibir las modificaciones. Por su parte, el creador de un programa de código abierto puede cobrar por su distribución, implantación, mantenimiento, servicios adicionales o soporte técnico.

Un buen ejemplo es un sitio web creado con WordPress. El sistema en sí es de código abierto, pero el dominio, el servidor, la configuración y el mantenimiento del sitio pueden tener un coste. Tampoco todos los temas, complementos y servicios relacionados tienen las mismas condiciones que el programa principal.

Una instalación propia ofrece mayor control sobre el entorno, pero conlleva la responsabilidad de gestionar las actualizaciones y las copias de seguridad. Un servicio gestionado de pago puede hacerse cargo de parte de esas tareas. Por eso, al comparar ofertas, comprueba no solo el precio de la licencia, sino el coste total de funcionamiento de la herramienta y las responsabilidades que asume el proveedor.

¿Qué importancia tiene la licencia?

La licencia establece las condiciones bajo las cuales el autor permite utilizar su obra. El código abierto no supone renunciar a los derechos de autor. Busca información sobre los permisos en el archivo LICENSE, en la documentación del proyecto y en la información que acompaña a la versión concreta del programa.

Dos grupos habituales de licencias se diferencian principalmente por las obligaciones que imponen al redistribuir el código:

El mero uso de un programa con licencia GPL en una empresa no obliga automáticamente a publicar sus propios documentos ni todo su software. Es importante distinguir entre usar el programa, modificarlo y entregarlo a terceros. Algunas licencias, como AGPL, también contemplan determinados casos en los que se pone un programa modificado a disposición de los usuarios a través de una red.

Esta es una explicación general, no asesoramiento jurídico personalizado. Antes de incorporar código ajeno a un producto que vayas a vender, revisa el texto oficial de la licencia correspondiente y las licencias de las dependencias —las bibliotecas necesarias para que funcione el programa—. Si tienes dudas, consulta sobre el uso que pretendes darle.

¿Es seguro el software de código abierto y sigue desarrollándose?

El código público permite una revisión independiente, pero no demuestra que alguien la haya realizado realmente. La seguridad depende, entre otras cosas, de la calidad del proyecto, de la respuesta a los errores notificados y de la instalación periódica de las correcciones. Un programa de código abierto puede estar bien mantenido o abandonado, igual que uno de código cerrado.

Tampoco todos los proyectos cuentan con una gran comunidad. Su desarrollo puede estar a cargo de una empresa, una fundación, un equipo pequeño o una sola persona. El usuario no recibe automáticamente una garantía de asistencia ni un plazo de resolución de averías; esos compromisos pueden establecerse en un contrato de soporte aparte.

Antes de implantar el programa, revisa el historial de versiones, la documentación, los avisos de seguridad y la forma en que se gestionan los problemas notificados. El número de personas interesadas en el proyecto no sustituye esa información. Si el programa es maduro, la falta de versiones frecuentes no tiene por qué ser un problema, pero la ausencia de respuesta ante fallos graves sí es una señal de alerta.

¿Cómo evaluar si una herramienta de código abierto sirve para tu tarea?

Supongamos que estás eligiendo un sistema para el sitio web de tu empresa. El código abierto será una ventaja real si necesitas funciones poco habituales, control sobre la instalación o la posibilidad de cambiar de proveedor. Si no tienes a nadie que se encargue del mantenimiento, puede resultar más cómodo contratar un servicio con un soporte claramente definido, que también puede estar basado en código abierto.

Antes de decidir, haz una breve prueba:

  1. Instala una versión de prueba en un entorno sin datos de clientes y comprueba la tarea más importante, por ejemplo, publicar una oferta.
  2. Verifica la licencia del programa y de los complementos necesarios.
  3. Comprueba la exportación de datos, la creación de copias de seguridad y la posibilidad de restaurarlas.
  4. Determina quién instalará las actualizaciones y resolverá las averías, y estima el coste de ese trabajo.

Basa tu elección en los resultados de la prueba y en tu capacidad para mantener el programa, no solo en la etiqueta «código abierto».

Véase también: ¿Qué es 2FA?

Lee también

Descubre cómo PHP-FPM atiende peticiones PHP, en qué se diferencia de un servidor web y cómo ajustar sus procesos al tráfico y los recursos.
Conoce BIND, el software abierto de servidor DNS: sus funciones, cómo gestiona dominios y cuándo conviene instalarlo por tu cuenta.
Descubre qué son el registro REGON de Polonia y su número, en qué se diferencian de NIP y KRS y cómo verificar los datos de una empresa.