Big Data

Qué son las herramientas de código abierto y de software libre

El código abierto se refiere a programas cuyo código fuente se pone a disposición para su uso o modificación, en función de lo que los usuarios y los desarrolladores consideren. Te contamos más.

Por Redacción España, el 23/12/2019

auto ¿Te ha gustado nuestro artículo? ¡Vota!

Las herramientas open source o de código abierto y de software libre son softwares desarrollados y distribuidos con una licencia que permite que cualquier persona pueda ver el código y utilizarlo libremente, sin restricciones. Detrás de este concepto, hay dos movimientos que apoyan el intercambio de ideas y la colaboración entre los expertos en aréas de la evolución de la informática y la tecnología.


Software libre y software de código abierto, ¿son lo mismo?

Software libre y software de código abierto son conceptos similares, pero no son exactamente lo mismo. En la mayoría de los casos, un software libre es, a su vez, de código abierto, y viceversa. Sin embargo, hay casos de open source que no son software libre. Detrás de cada concepto hay un movimiento diferente.

La diferencia entre ambos radica, sobre todo, en la filosofía de cada movimiento, con unas libertades específicas. Antes de ahondar en ellas, profundicemos en la historia del software libre y del código abierto.


Historia del software libre

La informática nació como la física o las matemáticas, en un encuadre de colaboración, en el que los expertos trabajaban sobre los descubrimientos de otros expertos. Sin embargo, entre los 60 y los 70, las compañías iniciaron un proceso de privatización, para garantizarse la exclusividad a la hora de comerciar con sus productos.

A finales de los 60, los programadores Dennis Ritchie y Ken Thompson trabajaban en los Laboratorios Bell de AT&T, en un proyecto experimental para la creación de un sistema operativo para la computadora GE-645 llamado Multics.

El proyecto no salió adelante, pero les sirvió de inspiración para la creación del sistema operativo Unics, después conocido como Unix, ejecutado en una computadora más potente, la DEC PDP-7.

Los laboratorios Bell se interesaron en el software, y pidieron a Ritchie y Thompson que lo desarrollaran para una computadora superior, la PDP 11/20. Para ello, los informáticos tuvieron que rehacer el proyecto, ya a finales de los 70. Unix estaba escrito con un lenguaje ensamblador y tuvieron que reescribirlo en lenguaje de programación C, para cuya creación se inspiraron en el B.

Unix se comercializó, y pasó así a disposición de muchas compañías, que continuaron su desarrollo en múltiples direcciones. Mac OS X, HP/UX, BSD o Xenix son versiones de Unix, de hecho.

Con la llegada de los 80, comenzaron a surgir movimientos a favor de la colaboración. Richard Stallman se planteó la opción de crear un sistema operativo similar a Unix pero que no fuera comercializado, es decir, que pudiera distribuirse libremente, un Software libre para una sociedad libre, como tituló el libro que publicó en el año 2002.

Con esta idea, en 1983 impulsó el proyecto GNU (GNU is Not Unix, GNU no es Unix). En este contexto se desarrolló un nuevo tipo de licencia, que recibió el nombre de GPL, General Public License. Esto implicaba que cualquier persona podía ver, editar y distribuir el código.

Una parte del sistema operativo GNU se desarrolló, pero hubo un estancamiento a la hora de crear el núcleo o kernel, la pieza fundamental en el engranaje. Hurd, el nombre que recibió ese núcleo, nunca vio la luz.

Sin embargo, el movimiento sirvió de inspiración para futuros programadores. A principios de los 90, Linus Torvalds, estudiante de la Universidad de Helsinki, comenzó a trabajar en su propio sistema operativo basándose en Minix, una versión más sencilla de Unix creada por Andrew Tanembaum.

Torvalds decidió tomar Minix como punto de partida para su creación y lanzó su proyecto a través de internet y la respuesta fue masiva. Los programadores usuarios de Unix se sumaron al proyecto Linux. En este caso, sí hubo núcleo, cuya primera versión se lanzó en 1994.

Linux y GNU eran compatibles. El núcleo de Linux se podía combinar con las herramientas que se habían desarrollado en el proyecto GNU (bibliotecas, compiladores, etcétera), y ambos tenían licencia GPL, por lo que los programadores podían hacer uso de ambos a sus anchas.

