¿Hay alguna diferencia entre el software libre y el software de código abierto?

65

Estoy un poco confundido acerca de estos dos términos. ¿Hay diferencias entre ellos?

Mysterio
fuente
1
Muy bien con todo el debate en curso. La inclusión de ejemplos será genial
Mysterio
1
Wow, estoy sorprendido de cómo esta pregunta ha despegado. Habrá excelentes respuestas saliendo de esto, sin duda. Puede ser una de las mejores preguntas en este sitio.
Christopher Kyle Horton el
1
Gran conjunto de información sobre los dos términos. Excelente retroalimentación de una excelente comunidad
Mysterio

Respuestas:

94

Los términos software libre y software de código abierto significan cosas diferentes, aunque las categorías de software a las que se refieren son casi exactamente las mismas.

¿Qué es el software libre?

El software libre se define en términos de libertad (no de precio ), y no es lo mismo que el software gratuito . La idea es que existen ciertas libertades por parte de los usuarios que el software libre respeta (pero que el software no libre, también llamado software propietario , no respeta). Esto incluye la libertad de usar y estudiar el software, así como distribuirlo y mejorarlo.

La Free Software Foundation es una organización de defensa y activismo para el software libre, financia y apoya el proyecto GNU (que desarrolla una fracción significativa del software que se destina a distribuciones GNU / Linux como Ubuntu) y es el autor de la organización de muchos de los licencias de software libre más populares , incluida la Licencia Pública General GNU . La FSF define el software libre como un software que respeta las cuatro libertades , que cito aquí [linkifications mine]:

(0) La libertad de ejecutar el programa, para cualquier propósito (libertad 0).

(1) La libertad de estudiar cómo funciona el programa y cambiarlo para que haga su computación como desee (libertad 1). El acceso al código fuente es una condición previa para esto.

(2) La libertad de redistribuir copias para que pueda ayudar a su vecino (libertad 2).

(3) La libertad de distribuir copias de sus versiones modificadas a otros (libertad 3). Al hacer esto, puede darle a toda la comunidad la oportunidad de beneficiarse de sus cambios. El acceso al código fuente es una condición previa para esto.

Otra fuente útil e importante sobre lo que constituye y no constituye software libre son las Directrices de software libre de Debian (del proyecto Debian , la distribución GNU / Linux de la que se deriva Ubuntu , consulte también este artículo ).

No es necesario suscribirse a ninguna ideología particular para usar y defender el software libre. Pero la base ideológica del software libre es la idea de que estas libertades son inherentemente buenas (o al menos buenas por razones políticas importantes externas a las cuestiones técnicas de calidad y rentabilidad del software), que las personas tienen la obligación de respetar estas libertades, y que el software debe ser juzgado en gran parte por si respeta o no estas libertades. No todos los usuarios de software libre son inflexibles con respecto a estas libertades, y algunos creen en su importancia pero solo de manera limitada, pero muchos usuarios se dedican a ellos y comprenden el movimiento del software libre .

¿Qué es código abierto?

Algunos defensores del software libre pensaron que era bueno por otras razones: específicamente, la idea de que, debido a que la libertad facilita la colaboración, el software libre tiene una ventaja sobre el software propietario y, a menudo, tiende a ser técnicamente superior. Algunos pensaron que la libertad es inherentemente importante pero no tan importante como desarrollar software técnicamente bueno, o que la libertad es tan importante o más importante que desarrollar software técnicamente bueno, pero que era importante abogar por la adopción de software libre por otros motivos para sea ​​efectivo.

Así, nació el movimiento de código abierto . Una de las ideas que se incluyó en este movimiento es la noción de que la promoción dirigida a las empresas debe enfatizar los méritos técnicos y la rentabilidad de los modelos de desarrollo abiertos (gratuitos), en lugar de hablar sobre cuestiones éticas o políticas. La Open Source Initiative se formó como una organización de defensa del movimiento de código abierto y para identificar y aprobar formalmente las licencias como código abierto. La definición de código abierto de OSI se basa directamente en las Directrices de software libre de Debian, lo que no debería sorprender, ya que la categoría real de software que se considera libre es casi exactamente la misma que la categoría real de software que se considera de código abierto.

