Código abierto (en inglés open source) es el término con el que se conoce al software que se desarrolla y distribuye libremente. Según la definición de la pen Source Initiative (OSI), el movimiento de software que aboga por el uso de este término, el concepto de código abierto no significa únicamente el acceso al código fuente del software; además de esto, los términos de distribución de dicho software y su licencia deben cumplir una serie de requisitos fundamentales.
Estos requisitos son los siguientes:
1. La libre redistribución del software y su código fuente
La licencia no debe restringir a ninguna persona ni la venta ni la distribución gratuita del software como un componente de un software agregado que contenga varios programas procedentes de diferentes fuentes. La licencia no debe requerir ninguna cuota o derechos de autor por dicha venta.
2. Código fuente
El programa debe incluir el código fuente y se debe permitir también la distribución del código fuente compilado. Si algún componente del software no se distribuye junto con su código fuente, debe existir una forma bien publicitada de obtener dicho código fuente por un coste de reproducción razonable o permitiendo la descarga gratuita a través de Internet. El código fuente debe ser la forma preferida en la que un programador podría modificar el programa. No se permite el código fuente deliberadamente ofuscado. Tampoco están permitidas formas intermedias tales como la salida de un preprocesador o un traductor.
3. Trabajos derivados
La licencia debe permitir la redistribución de toda clase de modificaciones y trabajos derivados del software bajo los mismos términos que la licencia del software original.
4. Integridad del código fuente del autor
La licencia puede requerir que las modificaciones del código fuente sean sólo distribuidas como parches para modificar el programa en tiempo de compilación. La licencia debe permitir explícitamente la distribución de software construido a partir del código fuente modificado. La licencia puede requerir que los trabajos derivados lleven diferente nombre o número de versión que el software original.
5. Sin discriminación de personas o grupos
La licencia no debe discriminar a ninguna persona o grupo de personas.
6. Sin discriminación de áreas o campos de trabajo
La licencia no debe restringir el uso del programa a ningún campo particular de trabajo humano. Por ejemplo, no puede restringir que el programa sea usado en un negocio o para investigación genética.
7. Distribución de la licencia
Deben aplicarse los mismos derechos recogidos en la licencia del software a todos sus usuarios sin necesidad de usar otra licencia adicional para terceras partes.
8. La licencia no debe ser específica de un producto
Los derechos que acompañan al programa no deben depender de que el programa sea parte de una distribución de software en particular. Si el programa se extrae de dicha distribución y se usa o distribuye en los términos de su licencia, todas las partes a las cuales se redistribuya el programa deben tener los mismos derechos que están garantizados con la distribución original del software.
9. La licencia no debe restringir otro software
La licencia no debe establecer restricciones sobre otro software que se distribuya junto con el software licenciado. Por ejemplo, la licencia no debe insistir en que todos los demás programas distribuidos en el mismo medio sean también de código abierto.
10. La licencia debe ser tecnológicamente neutral
La licencia no debe abogar por ninguna tecnología individual o estilo de interfaz.
Este concepto comenzó a ser usado en el año 1998 por un sector de la comunidad del software libre en respuesta a los problemas que originaba la denominación en inglés de software libre, free software, dado que free en inglés significa tanto gratis como libre. Esto originaba confusiones y connotaciones equivocadas ya que, los usuarios, además de entender el software como libre, lo entendían también como gratuito. Además, esta ambigüedad también ahuyentaba a las empresas a la hora de usar y desarrollar software de código abierto. Eric S. Raymond, un reputado desarrollador de software de código abierto y ex-presidente de la OSI, exponía en 1998 las razones para dejar de usar el término free software y comenzar a usar el de código abierto en su artículo Goodbye, "free software"; hello, "open source"
Hoy en día existe disputa entre los defensores del concepto de software de código abierto y los defensores del concepto de software libre, representados estos últimos por la Free Software Foundation (FSF). Los defensores del software libre, encabezados por Richard Stallman, programador y figura más relevante del software libre en el mundo, argumentan que el concepto de código abierto es más débil filosóficamente ya que, literalmente, sólo significa el acceso al código fuente del software y deja de lado los valores sociales y éticos asociados al software libre, tal y como expone Richard Stallman en su artículo Why “Open Source” misses the point of Free Software. A pesar de estas diferencias, ambos movimientos trabajan juntos en muchos proyectos de software y comparten muchos puntos de vista.
El modelo de desarrollo de software de código abierto tiene también notables ventajas con respecto al modelo tradicional de desarrollo de software convencional. El hecho de que cualquier persona pueda revisar, modificar y redistribuir el código fuente permite que el software evolucione más rápidamente, que los usuarios lo adapten a sus propias necesidades, y que se corrijan antes posibles errores o vulnerabilidades, entre muchas otras cosas. El resultado de todo esto es software más seguro en general, más cercano al usuario y que se actualiza y corrige con mayor frecuencia que los programas cerrados. Algunos ejemplos conocidos y exitosos de proyectos de software de código abierto son: el sistema operativo GNU/Linux, la suite ofimática OpenOffice y el navegador web Mozilla Firefox.
Marcos Mainar Laborda
Código abierto (Open Source) es el término con el que se conoce al software distribuido y desarrollado libremente, cuyo código fuente está disponible públicamente bajo una licencia que permite a los usuarios la utilización del programa, así como la posibilidad de modificarlo y mejorarlo.
Todo software para ser considerado de código abierto debe cumplir las siguientes premisas:
1-Libre redistribución: el software debe poder ser regalado o vendido libremente.
2-Código fuente: el código fuente debe estar incluido u obtenerse libremente.
3-Trabajos derivados: la redistribución de modificaciones debe estar permitida.
4-Integridad del código fuente del autor: las licencias pueden requerir que las modificaciones sean redistribuidas sólo como parches.
5-Sin discriminación de personas o grupos: nadie puede dejarse fuera.
6-Sin discriminación de áreas de iniciativa: los usuarios comerciales no pueden ser excluidos.
7-Distribución de la licencia: deben aplicarse los mismos derechos a todo el que reciba el programa
8-La licencia no debe ser específica de un producto: el programa no puede licenciarse solo como parte de una distribución mayor.
9-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.
10-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.
Hoy en día es fácil encontrar alternativas de alta calidad para la mayoría de los software comerciales de utilización generalizada, así como para sistemas operativos. Filosofía
La idea que hay detrás del código abierto es sencilla: cuando los programadores en internet pueden leer, modificar y redistribuir el código fuente de un programa, éste evoluciona, se desarrolla y mejora. Los usuarios lo adaptan a sus necesidades, corrigen sus errores a una velocidad impresionante, mayor a la aplicada en el desarrollo de software convencional o cerrado, dando como resultado la producción de un mejor software. Por otro lado, el Software Libre funciona bajo un ideal: el software propietario, al no poder compartirse, es anti-ético dado que prohibir compartir entre seres humanos va en contra de las leyes naturales. Conceptos relacionados
**Software libre** es la denominación del software que brinda libertad a los usuarios sobre su producto adquirido y por tanto, una vez obtenido, puede ser usado, copiado, estudiado, modificado y redistribuido libremente.
GPL (General Public License) Es una licencia creada por la Free Software Fundation a mediados de los 80, y está orientada principalmente a proteger la libre distribución, modificación y uso de software. Su propósito es declarar que el software cubierto por esta licencia es software libre y protegerlo de intentos de apropiación que restrinjan esas libertades a los usuarios.
Virgilio Garcia Aparicio