De qué va esto del Software de Código Abierto u Open Source

 

.   . .  .

De qué va esto del Software de Código Abierto u Open Source

El software de código abierto es una opción muy popular entre los usuarios debido a que ofrece una visión transparente del código fuente y la libertad de acceder, alterar y reutilizar ese código. Es una grandísima diferencia con respecto al software propietario, que no permite nada de esto.

Además, el software se ofrece de una forma "libre", lo que lo convierte en una opción aún más atractiva para los desarrolladores.

Software de Código Abierto u Open Source Software

¿ Y por qué hemos puesto lo de "libre" entre comillas ?

A continuación vamos a exponer la explicación, junto con algunas otras preguntas con las que nos encontramos a menudo con lo que respecta al código abierto ( un tema muy en boga ahora mismo y que creemos que vale la pena repasar ).

Bien, entonces ¿ por qué hemos dicho que el Open Source es "libre", entre comillas, pero no que sea libre simplemente ? ¿ Es libre o no es libre ?

La respuesta es ... ¡ SÍ !
Sin embargo, todavía hay confusión sobre si el Open Source Software o Software de Código Abierto y el Free Software o Software Libre son la misma cosa - y la respuesta a eso es: Sí y No.

Para dar un poco de contexto sobre esto, el término "código abierto" fue acuñado para hacer más atractivo el término de "software libre". Los partidarios de esta denominación ven al software de código abierto como una mejor manera de desarrollar software.

Los partidarios del término "software libre" valoran la libertad, y no sólo la manera en que se desarrolla el código del software.

Para que un programa sea considerado Software Libre, ha de reunir todas y cada una de las cuatro libertades esenciales:

  • Libertad 0 : es la libertad de ejecutar el programa con cualquier propósito y como se desee.

  • Libertad 1 : es la libertad de poder estudiar cómo funciona el programa, y cambiarlo si así

    se quiere para que haga lo que uno quiera que haga. El acceso al código fuente es una

    condición necesaria para ello.

  • Libertad 2 : es la libertad de redistribuir copias para ayudar a otros.

  • Libertad 3 : es la libertad de distribuir copias de sus versiones modificadas a terceros.

    Esto le permite ofrecer a toda la comunidad la oportunidad de beneficiarse de las modificaciones. La Libertad 3 no puede existir sin la Libertad 1.

     

Para profundizar más y mejor en estos conceptos, se recomiendo la lectura del artículo en GNU.org sobre software libre

Es importante, para no inducir a la confusión, que Software libre, y esto es muy importante que quede claro, no significa que «no sea comercial».

Un programa libre debe estar disponible para su uso, programación y distribución comercial.

Se puede pagar por obtener copias de software libre, y también se puede haber obtenido copias sin costo alguno. Pero independientemente de cómo se hayan obtenido esas copias, siempre se tendrá la libertad de copiar y modificar el software, e incluso de vender esas copias y modificaciones.

Por tanto, el software libre nada tiene que ver con el precio. Nada. En el caso del software, free o libre siempre hará referencia que el usuario es libre de ejecutar, estudiar, modificar y redistribuir el programa con o sin cambios.

 

Entonces, ¿ cuáles son las premisas para considerar a un programa Open Source ?

Se califica como Open Source a aquellos programas informáticos que permiten el acceso a su código fuente de programación, es decir, que tienen el código “abierto” a quien lo quiera mirar. Y esta característica esencial hace que se facilite el poder hacer modificaciones por parte de otros programadores ajenos a los creadores en orígen de ese software.

El software de código abierto, es aquel cuyo código fuente forma parte del dominio público y cuyo propietario de los derechos de autor como desarrollador permite a los usuarios utilizar, cambiar y redistribuir el software a cualquiera, y para cualquier propósito, ya sea en su forma modificada o en su forma original, al tener publicado su software bajo una licencia de código abierto.

Una característica más : normalmente el software de código abierto se desarrolla de una manera colaborativa y los resultados se publican de forma abierta en internet.

 

Open Source Software vs. Free Software

Por tanto emplear el término de Free Software / Software Libre o emplear el de Open Source / Código Abierto depende simplemente, en esencia, de la visión que cada uno pueda tener de ese software.

Ambos términos, por tanto, se dan la mano, y en otro artículo hablaremos de los programas libres y de codigo abierto, más conocidos popularmente por su abreviatura anglosajona FOSS.