Las antiguas preguntas frecuentes de Open Source Initiative expresan tanto las similitudes sustanciales como los diferentes puntos de vista entre el software libre y las ideologías de código abierto :

Open Source Initiative es un programa de marketing para software libre. Es un argumento para el "software libre" sobre bases pragmáticas sólidas en lugar de golpes ideológicos. La sustancia ganadora no ha cambiado, la actitud perdedora y el simbolismo sí.

¿Cómo se comparan / contrastan las ideologías del software libre y el código abierto en la práctica?

Si bien las ideologías detrás del software libre y el software de código abierto son diferentes, o al menos se mencionan de manera bastante diferente, identificar específicamente cómo difieren los términos, ya que se usan prácticamente en las comunidades, es un poco más complicado. Dado que se refieren a casi exactamente la misma categoría de software, las personas tienden a elegir el término que consideren mejor, ya sea por razones de claridad, ideología, aprobación social, hábito u otras razones. Además, aunque el software libre y las ideologías de código abierto son distintas, también hay puntos de vista que parecen unir los dos, o al menos difuminar dónde termina uno y comienza el otro. Por ejemplo, en su prólogo a la edición de bolsillo compendio de Eric S. Raymond 's La catedral y el bazar (ISBN 0-596-00108-8),Bob Young escribió:

La libertad no es un concepto abstracto en los negocios.

El éxito de cualquier industria está casi directamente relacionado con el grado de libertad que disfrutan los proveedores y los clientes de esa industria. Simplemente compare la innovación en el negocio telefónico de los EE. UU., Ya que AT&T perdió su control de monopolio sobre los consumidores estadounidenses con el ritmo lento de innovación cuando esos clientes no tenían libertad para elegir.

Esto podría decirse que no hace referencia directa a cuestiones éticas y políticas. Pero considere una de las consideraciones algo similares citadas por el congresista peruano Edgar Villanueva al explicar su impulso para que el estado use software gratuito en lugar de propietario ( traducción al inglés de Graham Seaman, también alojada aquí , con original aquí ):

Con respecto a los trabajos generados por el software propietario en países como el nuestro, se refieren principalmente a tareas técnicas de poco valor agregado; A nivel local, los técnicos que brindan soporte para software propietario producido por compañías transnacionales no tienen la posibilidad de corregir errores, no necesariamente por falta de capacidad técnica o de talento, sino porque no tienen acceso al código fuente para corregir eso. Con el software libre, uno crea más empleos técnicamente calificados y un marco de competencia libre donde el éxito solo está vinculado a la capacidad de ofrecer un buen soporte técnico y calidad de servicio, uno estimula el mercado y uno aumenta el fondo compartido de conocimiento, abriendo alternativas para generar servicios de mayor valor total y un mayor nivel de calidad, en beneficio de todos los involucrados: productores,

Dado que las consecuencias prácticas de la adopción del software libre incluyen ramificaciones políticas y morales (en este caso, argumenta Villanueva, el empoderamiento intelectual y económico del pueblo peruano), hay cierta superposición en el software libre y el pensamiento de código abierto (así como una superposición casi completa en recomendaciones de software).

Uno de los objetivos iniciales y explícitos del movimiento de código abierto fue quitar el énfasis explícitamente a la defensa de la libertad , como se expresó al principio de este artículo :

La implicación de esta etiqueta es que pretendemos convencer al mundo corporativo para que adopte nuestro camino por razones económicas, egoístas y no ideológicas.

Pero otra razón motivadora original para adoptar un término alternativo fue la idea de que el término código abierto era menos confuso que el término software libre , ya que la palabra inglesa "gratis" también puede significar "gratis", es decir, "tener un precio de cero". . Ver este ensayo fundamental . Eso atrajo a algunas personas que se sintieron más atraídas por el software libre por razones éticas o políticas que por la creencia de que era un mejor modelo de desarrollo o modelo de negocio, pero que estuvieron de acuerdo en que el término "software libre" era insuficiente y debería ser reemplazado. . Si bien este término ha resultado confuso, el término "código abierto" también ha resultado confuso, que el término "código abierto" es intrínsecamente más confuso y menos descriptivo de manera adecuada.

