¿Qué es el software de código abierto? Código abierto y FOSS explicado

Subyacente a cada pieza de software que utiliza está el código fuente que emite los comandos y maneja los datos que permiten que el software haga lo que hace. La cuestión de quién debería tener el derecho de mirar, alterar o redistribuir ese código fuente ha sido durante mucho tiempo una de las divisiones ideológicas fundamentales dentro del mundo de la informática.

Los defensores del software de código abierto, como su nombre lo indica, se ponen del lado de la apertura; sienten que las personas deberían tener derecho a acceder al código fuente del software que utilizan. Sin embargo, como veremos, en la práctica hay mucha variedad que cae bajo esa etiqueta. Existen varios tipos de software de código abierto en casi todos los nichos que se te ocurran; de hecho, el código abierto domina a muchos de ellos.

¿Qué es el software de código abierto, qué es el software libre y son diferentes?

Una definición sucinta del software de código abierto es que es un software cuyo código subyacente puede ser examinado, alterado y redistribuido. (Hay una definición más larga y más oficial a la que llegaremos en un momento). Las partes "alteradas y redistribuidas" son realmente clave para la filosofía del código abierto. A pesar de lo que pueda implicar el nombre, simplemente abrir su código fuente para que la gente pueda verlo no lo hace de código abierto.

De alguna manera, el término "software de código abierto" es un retrónimo: en las primeras décadas de la informática, el código fuente del software estaba disponible de forma habitual e intercambiado libremente entre investigadores y científicos de la industria. Las computadoras eran pocas y distantes y se esperaba que sus usuarios las modificaran ampliamente, por lo que las personas necesitaban acceso al código. En muchos sentidos, el software fue visto como un complemento para el hardware de la computadora; No fue hasta 1974 que se estableció legalmente que el software estaba sujeto a derechos de autor. Pero a medida que la era de las microcomputadoras comenzó a fines de la década de 1970, la industria comenzó a cambiar a la posición de que el software era algo que tenía un valor monetario en sí mismo, y que el acceso al código subyacente podía y debía restringirse para proteger a los creadores de software. ' derechos. La famosa carta abierta de 1976 de Bill Gates a los aficionados que se quejan de la piratería generalizada del primer producto de Microsoft, el intérprete BASIC de Altair, es un documento decisivo de este cambio.

Si bien estas nuevas ideas fueron tomadas rápidamente por la industria del software en rápido crecimiento, algunas personas se opusieron. Uno de los primeros opositores fue Richard Stallman, quien fundó la Free Software Foundation (FSF) en 1985. El "libre" en el software libre está destinado a denotar la libertad de los usuarios para alterar y distribuir el código que quieran; No hay ninguna regla en contra de cobrar dinero por software libre en este sentido. A menudo se distingue entre "libre como en cerveza gratis" y "libre como en libre expresión", con el software libre en el último campo.

Aún así, la idea del software libre puso nerviosa a muchas personas en la industria privada, quienes, después de todo, no eran fanáticos de regalar cosas. En 1998, Christine Peterson acuñó la frase "código abierto" en parte como un intento de hacer la idea más accesible para los recién llegados, particularmente aquellos que trabajan en compañías con fines de lucro. Aunque Stallman se ha resistido al término de código abierto, diciendo que se aleja de las ideas políticas y filosóficas originales del software libre, se ha convertido en la frase dominante que describe este concepto. El diagrama de Venn de software libre y de código abierto se superpone lo suficiente como para que a veces los dos se combinen bajo el acrónimo FOSS (software libre y de código abierto). En general, todo el software libre es de código abierto, aunque una pequeña porción del software de código abierto tiene términos de licencia, lo que significa que no es gratuito (más información sobre licencias de código abierto en un momento).

El concepto de software libre y de código abierto dio lugar a otra definición de retrónimo: "software propietario" cualquier software que no sea de código abierto.

Licencias de software de código abierto

