El código abierto es un modelo de desarrollo de software basado en la colaboración abierta. Se enfoca en los beneficios prácticos (acceso al código fuente) y en cuestiones éticas o de libertad que tanto se destacan en el software libre. Para muchos el término «libre» hace referencia al hecho de adquirir un software de manera gratuita. Sin embargo, de lo que se trata es de abaratar los costos y ampliar la participación, que sea libre no necesariamente implica que sea gratuito, lo importante sigue siendo ampliar la participación y extender libertades.
Movimiento del código abierto
La idea del código abierto se centra en la premisa de que al compartir el código, el programa resultante tiende a ser de calidad superior al software propietario, es una visión técnica. Por otro lado, el software libre tiene tendencias filosóficas e incluso morales: el software propietario, al no poder compartirse, es «antiético» dado que prohibir compartir entre seres humanos va en contra del sentido común. Ninguna adaptación ni cambios que no haya realizado previamente la empresa fabricante.
Al igual que el software libre, el código abierto tiene una serie de requisitos necesarios para que un programa pueda considerarse dentro de este movimiento, estos son:
- Libre redistribución: el software debe poder ser regalado o vendido libremente.
- Código fuente: el código fuente debe estar incluido u obtenerse libremente.
- Trabajos derivados: la redistribución de modificaciones debe estar permitida.
- Integridad del código fuente del autor: las licencias pueden requerir que las modificaciones sean redistribuidas solo como parches.
- La licencia no debe discriminar a ninguna persona o grupo: nadie puede dejarse fuera.
- Sin discriminación de áreas de iniciativa: los usuarios comerciales no pueden ser excluidos.
- Distribución de la licencia: deben aplicarse los mismos derechos a todo el que reciba el programa.
- La licencia no debe ser específica de un producto: el programa no puede licenciarse solo como parte de una distribución mayor.
- La licencia no debe restringir otro software: la licencia no puede obligar a que algún otro software que sea distribuido con el software abierto deba también ser de código abierto.
- La licencia debe ser tecnológicamente neutral: no debe requerirse la aceptación de la licencia por medio de un acceso por clic de ratón o de otra forma específica del medio de soporte del software.
Este decálogo es compatible con las cuatro libertades del software libre.
Programas en código abierto
- Sistemas operativos: los más conocidos, Red Hat (Centos), Ubuntu y Debian, basados en Linux. Android, de Google, para teléfonos inteligentes y tabletas.
- Programas: Existen programas de código abierto en diferentes áreas, algunos de ellos son: las suites ofimáticas LibreOffice y Open Office , el navegador Firefox, el cliente de correo electrónico Thunderbird, el reproductor multimedia VLC, editores de imágenes GIMP o InkScape, editor de video Kdenlive, editor de audio Audacity, videojuegos Frets on fire, 0 A.D., Hypnotix es una aplicación de transmisión de IPTV con soporte para transmisión en vivo, películas y programas. También puedes obtener una enorme lista de canales de televisión gratuitos de todo el mundo. Apertium Apertium es una plataforma de software libre y de código abierto para la traducción automática, con licencia GNU. La plataforma ofrece: traducción automática independiente del idioma; herramientas de recogida de datos lingüísticos para la traducción automática; datos lingüísticos de un gran número de pares de lenguas. Apertium es utilizado en particular por la Fundación Wikimedia para la traducción de artículos
- Antivirus: ClamWin
- Los programas de Apache Software Foundation y Github.
- El lenguaje de programación de Apple Swift 2.
- Plataformas de enseñanza como Moodle Chamilo (un ejemplo es sloodle)
- Hyperledger Fabric: Proyecto de código abierto de Linux Foundation, es una infraestructura modular de blockchain.