¿Qué término debo usar?

Cuando (empiezo a) escribir esto, ya hay cinco respuestas publicadas para esta pregunta. Dos de ellos ( esto y esto ) son básicamente correctos en sus caracterizaciones de código abierto, y uno de ellos es básicamente correcto en su caracterización de software libre y otro casi correcto. (Tenga en cuenta que estas respuestas pueden haber sido editadas, por lo que esto no debe tomarse como un juicio de ellas en su estado actual). Si bien admito que el muestreo aquí no es concluyente, sugeriría que cada uno de nosotros use el término s / él prefiere por razones distintas a la claridad, ya que ambos términos están rodeados de una confusión sustancial.

Para situaciones en las que es conveniente referirse simultáneamente a los conceptos (ya superpuestos) de software libre y software de código abierto, existen los términos sinónimos F / OSS (software de código abierto / libre), FOSS (software de código abierto [y] libre) y FLOSS (software libre / libre / de código abierto). Consulte este artículo sobre esos términos, así como este artículo sobre el tema más general de términos alternativos para software libre.

¿Existe software libre que no sea de código abierto?

Probablemente no. Siguiendo la definición de software libre y la definición de código abierto , la libertad 0 probablemente requiera los criterios OSD 5, 6, 7, 8, 9 y 10; la libertad 1 requiere el criterio OSD 2 (y posiblemente 7); Freedom 2 probablemente requiere los criterios OSD 1, 7, 8 y 9; y Freedom 3 probablemente requiere los criterios OSD 1, 2, 3, 4, 7, 8 y 10.

¿Existe software de código abierto que no sea gratuito?

Siguiendo las definiciones, sí, porque con la excepción del requisito de proporcionar código fuente, la definición de código abierto solo se refiere a lo que puede requerir una licencia. En contraste, según la definición de software libre , para que el software sea libre, en realidad debe ser posible ejercer las cuatro libertades.

En términos prácticos, la gran mayoría del software de código abierto también es software libre. Sin embargo, el fenómeno de la tivoización hace que algunos programas de código abierto no sean libres, al menos en la práctica. Cuando el software está diseñado para ejecutarse en un dispositivo en particular, y ese dispositivo está diseñado para evitar que las versiones modificadas realmente funcionen, los usuarios no pueden ejercer la libertad 1.

El problema relativamente reciente de los dispositivos que ejecutan software de código abierto que en la práctica no es gratuito ha reavivado el desacuerdo entre los defensores de los conceptos de software libre y de código abierto . El movimiento de código abierto promociona los méritos técnicos de FOSS . Pero, ¿qué pasa cuando la funcionalidad del software no está realmente bajo el control de su usuario? Richard Stallman escribe [puntos suspensivos míos]:

Bajo la presión de las compañías de películas y discos, el software para uso individual está cada vez más diseñado específicamente para restringirlos. Esta característica maliciosa ... es la antítesis en espíritu de la libertad que el software libre pretende proporcionar. Y no solo en espíritu: dado que el objetivo de DRM es pisotear tu libertad, los desarrolladores de DRM intentan que sea difícil, imposible o incluso ilegal que cambies el software que implementa el DRM.

Sin embargo, algunos partidarios del código abierto han propuesto el software "código abierto DRM". Su idea es que, al publicar el código fuente de los programas diseñados para restringir su acceso a medios encriptados y al permitir que otros lo modifiquen, producirán un software más potente y confiable para restringir a usuarios como usted. Luego, el software se le entregará en dispositivos que no le permiten cambiarlo.

Este software puede ser de código abierto y usar el modelo de desarrollo de código abierto, pero no será software libre ya que no respetará la libertad de los usuarios que realmente lo ejecutan.