Todos los derechos y responsabilidades involucrados en el software de código abierto están establecidos por las licencias bajo las cuales se distribuye el software. A medida que se estableció la doctrina legal de que el software estaba sujeto a derechos de autor, las licencias de software comenzaron a redactarse para proporcionar un contrato entre el propietario de los derechos de autor y el usuario, dándole al usuario permiso para ejecutar el software en una computadora personal.

Las licencias de software existían originalmente para restringir el comportamiento del usuario y proteger los derechos del fabricante del software. Pero los defensores del software libre se dieron cuenta de que podían invertir el propósito original de las licencias: la licencia de un paquete de software podría requerir que el código subyacente esté disponible para cualquier persona que use el software, y que los usuarios tenían el derecho de editar y redistribuir ese código. La primera licencia de software de código abierto (aunque es anterior al término) es probablemente la Aviso de permiso de copia de GNU Emacs, lanzado en 1985 para la versión del editor de texto Emacs escrito por Stallman de FSF.

Desde entonces, la cantidad de licencias gratuitas y de código abierto ha proliferado, cada una con términos ligeramente diferentes para el uso del código con licencia; Wikipedia mantiene un cuadro bastante bueno con detalles sobre las licencias más importantes. Por definición, cualquiera de estas licencias de código abierto otorga a los usuarios las tres libertades fundamentales de poder leer, editar y redistribuir el código fuente; El área principal donde difieren es en los términos que imponen a la redistribución:

Es interesante notar que las ideas detrás de estas licencias se han extendido más allá del mundo del software. Creative Commons es una infraestructura legal para aplicar términos similares a obras artísticas escritas o visuales.

La definición de código abierto y la iniciativa de código abierto

El código abierto, por su propia naturaleza, no está controlado por una sola entidad u organización. En 1998, un grupo de desarrolladores destacados, incluidos Bruce Perens y Eric S. Raymond, fundaron Open Source Initiative (OSI), una organización sin fines de lucro dedicada a la defensa del código abierto dentro de la industria del software más grande. El OSI intentó y no logró marcar el término código abierto en 1999; sin embargo, su definición de código abierto formal es, por consenso, el marco que siguen todas las licencias que se denominan código abierto. Además de la libertad de examinar, modificar y redistribuir el código que ya hemos discutido, la definición de código abierto prohíbe las licencias que discriminan a grupos o personas específicos, que impiden que el código se use para un propósito específico o campo de actividad, o de ejecutarse en un dispositivo específico o tipo de dispositivo.

Desarrollo de código abierto y proyectos de código abierto.

El desarrollo con código fuente abierto se lleva a cabo en todo tipo de entornos, desde universidades hasta grandes corporaciones, y a menudo sigue los mismos patrones que cualquier otro tipo de desarrollo de software. Pero hay un tipo específico de proceso de desarrollo comunitario abierto que está asociado con el código abierto. En su influyente ensayo "La Catedral y el Bazar ”, Eric S. Raymond describió su visión para este proceso, donde cualquiera puede acceder al código, y se agregan actualizaciones a la base de código de un grupo ampliamente distribuido de desarrolladores que entran y salen según lo dicte su interés.

El desarrollo de código abierto de este tipo se organiza en torno a proyectos de código abierto.. Estos a veces funcionan en una sola pieza de software y, a veces, en un conjunto completo de aplicaciones relacionadas. El software de control de versiones mantiene las contribuciones de todos en línea. GitHub es probablemente el más popular.

A veces iniciados por una sola persona, los proyectos de código abierto generalmente son pequeñas comunidades de Internet autoorganizadas, y aunque cualquiera puede contribuir a cualquier proyecto, la mayoría de las veces son desarrolladas por un conjunto relativamente pequeño de desarrolladores. A veces, un proyecto puede ser patrocinado por una compañía con fines de lucro que planea usar el software que produce, incluso llegando a poner a los desarrolladores más destacados del proyecto en la nómina.

Ejemplos de código abierto

