7Jul

¿Qué es el software de código abierto y por qué es importante?

Los geeks a menudo describen los programas como de "código abierto" o "software libre". Si se pregunta exactamente qué significan estos términos y por qué son importantes, siga leyendo.(No, el "software libre" no solo significa que puede descargarlo gratis.)

Ya sea que un programa sea de código abierto o no, no solo le importa a los desarrolladores, en última instancia también es importante para los usuarios. Las licencias de software de código abierto otorgan a los usuarios libertades que de otro modo no tendrían.

Crédito de la imagen: Quinn Dombrowski en Flickr

Definición de código abierto

Si un programa es de código abierto, su código fuente está disponible libremente para sus usuarios. Sus usuarios, y cualquier otra persona, tienen la capacidad de tomar este código fuente, modificarlo y distribuir sus propias versiones del programa. Los usuarios también tienen la capacidad de distribuir tantas copias del programa original como quieran. Cualquiera puede usar el programa para cualquier propósito;no hay tarifas de licencia u otras restricciones sobre el software. El OSI tiene una definición más detallada de "código abierto" en su sitio web.

Por ejemplo, Ubuntu Linux es un sistema operativo de código abierto. Puede descargar Ubuntu, crear tantas copias como desee y dárselas a sus amigos. Puede instalar Ubuntu en una cantidad ilimitada de sus computadoras. Puede crear remixes del disco de instalación de Ubuntu y distribuirlos. Si estaba particularmente motivado, podría descargar el código fuente de un programa en Ubuntu y modificarlo, creando su propia versión personalizada de ese programa, o de Ubuntu mismo. Todas las licencias de código abierto le permiten hacer esto, mientras que las licencias de código cerrado le imponen restricciones.

Lo opuesto al software de código abierto es el software de código cerrado, que tiene una licencia que restringe a los usuarios y mantiene el código fuente de ellos.

Firefox, Chrome, OpenOffice, Linux y Android son algunos ejemplos populares de software de código abierto, mientras que Microsoft Windows es probablemente la pieza más popular de software de código cerrado que existe.

Open Source vs. Free Software

Las aplicaciones de código abierto generalmente están disponibles libremente, aunque no hay nada que impida que el desarrollador cobre por las copias del software si permite la redistribución de la aplicación y su código fuente después.

Sin embargo, eso no es a lo que se refiere el "software libre".Lo "libre" en software libre significa "libre como en libertad", no "gratis como en cerveza". El campamento de software libre, dirigido por Richard Stallman y la Free Software Foundation, se enfoca en la ética y la moral del uso de software que puede sercontrolado y modificado por el usuario. En otras palabras, el campamento de software libre se centra en las libertades de los usuarios.

Richard Stallman. Imagen de Fripog en Flickr.

El movimiento de software de código abierto se creó para centrarse en razones más pragmáticas para elegir este tipo de software. Los defensores de código abierto querían centrarse en los beneficios prácticos del uso de software de código abierto que atraería más a las empresas que a la ética y la moral.

En última instancia, tanto los defensores del software libre como los de código abierto están desarrollando el mismo tipo de software, pero no están de acuerdo con los mensajes.

Tipos de licencias

Existen muchas licencias diferentes que utilizan los proyectos de fuente abierta, según el programa que prefieran los desarrolladores.

La GPL, o Licencia pública general de GNU, es ampliamente utilizada por muchos proyectos de código abierto, como Linux. Además de todas las definiciones anteriores de código abierto, los términos de la GPL especifican que, si alguien modifica un programa de código abierto y distribuye un trabajo derivado, también debe distribuir el código fuente para su trabajo derivado. En otras palabras, nadie puede tomar el código de código abierto y crear un programa de código cerrado a partir de él; deben devolver sus cambios a la comunidad. Microsoft se refirió a la GPL como "viral" por esta razón, ya que obliga a los programas que incorporan código GPL a liberar su propio código fuente. Por supuesto, los desarrolladores de un programa pueden optar por no utilizar el código GPL si esto es un problema.

Algunas otras licencias, como la licencia BSD, imponen menos restricciones a los desarrolladores. Si un programa tiene licencia bajo la licencia BSD, cualquiera puede incorporar el código fuente del programa en otro programa. No tienen que devolver sus cambios a la comunidad. Algunas personas ven que esto es aún más "gratuito" que la licencia GPL, ya que les da a los desarrolladores la libertad de incorporar el código en sus propios programas de código cerrado, mientras que otras personas lo ven como menos "libre" porque quita los derechosde los usuarios finales del programa derivado.

Beneficios para los usuarios

Esto no es todo lo seco y sin importancia que solo le importa a los desarrolladores. El beneficio más obvio del software de código abierto es que se puede tener de forma gratuita. El ejemplo de Ubuntu Linux anterior lo deja claro: a diferencia de Windows, puede instalar o distribuir tantas copias de Ubuntu como desee, sin restricciones. Esto puede ser un servidor particularmente útil: si está configurando un servidor, puede instalar Linux en él.si está configurando un clúster virtualizado de servidores, puede duplicar fácilmente un solo servidor Ubuntu. No tiene que preocuparse por las licencias y cuántas instancias de Linux puede ejecutar.

Un programa de código abierto también es más flexible. Por ejemplo, la nueva interfaz de Windows 8 decepcionó a muchos usuarios de escritorio de Windows desde hace mucho tiempo. Como Windows es de código cerrado, ningún usuario de Windows puede tomar la interfaz de Windows 7, modificarla y hacer que funcione correctamente en Windows 8.( Algunos usuarios de Windows lo intentan, pero este es un proceso minucioso de ingeniería inversa y modificación de archivos binarios.)

Cuando un escritorio Linux como Ubuntu presenta una nueva interfaz de escritorio de la que algunos usuarios no son fanáticos, los usuarios tienen más opciones. Por ejemplo, cuando se lanzó GNOME 3, muchos usuarios de escritorio de Linux fueron igualmente desactivados. Algunos tomaron el código de la versión anterior, GNOME 2, y lo modificaron para que se ejecutara en las últimas distribuciones de Linux, esto es MATE.Algunos tomaron el código para GNOME 3 y lo modificaron para hacerlo funcionar de la manera que prefirieran: esto es Cinnamon. Algunos usuarios simplemente cambiaron a escritorios alternativos existentes. Si Windows fuera de código abierto, los usuarios de Windows 8 tendrían más opciones y flexibilidad. Simplemente eche un vistazo a CyanogenMod, una popular distribución de Android impulsada por la comunidad que agrega funciones y soporte para nuevos dispositivos. El software

de código abierto también permite a los desarrolladores "respaldar a gigantes" y crear su propio software. Sea testigo de Android y Chrome OS, que son sistemas operativos basados ​​en Linux y otros softwares de código abierto. El núcleo del OS X de Apple, y por lo tanto iOS, también se creó con código de código abierto. Valve está trabajando furiosamente para portar su plataforma de juegos Steam a Linux, ya que esto les permitiría crear su propio hardware y controlar su propio destino de una manera que no es posible en Windows de Microsoft.

Esta no es una descripción exhaustiva, se han escrito libros completos sobre este tema, pero ahora debería tener una mejor idea de qué es realmente el software de código abierto y por qué es útil para usted.