Existen ideas divergentes sobre precisamente qué libertades debe respetar el software en la práctica para ser libre. Pero las disputas sobre si la tivoización hace que el software no sea libre o no siguen siendo disputas sobre la libertad. Por ejemplo, Linus Torvalds cree que la tivoización (un término que no le gusta) de Linux no debería estar prohibida , pero esto se debe a la creencia de que en realidad no impide que las personas utilicen libremente el software (en otro dispositivo).

¿Cómo se aplican el software libre y el código abierto a Ubuntu?

La mayoría del software en Ubuntu es software libre y software de código abierto. Una fracción del software en Ubuntu no lo es. (Ninguno es uno, pero no el otro). El proyecto de Ubuntu tiene como objetivo producir un sistema que sea lo más gratuito posible y al mismo tiempo totalmente utilizable por la mayor cantidad de usuarios posible .

Cuando instala Ubuntu, tiene la opción de instalar software no libre para realizar funciones como reproducir archivos MP3. En Ubuntu, Controladores adicionales sugiere y facilita la instalación de controladores no libres para algunos dispositivos como video y tarjetas de red. El software no libre (como Adobe Flash y Skype) también está disponible en los repositorios de multiverso y socios. Además, dependiendo de la definición de "incluye", se podría considerar que Ubuntu incluye software no libre en el sentido de que el Centro de Software proporciona la capacidad de instalar software de pago propietario.

Si bien estos y otros factores hacen que Ubuntu (y la mayoría de las distribuciones GNU / Linux altamente populares) no sean completamente gratuitas, y posiblemente hay distribuciones que son más completamente gratuitas , Ubuntu y su comunidad han traído software gratuito, y soporte para ello, a miles (si no millones) de personas que de otro modo probablemente nunca lo habrían usado, y ha contribuido positivamente a la difusión del software libre en todo el mundo, y a la capacidad de las personas de usar software libre en su propio idioma. La filosofía de Ubuntu se establece en términos de libertad y en términos de las capacidades de los usuarios:

Creemos que cada usuario de la computadora:

  • Debe tener la libertad de descargar, ejecutar, copiar, distribuir, estudiar, compartir, cambiar y mejorar su software para cualquier propósito, sin pagar tarifas de licencia.
  • Debería poder utilizar su software en el idioma que elija.
  • Debería poder utilizar todo el software independientemente de su discapacidad.

Nuestra filosofía se refleja en el software que producimos, la forma en que lo distribuimos y nuestros términos de licencia, también - Política de Licencia de Ubuntu.

Instale Ubuntu y puede estar seguro de que todo nuestro software cumple con estos ideales. Además, estamos trabajando continuamente para garantizar que cada pieza de software que pueda necesitar esté disponible bajo una licencia que le brinde esas libertades.

Luego continúa discutiendo y alabando tanto el software libre como los movimientos de código abierto y diciendo:

Aunque algunas personas consideran que 'libre' y 'código abierto' son movimientos competitivos con diferentes fines, nosotros no. Ubuntu orgullosamente incluye miembros que se identifican con ambos.

Ya sea que considere que sus objetivos están alineados con el software libre , con el código abierto , con ambos, o incluso con ninguno, le recomendamos que use Ubuntu si satisface sus necesidades. Y siempre que esté dispuesto a practicar la humanidad hacia los demás siguiendo el código de conducta , ¡se lo alienta a participar en la comunidad Ubuntu!

Eliah Kagan
fuente
2
Wow, todo esto en una cabeza
Mysterio
gracias por una respuesta tan completa, clara y equilibrada
david.libremone
@Eliah, ¿te parece bien si uso la mayor parte de tu respuesta para mi publicación de blog en FOSS? Soy el que hizo la pregunta :)
Mysterio
44
@ Mysterio ¡Sí, por favor hazlo! Según las preguntas frecuentes , todas las publicaciones en AskUbuntu.com están licenciadas bajo la licencia Creative Commons Attribution-ShareAlike 3.0 Unported , que es una licencia de contenido gratuita (como en libertad). Al igual que la GNU GPL, CC BY-SA 3.0 es una licencia copyleft, por lo que los trabajos derivados publicados (en este caso, su publicación de blog) también deben ofrecerse en virtud de ella. Consulte aquí sus derechos y responsabilidades. (Si desea derechos no ofrecidos en este documento, hágamelo saber).
Eliah Kagan
Ok señor, ¿qué derechos no se ofrecen con esta publicación bajo la licencia en cuestión
Mysterio
15

