¿Qué es un software de código abierto?
El software de código abierto es un software con código fuente que cualquiera puede inspeccionar, modificar y mejorar.
El "código fuente" es la parte del software que la mayoría de los usuarios no ven nunca; es el código que los programadores informáticos pueden manipular para cambiar el funcionamiento de un software, un "programa" o una "aplicación". Por ejemplo CentOS Linux 8.
Los programadores que tienen acceso al código fuente de un programa informático pueden mejorarlo añadiendo funciones o arreglando las partes que no siempre funcionan correctamente. ¿Cuál es la diferencia entre el software de código abierto y otros tipos de software?
Algunos programas tienen un código fuente que sólo puede modificar la persona, el equipo o la organización que lo creó y que mantiene un control exclusivo sobre él. A este tipo de software se le llama "propietario" o "de código cerrado".
Sólo los autores originales del software privativo pueden copiar, inspeccionar y modificar legalmente ese software. Y para poder utilizar el software privativo, los usuarios de ordenadores deben aceptar (normalmente firmando una licencia que se muestra la primera vez que ejecutan este software) que no harán nada con el software que los autores del mismo no hayan permitido expresamente. Microsoft Office y Adobe Photoshop son ejemplos de software privativo.
El software de código abierto es diferente. Sus autores ponen su código fuente a disposición de quienes quieran ver ese código, copiarlo, aprender de él, modificarlo o compartirlo. LibreOffice y el Programa de Manipulación de Imágenes de GNU son ejemplos de software de código abierto.
Al igual que con el software propietario, los usuarios deben aceptar los términos de una licencia cuando utilizan software de código abierto, pero los términos legales de las licencias de código abierto difieren radicalmente de los de las licencias propietarias.
Las licencias de código abierto afectan a la forma en que la gente puede utilizar, estudiar, modificar y distribuir el software. En general, las licencias de código abierto conceden a los usuarios de ordenadores permiso para utilizar el software de código abierto para cualquier propósito que deseen.
Algunas licencias de código abierto que algunos llaman licencias "copyleft"estipulan que cualquiera que publique un programa de código abierto modificado debe también publicar el código fuente de ese programa junto con él.
Además, algunas licencias de código abierto estipulan que cualquiera que modifique y comparta un programa con otros debe también compartir el código fuente de ese programa sin cobrar una cuota de licencia por ello.
Por su diseño, las licencias de software de código abierto promueven la colaboración y el intercambio porque permiten que otras personas hagan modificaciones al código fuente e incorporen esos cambios a sus propios proyectos. Animan a los programadores informáticos a acceder, ver y modificar el software de código abierto cuando quieran, siempre que permitan a otros hacer lo mismo cuando compartan su trabajo.
¿El software de código abierto es importante sólo para los programadores informáticos?
No. La tecnología de código abierto y el pensamiento de código abierto benefician tanto a los programadores como a los no programadores.
Dado que los primeros inventores construyeron gran parte de Internet sobre tecnologías de código abierto como el sistema operativo Linux y la aplicación de servidor web Apache cualquier persona que utilice Internet hoy en día se beneficia del software de código abierto.
Cada vez que los usuarios de ordenadores ven páginas web, consultan el correo electrónico, chatean con sus amigos, transmiten música en línea o juegan a videojuegos multijugador, sus ordenadores, teléfonos móviles o consolas de juegos se conectan a una red global de ordenadores que utilizan software de código abierto para dirigir y transmitir sus datos a los dispositivos "locales" que tienen delante.
Los ordenadores que realizan todo este importante trabajo suelen estar situados en lugares lejanos que los usuarios no ven realmente o a los que no pueden acceder físicamente, por lo que algunos llaman a estos ordenadores "ordenadores remotos".
Cada vez más, la gente confía en los ordenadores remotos para realizar tareas que de otro modo podrían llevar a cabo en sus dispositivos locales. Por ejemplo, pueden utilizar programas de procesamiento de textos, gestión de correo electrónico y edición de imágenes en línea que no instalan ni ejecutan en sus ordenadores personales.
En su lugar, simplemente acceden a estos programas en ordenadores remotos utilizando un navegador web o una aplicación de teléfono móvil.
Algunos llaman a la computación remota "computación en la nube", porque implica actividades (como almacenar archivos, compartir fotos o ver vídeos) que incorporan no sólo dispositivos locales, sino también una red global de ordenadores remotos que forman una "atmósfera" a su alrededor.
La computación en la nube es un aspecto cada vez más importante de la vida cotidiana con dispositivos conectados a Internet. Algunas aplicaciones de computación en nube, como Google Apps, son propias. Otras, como ownCloud y Nextcloud, son de código abierto.
Las aplicaciones de computación en la nube se ejecutan "sobre" un software adicional que las ayuda a funcionar de forma fluida y eficiente, por lo que a menudo se dice que el software que se ejecuta "por debajo" de las aplicaciones de computación en la nube actúa como "plataforma" para esas aplicaciones.
Las plataformas de computación en nube pueden ser de código abierto o cerrado. OpenStack es un ejemplo de plataforma de computación en nube de código abierto