Diferencia entre revisiones de «Financiación de proyectos de software libre en Software libre»

De wiki EOI de documentación docente
Saltar a: navegación, buscar
Línea 109: Línea 109:
 
A finales de la década de 1990, Corel decidió portar sus productos a GNU/Linux. En el proceso de realizarlo, descubrió que un programa libre diseñado para facilitar la ejecución de binarios para Windows en entornos Linux podría permitirle muchos ahorros de desarrollo. Pero para ello era preciso mejorarlo, fundamentalmente añadiéndole la emulación de cierta funcionalidad de Windows que usaban los programas de Corel.
 
A finales de la década de 1990, Corel decidió portar sus productos a GNU/Linux. En el proceso de realizarlo, descubrió que un programa libre diseñado para facilitar la ejecución de binarios para Windows en entornos Linux podría permitirle muchos ahorros de desarrollo. Pero para ello era preciso mejorarlo, fundamentalmente añadiéndole la emulación de cierta funcionalidad de Windows que usaban los programas de Corel.
  
Para que se realizaran estas mejoras, Corel contrató a Macadamian, que contribuyó con sus mejoras al proyecto Wine. Con ello, tanto Corel como Wine salieron beneficiados.  
+
Para que se realizaran estas mejoras, Corel contrató a Macadamian, que contribuyó con sus mejoras al proyecto Wine. Con ello, tanto Corel como Wine salieron beneficiados.
 
|Archivo=
 
|Archivo=
 
|Ancho archivo=
 
|Ancho archivo=
Línea 283: Línea 283:
 
|Archivo vídeo 4=
 
|Archivo vídeo 4=
 
}}
 
}}
|Estado=esbozo
+
|Estado=completo
 
}}
 
}}
 
{{Prueba
 
{{Prueba
|Prueba=f
+
|Prueba=No
 
}}
 
}}

Revisión del 17:36 23 may 2012


Estado de desarrollo de la sección: completo completo

Wikilibro: Software libre > Capítulo 5: Economía y negocio

Sección 1

Financiación de proyectos de software libre
El software libre se desarrolla de muchas formas distintas, y con mecanismos para conseguir recursos que varían muchísimo de un caso a otro. Cada proyecto libre tiene su propia forma de financiarse, desde el que está formado completamente por desarrolladores voluntarios y utiliza solamente recursos cedidos altruistamente, hasta el que es llevado a cabo por una empresa que factura el 100% de sus costes a una entidad interesada en el desarrollo correspondiente.

En esta sección nos vamos a centrar en los proyectos donde hay financiación externa, y no todo el trabajo realizado es voluntario. En estos casos, hay algún tipo de flujo de capital con origen externo al proyecto que se encarga de aportar recursos para su desarrollo. De esta manera, el software libre construido puede considerarse, de alguna forma, como un producto de esta financiación externa. Por ello es común que sea esa fuente externa quien decide (al menos parcialmente) cómo y en qué se gastan los recursos.

En cierto sentido, esta financiación externa para proyectos libres puede considerarse como un tipo de patrocinio, aunque este patrocino no tiene por qué ser desinteresado (y habitualmente no lo es). En los siguientes apartados se comentan los tipos de financiación externa más habituales. Mientras el lector se dedique a ellos, conviene, no obstante, no olvidar que esta es sólo una de formas como los proyectos que construyen software libre consiguen recursos. Hay otras, y entre ellas, la más importante: el trabajo de muchos desarrolladores voluntarios (como se discute en el Capítulo 4, El desarrollador y sus motivaciones)

Financiación pública

Un tipo muy especial de financiación de proyectos libres es la pública. La entidad financiadora puede ser directamente un gobierno (local, regional, nacional o incluso supranacional) o una institución pública (por ejemplo, una fundación). En estos casos, la financiación suele ser similar a la de los proyectos de investigación y desarrollo, y de hecho es muy habitual que provenga de entidades públicas promotoras de I+D. Normalmente, la entidad financiadora no busca recuperar la inversión (o al menos no de forma directa), aunque suele tener objetivos claros (favorecer la creación de tejido industrial e investigador, promover cierta tecnología o cierto tipo de aplicaciones, etc.).