"Gratis" puede significar una (o ambas) de dos cosas: "gratis" como en "no cuesta nada" ("gratis", "gratis como en cerveza"), o "gratis" como en "libre para ser modificado" (" libre, "" libre como en el discurso ").

"Código abierto" simplemente significa que el código fuente está disponible por los desarrolladores, y no es necesariamente "libre como en la cerveza" ni "libre como en el discurso" (aunque puede ser uno o ambos).

Aquí hay un útil diagrama de Venn: http://www.gnu.org/philosophy/categories.html

Arrendajo
fuente
3
"Código abierto" no significa simplemente que los desarrolladores ponen a disposición el código fuente. Ver opensource.org/docs/osd para más detalles.
Eliah Kagan
44
Además, en la frase "software libre", "libre" siempre se refiere a la libertad y nunca al precio. Consulte gnu.org/philosophy/free-sw.html y en.wikipedia.org/wiki/Free_software . El término "software libre" alguna vez fue utilizado ocasionalmente por compañías de software privativo para referirse al software gratuito , pero ese significado ha quedado casi completamente fuera de uso, y esto se considera un uso incorrecto del término "software libre" (vea los enlaces anteriores )
Eliah Kagan el
@EliahKagan, te contradeciste con tu propia declaración. "'gratis' siempre se refiere a la libertad ..." y luego dijiste que "se usaba ocasionalmente ... para referirte al freeware". El "software libre" TBH generalmente se define en el aviso de copyright para delinear qué significado se está utilizando.
zzzzBov
1
@EliahKagan, es posible que desee enfatizar que la gente de GNU siempre se refiere a la libertad cuando habla de "software libre".
Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen No es solo gente de GNU. Por ejemplo, un número significativo de desarrolladores de FreeBSD, NetBSD, OpenBSD tienen sentimientos bastante amargos sobre el Proyecto GNU. Pero todavía se refieren a la libertad cuando hablan de software libre (p. Ej., "La existencia de derivados patentados no hace que OpenBSD sea menos libre"). La idea de que el Proyecto GNU y la Fundación de Software Libre abarcan a todos los que son inflexibles. sobre el software libre por razones de libertad es una idea errónea. Usar el término "software libre" para significar "gratis" es un mal uso, especialmente en un contexto de Ubuntu .
Eliah Kagan
4

No hay autoridad que pueda definir el significado de una palabra. Se define por cómo se usa y, por lo tanto, el significado de una palabra puede cambiar con el tiempo o una palabra puede significar cosas diferentes para diferentes grupos de personas al mismo tiempo.

Dicho esto: wikipedia , la Free Software Foundation , The Debian Project , The Ubuntu Project , GNU , todos están de acuerdo en una cosa: "software libre" se trata de libertad, no de costo. El software libre puede costar dinero o no.

No hay mucho acuerdo sobre el término "software de código abierto" . Mientras que algunos dicen que eso solo significa que el código fuente está disponible (algunas oraciones en wikipedia ) y GNU . Otros argumentarían que el software libre y el software de código abierto tienen las mismas ideas, por ejemplo, opensource.org . Sin embargo, el derecho a distribuir el software modificado no se considera necesariamente una parte del "software de código abierto" ( wikipedia, pero al contrario, nuevamente la definición de código abierto ).

Para poner algunos de los ejemplos de otras respuestas en esas categorías: skype: ninguno; Fedora : software libre y software de código abierto; Google Chrome: ninguno (hasta donde yo sé), pero Chromium es software libre y software de código abierto;

Conclusión:

Muchos grupos han dedicado su tiempo y esfuerzo a confundir a las personas sobre estos términos. Especialmente la Free Software Foundation, que parece utilizar el término "software de código abierto" con un propósito diferente al de Open Source Initiative. Y la Open Source Initiative, que introdujo y promovió fuertemente un nuevo término (software de código abierto) para significar esencialmente lo mismo que el término ya establecido "software libre".