El software de código abierto es de hecho omnipresente y crea gran parte de la base de la Internet moderna. Quizás el proyecto de código abierto más famoso es Linux, la variante de código abierto de Unix que alimenta a millones de servidores. Otros proyectos destacados y extremadamente cruciales incluyen el servidor web Apache, la base de datos MySQL y WordPress. Numerosos marcos de desarrollo se lanzan como código abierto, desde Ruby on Rails hasta .Net Core de Microsoft.

El código abierto ha tenido menos éxito en la producción de software para el hogar destinado a usuarios comunes. A pesar del alto costo de los paquetes de software patentados como Microsoft Word y Adobe Photoshop, sus contrapartes de código abierto como OpenOffice y GIMP nunca lograron encontrar un nicho más allá de los entusiastas entusiastas, en gran parte porque la comunidad de código abierto ha priorizado tradicionalmente las características y la flexibilidad sobre la facilidad de utilizar. (El bloqueo de formato de archivo de proveedores propietarios no ha ayudado). Incluso Linux, cuyos defensores han afirmado desde fines de la década de 1990 que el sistema operativo de código abierto está a solo un año de dominar el escritorio, nunca ha logrado saltar al espacio de consumo En general, el código abierto se usa para la infraestructura mucho más que para el software del usuario final. Pero el movimiento del software monolítico que ejecuta localmente a aplicaciones SaaS ha sido una bendición para el código abierto, ya que las infraestructuras basadas en la nube se basan principalmente en pilas dominadas por código abierto.

¿Recuerdas lo que dijimos sobre las empresas con fines de lucro que respaldan el código abierto? A menudo, esos proyectos se producen bajo una licencia permisiva, por lo que esas empresas pueden poner el código fuente abierto en el centro de sus ofertas propietarias mientras mantienen una base de código fuente separada en paralelo como un proyecto comunitario. Por ejemplo, el sistema operativo móvil Android tiene Linux en su núcleo; Todos los sistemas operativos móviles y de escritorio de Apple se basan en Darwin, un sistema operativo de código abierto originalmente derivado de BSD Unix. Incluso el Chrome de Google se basa en un navegador de código abierto llamado Chromium.

La comunidad de código abierto y el movimiento de código abierto

El código abierto es más que un simple proceso de desarrollo; Es una filosofía que apasiona a las personas, y es una comunidad social a la que cualquier persona con habilidades de programación puede unirse. De hecho, es toda una serie de comunidades, como dice la Fundación Linux. (La existencia de organizaciones sin fines de lucro como Linux Foundation y OSI es un aspecto importante de esa comunidad). Florian Effenberger tiene un gran ensayo sobre cómo la comunidad de código abierto enriqueció su vida.

A menudo escuchará a la gente hablar sobre el movimiento de código abierto o software libre, que tiene una connotación de política y defensa. Muchas personas en la comunidad de código abierto han presionado para la adopción generalizada de software de código abierto por una variedad de razones: piensan que el código abierto produce un código inherentemente mejor, o creen que el acceso al código fuente es un derecho fundamental que los usuarios de computadoras deberían disfrutar, o alguna combinación de los dos. Este aspecto de la comunidad parece un poco menos visible hoy, pero tal vez sea porque, en muchos sentidos, el código abierto ha ganado. En 2001, el entonces CEO de Microsoft Steve Ballmer dijo que, debido a su licencia de código abierto, Linux era "un cáncer que se adhiere en un sentido de propiedad intelectual a todo lo que toca". Hoy, Microsoft es un usuario extenso y productor de software de código abierto. Esas son las últimas dos décadas de historia de código abierto en pocas palabras.

Descarga de software de código abierto

¿Desea comenzar a navegar y jugar con proyectos de código abierto? Visite la página de Proyectos y aplicaciones de opensource.com, la pestaña Explorar de GitHub o el Mapa de software de la Red de desarrollo de código abierto. Hay mucho para personas curiosas de cualquier nivel de habilidad.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *