La mayoría del software que compras o te descargas de Internet, solo viene en un formato ya compilado y preparado para usar. Cuando hablamos de compilado, nos referimos a que el código del programa informático que creó el diseñador, conocido como código fuente, ha sido pasado por un programa especial llamado compilador, que traduce el código fuente en un formato que el ordenador puede entender.
Es extremadamente difícil modificar la versión compilada de la mayoría de las aplicaciones, y casi imposible ver como el diseñador del programa creo las diferentes partes del software. Muchos fabricantes de software comerciales ven esto como una ventaja que previene que otras compañías puedan copiar el código y usarlo en un producto competitivo. También les da un control sobre la calidad y las funciones que se pueden encontrar en un producto en particular.
Un software open source, o de código abierto en español, es todo lo contrario de lo que hemos expuesto. El código fuente es incluido con la versión compilada, y la modificación o personalización de este código es algo que se ve con buenos ojos. Los desarrolladores de software que soportan el concepto de open source, creen que permitiendo a cualquiera que esté interesado en modificar el código fuente, la aplicación será más útil y más perfecta a la larga.
Para que un software sea considerado como open source por la industria, se necesita seguir algunos criterios:
- El programa debe ser distribuido de forma gratuita.
- El programa funcional debe venir con su código fuente sin compilar.
- Cualquiera tiene permiso para modificar el código fuente.
- Las versiones modificadas pueden ser distribuidas.
- La licencia no debe requerir la exclusión de otro software o interferir con el funcionamiento de otros programas.
Echemos un vistazo a un ejemplo en de vida real sobre software de código abierto. En 1991, Linus Torvald, un estudiante de la universidad de Helsinki en Finlandia, desarrolló un nuevo sistema operativo basado en Minix, un derivado de Unix. Llamó a este OS Linux. Torvald publicó el sistema operativo Linux bajo GNU o licencia pública general, la cual provee de una buena definición legal de un software de código abierto.
Mucha gente por todo el mundo se descargó Linux y empezó a trabajar con el. Muchos de los usuarios eran programadores ellos mismos y comenzaron a cambiar cosas en el código fuente que Torvald había incluido. Durante los siguientes tres años, Torvald recibió estas versiones modificadas de los otros programadores e incorporó muchos de los cambios en la versión oficial publicando una versión nueva del sistema operativo.
Una preocupación bastante habitual de usuarios que quieren usar software de código abierto, es la falta de garantías y soporte técnico. Al animar la licencia del software a realizar cambios, es casi imposible dar un soporte específico. Por este motivo, algunas distribuciones de Linux, como Red Hat, decidieron cobrar un mínimo por su sistema operativo a cambio de un soporte constante y fiable.
Sin embargo, existen foros y sitios Web donde ofrecen soporte e incluso los mismos usuarios se ayudan entre si, dando solución a la mayoría de los problemas. Otros ejemplos de open source en programas muy populares aparte de Linux, son Mozilla, referido al mundo de los buscadores Web, Apache para servidores Web, el lenguaje de scripting PERL, o el formato de gráficos PNG. Todos están basados en código abierto y son conocidos mundialmente.