También puedes leer más aquí .

xubuntix
fuente
2

Diría que una ilustración de la diferencia, que muestra que Shuttleworth es más de código abierto que el software libre, se puede encontrar en la siguiente cita (en respuesta a la cooperación con empresas propietarias):

Si su forma de ver el mundo es realmente más productiva, efectiva, eficiente, perspicaz y útil, entonces debe estar seguro de que ganará a largo plazo

(entrevista de slashdot)

Creo que una opinión de software libre podría no estar tan segura de que las cosas se volverán libres a largo plazo, y no considerarla tan relevante de todos modos cuando se trata de cooperación. Puede compararlo con pensar que la esclavitud está destinada a desaparecer porque no es eficiente: las personas trabajan mejor cuando son libres, con más innovación y sin riesgo de revuelta. Es cierto, pero también puede oponerse a la esclavitud como un principio más abstracto.

Cobarde anónimo
fuente
2

El término Free Softwarey Open-source Softwareproviene de dos movimientos: -

  1. Movimiento de software libre y
  2. Movimiento de código abierto

Definición:-

Hay dos artículos encontrados en GNU relacionados con esto que son:

  • http://www.gnu.org/philosophy/open-source-misses-the-point.html (Más nuevo y mejor)

    Los dos términos describen casi la misma categoría de software, pero representan puntos de vista basados ​​en valores fundamentalmente diferentes. El código abierto es una metodología de desarrollo; El software libre es un movimiento social. Para el movimiento del software libre, el software libre es un imperativo ético, un respeto esencial para la libertad de los usuarios. Por el contrario, la filosofía del código abierto considera los problemas en términos de cómo hacer que el software sea "mejor", solo en un sentido práctico. Dice que el software no libre es una solución inferior al problema práctico en cuestión.

  • https://www.gnu.org/philosophy/free-software-for-freedom.html (Mayor y reemplazado)

    La diferencia fundamental entre los dos movimientos está en sus valores, sus formas de mirar el mundo. Para el movimiento de código abierto, la cuestión de si el software debe ser de código abierto es una cuestión práctica, no ética. Como dijo una persona: “El código abierto es una metodología de desarrollo; el software libre es un movimiento social ”. Para el movimiento de código abierto, el software no libre es una solución subóptima. Para el movimiento del Software Libre, el software no libre es un problema social y el software libre es la solución.

Preguntas frecuentes sobre OSI: - ¿Qué es "software libre" y es lo mismo que "código abierto"?

El FSF usa una definición más corta de cuatro puntos de libertad de software al evaluar las licencias, mientras que el OSI usa una definición más larga de diez puntos. Las dos definiciones conducen al mismo resultado en la práctica, pero usan un lenguaje superficialmente diferente para llegar allí.

Aquí adjunto los detalles sobre:

Cómo se relacionan el software libre y el código abierto como categorías de programas

       / ---------------------------------------------- \
      / | El | \
     / | El | \
    / | El | \
        El | El |
        El | La licencia de origen es GNU * GPL, Apache, |
        El | BSD original, BSD modificado, |
libre | X11, expatriado, Python, MPL, etc., |
        El | y ejecutable no está tivoizado | fuente abierta
        El | El |
        El | El |
    \ | El |
     \ | El |
      \ | El | / /
       \ ---------------------------------------------- /
        El | dispositivos tivoizados (tiranos) | O | / /
        ---------------------------------------------- /

Notables (citadas) Notas: -

  • Entre todos los programas que son de código abierto, solo una fracción minúscula no es gratuita. Si la fila inferior se dibujara a escala, su texto tendría que estar en una fuente pequeña, quizás demasiado pequeña para leer.
  • Los dispositivos tivoizados o "tiranos" contienen ejecutables no libres creados a partir de código fuente que es gratuito.
  • “O” significa “otro” y se refiere a programas cuya fuente está bajo licencias que son de código abierto pero no gratuitas .

Pandya
fuente