Así, se crearon múltiples distribuciones del sistema GNU-Linux, de las que, a su vez, surgieron más versiones. Por ejemplo, de Debian nacieron MEPIS, Ubuntu o Knoppix, entre muchas otras, de las que, a su vez, han surgido más versiones.


Historia del software de código abierto

Open_Source

En 1998, la filosofía del software libre estaba ya asentada. Sin embargo, una parte de la comunidad que la respaldaba no terminaba de estar de acuerdo con los principios que defendía, por lo que hubo una escisión dentro del movimiento. Así surgió la Iniciativa Open Source, impulsora del software de código abierto. Los principios que defiende esta corriente son más prácticos que ideológicos.

Detrás de esta corriente están Bruce Perens, Eric S. Raymond, John Hall o Larry Augustin, entre otros. Estos expertos pensaron que sería más sencillo hacer llegar la corriente al terreno empresarial si, en lugar de hablar de libertades y responsabilidades, creaban unas normas prácticas, sin entrar a cuestionar los principios que había detrás de esas reglas.


Libertades del software libre

De acuerdo con Richard Stallman, impulsor del movimiento de software libre, este concepto está relacionado exclusivamente con la libertad. Básicamente, tienes libertad para hacer lo que quieras con un programa de software libre y, hagas lo que hagas, el resultado también ha de ser un software libre. Así, de acuerdo con la Free Software Foundation, las cuatro libertades del software libre son:

  1. Libertad para ejecutar el programa.
  2. Libertad para estudiar y modificar el código fuente.
  3. Libertad para redistribuir copias exactas.
  4. Libertad para distribuir versiones modificadas del software.

La clave es que el software y sus versiones respeten esas cuatro libertades, lo que no quiere decir que no se pueda comercializar con ellos. Por ejemplo, puedes vender un software libre, siempre y cuando el código sea visible, ejecutable y modificable , y se pueda redistribuir como tal o modificado.

Puedes crear un software libre y cobrar por él, pero la persona a la que se lo vendas puede redistribuirlo como quiera, gratuitamente, cobrando el mismo precio o un precio distinto, etcétera.


Principios del software de código abierto

El movimiento open souce comparte una serie de principios (algunos son libertades, otros no). Son los siguientes:

  1. Libre distribución.
  2. Código fuente incluido o de libre obtención.
  3. Se permite la redistribución de versiones.
  4. Las licencias open source respetan la integridad del código fuente del autor, esto es, que pueden requerir que las versiones sean redistribuidas como parches (con otro nombre, para diferenciarlas de la original).
  5. La licencia no puede discriminar a ninguna persona.
  6. Los usuarios comerciales no pueden ser excluidos.
  7. Todos los receptores del software deben tener los mismos derechos.
  8. Una licencia open source no puede ser específica para un producto.
  9. Una licencia open source no puede restringir otro software (sea de código abierto o no).
  10. Una licencia open source debe ser tecnológicamente neutral, lo que implica que no puede requerir la aceptación de la licencia.


Diferencias entre código libre y código abierto

El objetivo de la corriente que defiende el software de código libre es muy parecido al de la que defiende el de código abierto. No obstante, es cierto que el movimiento open source es algo menos estricto.

La razón de ser del software libre tiene un trasfondo filosófico e implica una reflexión social: respetar la libertad por encima de todo, compartir el conocimiento y fomentar la cooperación. El open source es más pragmático: está más relacionado con la idea práctica de que el código fuente de un programa sea visible, accesible y editable.

Por tanto, existe una moralidad detrás del software libre, una filosofía que puede resultar incómoda en el contexto empresarial. Detrás del software de código abierto hay unas normas, menos profundas y cuestionables, destinadas a establecer una clasificación y no a fomentar una reflexión.

Al final, el objetivo del open source es puramente técnico, mejorar la eficiencia del código a través del trabajo colaborativo. El free source pretende promulgar una mejora social a través del acceso a la tecnología y al conocimiento.

TAGS:
Imagen del autor Redacción España

Equipo de redacción de B12 España: Marketing, Big Data, Inteligencia Artificial y Ventas.

Ponte en contacto con nosotros:

+52 (55) 4774 1185

mexico@agenciab12.com

Ejército Nacional #579 - Piso 1, Colonia Granada, Alcaldía Miguel Hidalgo, 11520, CDMX, México.