En la mayor parte de estos casos, no se encuentra explícitamente la financiación de productos o servicios relacionados con software libre, sino que suelen ser el subproducto de un contrato con otros fines más generales. Por ejemplo, la Comisión Europea, dentro de sus programas de investigación, financia proyectos orientados a mejorar la competitividad europea en ciertas áreas. Algunos de estos proyectos tienen como parte de sus objetivos usar, mejorar y crear software libre en su ámbito de investigación (como herramienta para la investigación, o como producto derivado de ella).

Las motivaciones para este tipo de financiación son muy variadas, pero pueden destacarse las siguientes

  • Científica. Este es el caso más habitual en proyectos de investigación financiados con fondos públicos. Aunque su objetivo no es producir software, sino investigar en un determinado campo (relacionado o no con la informática), es muy posible que para ello sea preciso desarrollar programas que se usen como herramientas necesarias para alcanzar las metas del proyecto. Normalmente el proyecto no está interesado en comercializar estas herramientas, o incluso está activamente interesado en que otros grupos las utilicen y mejoren. En estos casos, es bastante habitual distribuirlos como software libre. En este caso, los recursos que consiguió el grupo que realiza la investigación se dedicaron en parte a la producción de este software, por lo que se puede decir que fue desarrollado con financiación pública.
  • Promoción de estándares. Tener una implementación de referencia es una de las mejores formas de promover un estándar. En muchos casos eso supone tener programas que formen parte de esa implementación (o si el estándar se refiere al campo del software, que sean la implementación ellos mismos). Para que la implementación de referencia sea de utilidad en la promoción del estándar, es preciso que esté disponible, al menos para comprobar interoperabilidad, para todos los que quieran desarrollar productos que se acojan a ese estándar. Y en muchos casos, es conveniente también que los fabricantes puedan directamente adaptar la implementación de referencia para usarla en sus productos, si así lo desean. De esta manera se desarrollaron, por ejemplo, muchos de los protocolos de Internet que hoy se han convertido en norma universal. En estos casos, la liberación de esas implementaciones de referencia como software libre puede ayudar mucho en esa promoción. De nuevo, en estos casos el software libre es un subproducto, en este caso de la promoción del estándar. Y habitualmente, quien se encarga de esta promoción es una entidad pública (aunque a veces es un consorcio privado).
  • Social. El software libre es una herramienta de gran interés en al creación de la infraestructura básica para la sociedad de la información. Las entidades interesadas en utilizar software libre para ayudar al acceso universal a esta sociedad de la información pueden financiar proyectos relacionados con el software libre (normalmente proyectos de desarrollo de nuevas aplicaciones o de adaptación de otras existentes.
Nota: Un ejemplo de financiación pública con finalidad fundamentalmente social es el caso de LinEx, promovido por la Junta de Extremadura (Extremadura, España) para promover la sociedad de la información fundamentalmente en lo que a alfabetización informática se refiere. La Junta ha financiado el desarrollo de una distribución basada en Debian para conseguir este fin. Otro caso similar es el de la financiación por parte del gobierno alemán de desarrollos de GnuPG orientados a facilitar su uso para los usuarios no experimentados, con la idea de favorecer el uso del correo seguro entre sus ciudadanos.

El desarrollo de GNAT

Un caso notorio de financiación pública para el desarrollo de software libre fue el del compilador GNAT. GNAT, compilador de Ada, fue financiado por el proyecto Ada9X del Departamento de Defensa de EE.UU., con la idea de disponer de un compilador de la nueva versión del lenguaje de programación Ada (la que luego fue Ada95), cuyo uso trataba de promover en aquella época. Uno de las causas que se habían identificado en cuanto a la adopción de la primera versión de Ada (Ada83) por las empresas de software era la tardía disposición de un compilador del lenguaje, y su alto precio cuando estuvo finalmente disponible. Por ello, trataron de que no ocurriese lo mismo con Ada95, asegurándose de que hubiera un compilador de forma prácticamente simultánea con la publicación del nuevo estándar del lenguaje.

Para lograrlo, el proyecto Ada9X contrató un proyecto con un equipo de la Universidad de Nueva York (NYU), por un importe aproximado de 1 millón de USD, para la realización de una “prueba de concepto” de compilador de Ada95. Con esos fondos, y aprovechando de la existencia de GCC (el compilador de C de GNU, del que se aprovechó la mayor parte del dorsal), el equipo de NYU construyó efectivamente el primer compilador de Ada95, que liberó bajo la GNU GPL. El compilador tuvo tanto éxito que a la terminación del proyecto parte de sus constructores fundaron una empresa (Ada Core Tecnologies) que desde entonces se ha convertido en líder en el mercado de compiladores y herramientas de ayuda a la construcción de programas en Ada.

Es notable cómo se puede ver en este proyecto la combinación de elementos de investigación (este proyecto avanzó en el conocimiento sobre la construcción de frontales y de sistemas de tiempo de ejecución para compiladores de lenguajes tipo Ada) y de promoción de estándares (que era el objetivo más claro de su financiador).


Financiación privada sin ánimo de lucro

Este es un tipo de financiación con muchas características similares a las del caso anterior, donde la financiación la realizan normalmente fundaciones u organizaciones no gubernamentales. La motivación directa en estos casos suele ser producir software libre para su uso en algún ámbito que la entidad financiadora considera especialmente relevante, pero también puede encontrarse la motivación indirecta de contribuir a resolver un problema (por ejemplo, una fundación dedicada a promover la investigación sobre una enfermedad puede financiar la construcción de un programa estadístico que ayude al análisis de grupos de experimentación donde se está estudiando esa enfermedad).

En general, tanto los motivos para realizar esta financiación como sus mecanismos son muy similares a los de financiación pública, aunque naturalmente están siempre marcados por los objetivos de la entidad que financia.

Nota :Probablemente el caso paradigmático de fundación que promueve el desarrollo de software libre sea la Free Software Foundation (FSF). Desde mediados de la década de 1980 esta fundación se dedica a la promoción del proyecto GNU, y a fomentar en general el desarrollo del software libre.
Nota: Otro caso interesante, aunque en otro ámbito bastante diferente, es la Open Bioinformatics Foundation. Entre los fines de esta fundación se encuentra la de promover el desarrollo de los programas informáticos que son básicos para investigación en cualquiera de las ramas de la bioinformática. Y en general, realiza esta promoción financiando y ayudando a la construcción de programas libres.


Financiación por quien necesita mejoras

Otro tipo de financiación para el desarrollo de software libre, ya no tan altruista, es el que tiene lugar cuando alguien necesita mejoras en un producto libre. Por ejemplo, una empresa, para uso interno, necesita de cierta funcionalidad en un programa dado. O bien necesita que ciertos errores en un programa sean corregidos. En este tipo de casos, lo habitual es que la empresa en cuestión contrate el desarrollo que necesita. Este desarrollo, muy habitualmente (bien porque lo impone la licencia del programa modificado, bien porque la empresa lo decide así) es software libre.

El caso de Corel y Wine

A finales de la década de 1990, Corel decidió portar sus productos a GNU/Linux. En el proceso de realizarlo, descubrió que un programa libre diseñado para facilitar la ejecución de binarios para Windows en entornos Linux podría permitirle muchos ahorros de desarrollo. Pero para ello era preciso mejorarlo, fundamentalmente añadiéndole la emulación de cierta funcionalidad de Windows que usaban los programas de Corel.

Para que se realizaran estas mejoras, Corel contrató a Macadamian, que contribuyó con sus mejoras al proyecto Wine. Con ello, tanto Corel como Wine salieron beneficiados.


Financiación con beneficios relacionados

En este caso, lo que busca la entidad financiadora es conseguir beneficios en productos relacionados con el programa a cuyo desarrollo aporta recursos. Normalmente, en estos casos los beneficios que obtiene la empresa financiadora no son exclusivos, ya que otras pueden entrar también en el mercado de la venta de productos relacionados. Pero bien la cuota de mercado que tiene es suficiente como para que no le preocupe mucho repartir la tarta con otros, o bien tiene alguna ventaja competitiva clara.

Algunos ejemplos de productos relacionados con un software dado son:

  • Libros. La empresa en cuestión vende manuales, guías de uso, textos para cursos, etc. relacionados con el programa libre que ayuda a financiar. Por supuesto otras empresas pueden vender también libros relacionados, pero normalmente el financiar el proyecto le dará acceso antes que a sus competidores a desarrolladores clave, o simplemente conseguirá con ello una buena imagen de cara a la comunidad de usuarios del programa en cuestión.
  • Hardware. Si una empresa financia el desarrollo de sistemas libres para cierto tipo de hardware puede dedicarse a vender con más facilidad ese tipo de hardware. De nuevo, al ser libre el software desarrollado, pueden aparecer competidores que vendan aparatos del mismo tipo, usando esos desarrollos, pero sin colaborar a su financiación. Pero incluso así, la empresa en cuestión tiene varias ventajas sobre sus competidores, y una de ellas puede ser que su posición como aportadora de recursos para el proyecto le permitía influir para conseguir que los desarrollos que se realicen con más prioridad sean los que más le interesen.
  • CDs con programas. Probablemente el modelo de este tipo más conocido es el de las empresas que financian ciertos desarrollos que luego aplican a su distribución de software. Por ejemplo, tener un buen entorno de escritorio puede ayudar mucho a vender CDs con una cierta distribución de GNU/Linux, y por tanto, financiar su desarrollo puede ser un buen negocio para quien los vende.

Es importante darse cuenta de que, para estar en este apartado, la financiación en cuestión ha de hacerse con ánimo de lucro, y para ello la entidad financiadora ha de percibir algún beneficio posible en esta financiación. En los casos reales, sin embargo, es habitual que haya siempre una combinación de ánimo de lucro y altruismo cuando una empresa aporta recursos para que se realice un programa libre del cual espera beneficiarse indirectamente.

Nota: Un caso muy conocido de aporte de recursos a un proyecto, si bien de forma relativamente indirecta, es la ayuda que la editorial O'Reilly presta al desarrollo de Perl. Naturalmente, no es casualidad que esa editorial sea también una de las principales editoras sobre temas relacionados con Perl. En cualquier caso, es obvio que O'Reilly no tiene la exclusiva de la edición de libros de ese tipo, y otras editoriales compiten en ese segmento de mercado, con diverso éxito.
Nota: VA Software (en sus comienzos VA Research, y más tarde VA Linux) ha colaborado activamente en el desarrollo del núcleo de Linux. Con ello ha conseguido, entre otras cosas, colaborar a asegurar su continuidad, lo que era especialmente crítico para ella, de cara a sus clientes, cuando su principal negocio era vender equipos con GNU/Linux preinstalado.
Nota: Red Hat ha financiado el desarrollo de muchos componentes de GNOME, con lo que ha conseguido fundamentalmente tener un entorno de escritorio para su distribución, lo que ha contribuido a aumentar sus ventas. Como en otros casos, otros fabricantes de distribuciones se han beneficiado de este desarrollo, aunque muchos de ellos no hayan colaborado con el proyecto GNOME en la misma medida que Red Hat (y no son pocos los que no han colaborado en nada). A pesar de ello, Red Hat se beneficia de su contribución a GNOME.


Financiación como inversión interna

Hay empresas que, directamente como parte de su modelo de negocio, desarrollan software libre. Por ejemplo, una empresa puede decidir iniciar un nuevo proyecto libre en un ámbito donde percibe que puede haber oportunidades de negocio, con la idea de rentabilizar posteriormente esta inversión. Este modelo podría considerarse una variante del anterior (financiación indirecta), siendo los “beneficios relacionados” las ventajas que obtenga la empresa de la producción del programa libre. Pero por ser en este caso el producto libre en sí mismo el que se espera que produzca los beneficios, parece conveniente abrir una clasificación específica para estos casos.

Este tipo de financiación da lugar a varios modelos de negocio. Cuando se analicen éstos (“Modelos de negocio basados en software libre”) se explicarán también las ventajas que normalmente obtiene una empresa de esta inversión en un proyecto, y qué métodos suelen utilizarse para rentabilizarla. Pero en cualquier caso, hay que destacar que en algunos casos, puede que el software en cuestión se desarrolle simplemente para satisfacer las necesidades de la propia empresa, y que sólo después se decida liberar, y quizás abrir una línea de negocio relacionada con él.

Nota: Digital Creations (hoy Zope Corporation) es uno de los casos más conocidos de empresa que se dedica al desarrollo de software libre con la esperanza de rentabilizar su inversión. El proyecto libre en que más está invirtiendo es Zope, un servidor de aplicaciones que está teniendo un cierto éxito. Su historia con el software libre comenzó cuando la entonces Digital Creations buscaba capital-riesgo para desarrollar su servidor de aplicaciones propietario, hacia 1998. Uno de los grupos interesados en invertir en ellos (Opticality Ventures) les puso como condición que el producto resultante debía ser libre, porque en caso contrario no veían cómo iba a poder conseguir una cuota de mercado significativa. Digital Creations se decidió por ese camino, y pocos meses después anunciaba la primera versión de Zope (unos años después cambió su nombre). Hoy día Zope Corporation está especializada en ofrecer servicios de consultoría, formación y soporte para sistemas de gestión de contenidos basados en Zope, y otros productos en los que sin duda Zope es la piedra angular.
Nota: Ximian (antes Helix Code) es un caso bien conocido de desarrollo de aplicaciones libres en entorno empresarial. Muy ligada desde sus orígenes al proyecto GNOME, Ximian ha producido sistemas software como Evolution (un gestor de información personal que tiene una funcionalidad relativamente similar a la ofrecida por MS Outlook), Red Carpet (un sistema fácil de usar para la gestión de paquetería en un sistema operativo) y Mono (una implementación de gran parte de .NET). La empresa fue fundada en octubre de 1999, y atrajo a muchos desarrolladores de GNOME que pasaron a formar parte de sus desarrolladores (en muchos casos, continuando su colaboración con el proyecto GNOME). Ximian se posicionó como una empresa de ingeniería experta en adaptaciones de GNOME, en la construcción de aplicaciones basadas en GNOME, y en general en proporcionar servicios de desarrollo basados en software libre, especialmente de herramientas relacionadas con el entorno de escritorio. En agosto de 2003, Ximian fue adquirida por Novell.
Nota: Cisco Enterprise Print System (CEPS) [cisco_enter_print_system] es un sistema de gestión de impresión para organizaciones con gran cantidad de impresoras. Fue desarrollado internamente en Cisco, para satisfacer sus propias necesidades, y liberado en el año 2000 bajo la GNU GPL. Es difícil estar seguro de los motivos que tuvo Cisco para hacer esto, pero es posible que tuviera que ver con la búsqueda de contribuciones externas (informes de error, nuevos controladores, parches, etc.). En cualquier caso lo que está claro es que, al no tener Cisco ningún plan para comercializar el producto, y no estar muy claro su mercado potencial, no tenía mucho que perder con esta decisión.


Otros modos de financiación

Hay otros modos de financiación difíciles de clasificar entre los anteriores. Entre ellos pueden destacarse, a modo de ejemplo, los siguientes:

  • Utilización de mercados para poner en contacto a desarrolladores y clientes. La idea que sostiene este modo de financiación es que, sobre todo para pequeños desarrollos, es difícil que un cliente que lo desea pueda entrar en contacto con un desarrollador que pueda acometerlo de forma eficiente. Para mejorar esta situación, se postulan los mercados de desarrollo de software libre, donde los desarrolladores publicarían sus habilidades y los clientes los desarrollos que precisan. Una un desarrollador y un cliente se ponen de acuerdo, tenemos una situación similar a la ya descrita como “financiación por quien necesita las mejoras” (“Financiación por quien necesita mejoras”).
Nota: SourceXchange fue un ejemplo de mercado para poner en contacto a desarrolladores con sus clientes potenciales. Para ofrecer un proyecto, un cliente escribía una RFP (Request for Proposal, o Petición de Propuesta), especificando qué desarrollo se necesita y cuántos recursos se está dispuesto a proporcionar para ese desarrollo. Estas RFP se publicaban en el sitio. Cuando un desarrollador veía una que le interesaba, hacía una oferta para ella. Cuando un desarrollador y cliente se ponían de acuerdo en los términos del desarrollo, comenzaba un proyecto. Normalmente cada proyecto estaba supervisado por un peer reviewer, un revisor, que se encargaba de asegurarse de que el desarrollador cumplía las especificaciones, que efectivamente estas tenían sentido, que aconsejaba sobre cómo llevar adelante el proyecto, etc. SourceXchange (propiedad de la empresa CollabNet) se encargaba de ofrecer el sitio, garantizar la competencia de los revisores, asegurarse del pago en caso de que los proyectos se completasen, y ofrecer herramientas para el seguimiento del proyecto (servicios que facturaba al cliente). El primer proyecto mediado por SourceXchange se terminó en marzo de 2000, pero poco más de un año después, en abril de 2001, el sitio cerró.
  • Venta de bonos para financiar un proyecto. Esta idea de financiación es similar a la de los mercados de bonos a los que acuden las empresas, pero orientado al desarrollo de software libre. Tiene unas cuantas variantes, pero una de las más conocidas funciona como sigue. Cuando un desarrollador (individual o empresa) tiene idea de un nuevo programa o una mejora a uno existente, lo escribe en forma de especificación, estima el coste que tendría su desarrollo, y emite bonos para su construcción. Estos bonos tienen un valor que se ejecuta sólo si el proyecto se termina finalmente. Cuando el desarrollador ha vendido suficientes bonos, comienza el desarrollo, que va financiando con préstamos basados en ellos. Cuando termina el desarrollo, y se certifica por alguna tercera parte independiente que efectivamente lo realizado cumple las especificaciones, el desarrollador “ejecuta” los bonos que había vendido, paga sus deudas, y lo que le queda son los beneficios que obtiene por el desarrollo. ¿Quién estaría interesado en adquirir los mencionados bonos? Obviamente, los usuarios que desearan que ese nuevo programa, o esa mejora a uno ya existente, se realizaran. De alguna manera, este sistema de bonos permitiría que las partes interesadas fijaran (siquiera parcialmente) las prioridades de los desarrolladores mediante la compra de bonos. Esto permitiría también que no hiciese falta que una sola entidad asumiese los costes de desarrollo, sino que podrían repartirse entre muchas (incluyendo individuos), que además sólo tendrían que pagar si finalmente el proyecto termina con éxito. Un mecanismo muy similar a este se propone, con mucho más detalle, en [rasch01:_wall_street_perfor_protoc].
Nota: El sistema de bonos descrito está basado en el Street Performer Protocol (protocolo del artista callejero) [kelsey98:_street_perfor_protoc] [kelsey99:_street_perfor_protoc_digit_copyr], un mecanismo basado en el comercio electrónico diseñado para facilitar la financiación privada de trabajos de creación libres. Resumiendo, quien esté interesado en que se realice un determinado trabajo prometería formalmente pagar una cierta cantidad si el trabajo se realiza y es publicado libremente. Sus intenciones son buscar una nueva manera de financiar trabajos relativamente pequeños que queden a disposición de todo el mundo, pero puede extenderse de muchas formas (los bonos para la construcción de software libre son una de ellas). Puede verse un pequeño caso de puesta en práctica de un derivado de este protocolo (el Rational Street Performer Protocol, protocolo racional del artista callejero [harrison02:_ration_street_perfor_protoc]) en http://www.csse.monash.edu.au/~pfh/circle/funding_results.html, donde se aplica a la consecución de fondos para la financiación de parte de The Circle, un proyecto de software libre.
  • Cooperativas de desarrolladores. En este caso, los desarrolladores de software libre, en lugar de trabajar individualmente o para una empresa, se reúnen en algún tipo de asociación (normalmente similar a una cooperativa). Por lo demás, su funcionamiento es similar al de una empresa, matizado quizás por su compromiso ético con el software libre, que puede ser parte de sus estatutos (aunque también una empresa puede hacer esto). En este tipo de organizaciones pueden darse combinaciones variadas de trabajo voluntario con trabajo remunerado. Un ejemplo de este tipo de organización es Free Developers.
  • Sistema de donaciones. Consiste en habilitar un mecanismo de pago al autor de un determinado software en la página web que alberga el proyecto. De esta forma, los usuarios interesados en que dicho proyecto continúe publicando nuevas versiones pueden apoyarlo económicamente, realizando donaciones voluntarias a modo de financiación para el desarrollador.


Imágenes y recursos

Sección siguiente >
Modelos de negocio basados en software libre