Sintetizando todo esto, el software libre se enfoca en las libertades filosóficas que les otorga a los usuarios, mientras el software de código abierto se enfoca en las ventajas de su modelo de desarrollo.

 

Entonces si el código fuente es tan valioso, ¿ por qué no reconvertir los archivos ejecutables binarios de las soluciones privadas ?

Aunque los efectos del proceso de compilación pueden a veces ser revertidos usando una herramienta de descompilación, en el caso de los programas privativos la complejidad de este proceso significa que normalmente es unidireccional por naturaleza. ( Piensa por ejemplo en tratar de convertir un pastel ya horneado de nuevo a sus ingredientes originales ).

En cualquier caso, independientemente de los medios técnicos que se utilicen, se podría llegar a recrear el código fuente a partir de un archivo binario, pero resulta que muchas licencias de software propietario lo prohíben expresamente, por lo que sería un delito.

 

Pero entonces, ¿ qué ganan las empresas que ofrecen software de código abierto ?

El espíritu de la comunidad de código abierto es que si el software dispone de una transparencia total entonces es algo bueno.

Los desarrolladores y distribuidores open source o software libre se fundamentan en la creencia de que poner a disposición de cualquiera que lo requiera el código desarrollado, permitirá a los usuarios añadir mejoras, lo que resultará en que los programas sean mejore, y por tanto es algo que de lo que todos nos podemos beneficiar.

 

Todo esto suena bien hasta ahora, pero ... ¿ cuáles son los inconvenientes de un enfoque de código abierto ?

Los problemas asociados con el código abierto los tienen bien documentados los opositores al mismo.

Algunos de los más comunes son:

  • La naturaleza no centralizada del desarrollo y la distribución de código abierto ( limitando las posibilidades de tener a alguien a quien culpar si las cosas van mal e introduciendo un grado de riesgo en el futuro desarrollo de aplicaciones individuales ).
  • Los costes ocultos existentes a pesar del coste de adquisición que a menudo es inexistente ( como el reciclaje del personal ).
  • La falta de instrumentos y documentación de fácil utilización y la negligencia en cuanto a la importancia de las interfaces de usuario intuitivas.
  • El rápido ritmo de los cambios en el software de código abierto, derivado de la enorme base de programadores que contribuyen al mismo.
  • El riesgo de que el software de código abierto se estanque debido a la distracción de los desarrolladores, a la pérdida de motivación, o a la falta de recursos.

Aunque en muchas circunstancias podrían tener razón y estar en lo cierto, estas críticas de ninguna manera son aplicables de forma universal ni en todos los casos.

Por regla general según la naturaleza del problema a resolver, la opción más adecuada unas veces será el código abierto y otras serán las alternativas propietarias.

 

¿Qué podemos esperar en el futuro del código abierto?

Actualmente, la adopción a gran escala de software de código abierto y de formatos abiertos sigue siendo, en comparación con las alternativas propietarias, bastante baja.

La mentalidad de "seguir a la multitud" es una estrategia razonable para asegurar la longevidad de los recursos propios: si hay suficientes personas con un interés personal en el apoyo continuo a un producto de software en particular, entonces las empresas comerciales pueden obtener beneficios atractivos al asegurar que siga disponible.

En última instancia, la mayoría de los usuarios sólo considerarán la adopción del código abierto si las propias herramientas son suficientemente robustas, utilizables, económicamente viables y funcionalmente ricas para satisfacer sus necesidades de investigación, comerciales o de organización.

Es menos probable que las cuestiones de transparencia y accesibilidad a largo plazo figuren entre las prioridades de los creadores de código que favorezcan la facilidad de uso y la funcionalidad, pero deberían tener una importancia cada vez más alta entre las jerarquías institucionales y un poco más adelante en el ciclo de vida digital.

A medida que el código abierto siga mejorando en lo que respecta a las expectativas de los usuarios finales, es probable que los beneficios de la libertad y la apertura se aprovechen cada vez más en favor de alternativas opacas y difíciles de gestionar.

A su vez, es probable que los distribuidores de código propietario se sientan motivados para incluir en sus propios productos características mucho más transparentes.

 

Para terminar, pregúntate :

¿ Qué crees que el futuro le pueda deparar al Open Source ?
¿ Crees que los distribuidores de soluciones propietarias se moverán hacia una mayor transparencia a medida que los beneficios de la libertad del código abierto siga ganando cada vez más y más adeptos ?