El software libre / de código abierto (el modelo de disponibilidad de código fuente utilizado por el software libre y de código abierto (FOSS)) y el código cerrado son dos enfoques para la distribución de software.
En el modelo de código cerrado, el código fuente no se hace público. El software de código cerrado es mantenido por un equipo que produce su producto en un estado compilado y ejecutable, que es a lo que el mercado tiene acceso permitido. Microsoft , el propietario y desarrollador de Windows y Microsoft Office , junto con otras importantes empresas de software, han sido durante mucho tiempo defensores de este modelo de negocios, aunque en agosto de 2010, el director general de interoperabilidad de Microsoft, Jean Paoli, dijo que Microsoft "ama el código abierto" y que su posición anti-código abierto era un error. [1]
El modelo FOSS permite a los usuarios ver y modificar el código fuente de un producto, pero la mayor parte de ese código no es de dominio público . Las ventajas comunes que citan los defensores de tener esa estructura se expresan en términos de confianza, aceptación, trabajo en equipo y calidad. [2]
Una licencia no libre se utiliza para limitar lo que los defensores del movimiento del software libre consideran libertades esenciales. Una licencia, ya sea que proporcione código fuente abierto o no, que no estipule las "cuatro libertades del software", [3] no se considera "libre" por el movimiento del software libre. Una licencia de código cerrado es una que limita solo la disponibilidad del código fuente. Por el contrario, una licencia copyleft afirma proteger las "cuatro libertades del software" al otorgarlas explícitamente y luego prohibir explícitamente que cualquiera redistribuya el paquete o reutilice el código que contiene para hacer trabajos derivados sin incluir las mismas cláusulas de licencia. Algunas licencias otorgan las cuatro libertades del software pero permiten a los redistribuidores eliminarlas si lo desean. Tales licencias a veces se denominan licencias de software permisivas . [4] Un ejemplo de este tipo de licencia es la Licencia FreeBSD que permite que el software derivado se distribuya como no libre o de código cerrado, siempre que se dé crédito a los diseñadores originales.
Un error común entre los defensores y detractores del software libre es que no se puede capitalizar. [5] El software libre puede y ha sido comercializado por empresas como Red Hat , Canonical , Mozilla , Google , IBM , Novell , Sun / Oracle , VMware y otras. [6]
El modelo de negocio principal del software de código cerrado implica el uso de restricciones sobre lo que se puede hacer con el software y la restricción del acceso al código fuente original. [6] Esto puede dar lugar a una forma de escasez artificial impuesta a un producto que, de otro modo, sería muy fácil de copiar y redistribuir. El resultado es que el usuario final no está comprando realmente el software, sino el derecho a usarlo. Con este fin, el código fuente del software de código cerrado se considera un secreto comercial por parte de sus fabricantes.
Por otra parte, los métodos FOSS no suelen limitar el uso del software de esta manera. En cambio, el modelo de ingresos se basa principalmente en los servicios de soporte. Red Hat Inc. y Canonical Ltd. son empresas que ofrecen su software de forma gratuita, pero cobran por los servicios de soporte. El código fuente del software suele regalarse y, para mayor comodidad, suele ir acompañado de un software binario precompilado. Como resultado, el código fuente se puede modificar libremente. Sin embargo, puede haber algunas restricciones basadas en licencias para la redistribución del software. Por lo general, el software se puede modificar y redistribuir de forma gratuita, siempre que se dé crédito al fabricante original del software. Además, el software FOSS se puede vender comercialmente, siempre que se proporcione el código fuente. Existe una amplia variedad de licencias de software libre que definen cómo se puede utilizar, modificar y vender comercialmente un programa (consulte las licencias GPL , LGPL y BSD ). El software FOSS también se puede financiar a través de donaciones.
Una filosofía de software que combina aspectos del software libre y propietario es el software de núcleo abierto , o software de código abierto comercial. A pesar de haber recibido críticas de algunos defensores del software libre y propietario, [7] ha mostrado un éxito marginal. Entre los ejemplos de software de núcleo abierto se incluyen MySQL y VirtualBox . El sistema operativo MINIX solía seguir este modelo de negocio, pero quedó sujeto a los términos completos de la licencia BSD después del año 2000.
Este modelo ha demostrado tener cierto éxito, como se puede comprobar en la comunidad Linux . Hay numerosas distribuciones Linux disponibles, pero muchas de ellas son simplemente versiones modificadas de alguna versión anterior. Por ejemplo, Fedora Linux , Mandriva Linux y PCLinuxOS son todos derivados de un producto anterior, Red Hat Linux . De hecho, Red Hat Enterprise Linux es en sí mismo un derivado de Fedora Linux. Este es un ejemplo de un proveedor que crea un producto, permite que un tercero modifique el software y luego crea un producto terciario basado en la versión modificada. Todos los productos enumerados anteriormente son producidos actualmente por empresas de servicios de software.
Los sistemas operativos basados en el núcleo Linux están disponibles para una gama más amplia de arquitecturas de procesador que Microsoft Windows , incluidas PowerPC y SPARC . Ninguna de ellas puede igualar la popularidad de la arquitectura x86 , sin embargo, tienen un número significativo de usuarios; Windows sigue sin estar disponible para estas arquitecturas alternativas, aunque ha habido adaptaciones de este sistema en el pasado.
La queja más obvia contra el software libre gira en torno al hecho de que ganar dinero a través de algunos métodos tradicionales, como la venta del uso de copias individuales y los pagos de regalías por patentes , es mucho más difícil y a veces poco práctico con el software libre. Además, se ha considerado que el software libre es perjudicial para el mercado de software comercial, como se evidencia en los documentos publicados como parte de la filtración de documentos de Halloween de Microsoft . [8] [9] [10]
El costo de hacer una copia de un programa de software es prácticamente nulo, por lo que las tarifas por uso quizás sean poco razonables para el software de código abierto. En un momento dado, el desarrollo de software de código abierto era impulsado casi en su totalidad por voluntarios y, aunque esto es cierto para muchos proyectos pequeños, se han identificado y empleado muchas fuentes de financiación alternativas para el software libre:
Cada vez más, el software libre es desarrollado por organizaciones comerciales. En 2004, Andrew Morton señaló que 37.000 de los 38.000 parches recientes del núcleo Linux fueron creados por desarrolladores a los que se les pagó directamente para desarrollar el núcleo Linux. Muchos proyectos, como el sistema X Window y Apache, han tenido el desarrollo comercial como fuente principal de mejoras desde su inicio. Esta tendencia se ha acelerado con el tiempo. [ cita requerida ]
Hay quienes argumentan que la comercialización de software libre es un modelo de negocio mal concebido porque las empresas de software libre comercial responden a partes con agendas opuestas. Por un lado, las empresas de software libre comercial responden a desarrolladores voluntarios, a quienes es difícil mantener un cronograma, y por otro lado, responden a los accionistas, que esperan un retorno de su inversión. A menudo, el desarrollo de software libre no sigue un cronograma y, por lo tanto, puede tener un efecto adverso en una empresa de software libre comercial que publique software a tiempo. [11]
Gary Hamel contrarresta esta afirmación diciendo que es imposible cuantificar quién o qué es innovador. [12]
La Free Software Foundation fomenta la implementación de reemplazos FOSS compatibles para software propietario con el fin de que sus usuarios puedan utilizar FOSS en lugar de software propietario; por ejemplo, han incluido a GNU Octave , un reemplazo compatible con API para MATLAB , como uno de sus proyectos de alta prioridad . En el pasado, esta lista contenía implementaciones Java y CLI compatibles con binarios libres, como GNU Classpath y DotGNU . Por lo tanto, incluso los desarrollos "derivados" son importantes en la opinión de muchas personas del FOSS. Sin embargo, no hay un análisis cuantitativo sobre si el FOSS es menos innovador que el software propietario, ya que también hay desarrollos propietarios derivados/reimplementados.
Algunos de los proyectos de software libre más conocidos son código heredado (por ejemplo, FreeBSD o Apache) desarrollado hace mucho tiempo independientemente del movimiento del software libre , o por empresas como Netscape (que hizo público su código con la esperanza de poder competir mejor), o por empresas como MySQL que utilizan software libre para atraer clientes a sus productos con licencia más cara. Sin embargo, es notable que la mayoría de estos proyectos han sido reescritos en gran medida o incluso en su totalidad (en el caso del código de Mozilla y Apache 2, por ejemplo) y no contienen gran parte del código original.
Las innovaciones han surgido y siguen surgiendo del mundo del código abierto:
En 2008, el Departamento de Ciencias y Tecnología de la Gestión de la Universidad de Economía y Negocios de Atenas publicó un análisis de los núcleos de los sistemas operativos FreeBSD , Linux , Solaris y Windows que buscaba diferencias entre el código desarrollado utilizando procesos de código abierto y propietarios. El estudio recopiló métricas en las áreas de organización de archivos, estructura del código, estilo del código, uso del preprocesador C y organización de datos. Los resultados agregados indicaron que obtuvieron puntuaciones comparables entre sí. [16] Otro estudio realizado por Synopsys publicado en 2014 encontró que el código de código abierto era de mejor calidad. [17]
Un estudio realizado sobre diecisiete programas de código abierto y de código cerrado mostró que la cantidad de vulnerabilidades existentes en un programa de software no se ve afectada por el modelo de disponibilidad de la fuente que utiliza. El estudio utilizó una métrica muy simple para comparar la cantidad de vulnerabilidades entre el software de código abierto y el de código cerrado. [18] Otro estudio también fue realizado por un grupo de profesores de la Northern Kentucky University sobre catorce aplicaciones web de código abierto escritas en PHP . El estudio midió la densidad de vulnerabilidades en las aplicaciones web y mostró que algunas de ellas tenían una densidad de vulnerabilidades aumentada, pero algunas de ellas también tenían una densidad de vulnerabilidades reducida. [19]
En su Informe Anual de 2008, Microsoft afirmó que los modelos de negocio de FOSS desafían su modelo de software basado en licencias y que las empresas que utilizan estos modelos de negocio no soportan el coste del desarrollo de su software [ aclaración necesaria ] . La empresa también afirmó en el informe: [20] [21]
Algunas de estas empresas [de software de código abierto] pueden basarse en ideas de Microsoft que les proporcionamos de forma gratuita o a cambio de regalías reducidas en relación con nuestras iniciativas de interoperabilidad . En la medida en que el software de código abierto gane una mayor aceptación en el mercado, nuestras ventas, ingresos y márgenes operativos pueden disminuir. Los proveedores de software de código abierto están dedicando considerables esfuerzos a desarrollar software que imite las características y la funcionalidad de nuestros productos, en algunos casos sobre la base de especificaciones técnicas para tecnologías Microsoft que ponemos a su disposición. En respuesta a la competencia, estamos desarrollando versiones de nuestros productos con funcionalidad básica que se venden a precios más bajos que las versiones estándar.
Existen numerosos modelos de negocio para empresas de código abierto que se pueden encontrar en la literatura. [6]