sábado, 10 de mayo de 2008

¿Se puede cobrar por el software libre?

Este post surge al hilo de una discusión que hubo en barrapunto sobre si SherpaCMS era software libre o no. Básicamente se discutía que si ese producto se definía como software libre, todo el mundo debería tener derecho a obtener el producto y su código fuente gratis. ¡Nada más lejos de la realidad! Aunque Isotrol, la empresa desarrolladora de SherpaCMS, ya ha aclarado el asunto, no quería dejar de exponer las conclusiones que he sacado a poco que he investigado sobre el tema.

GNU deja claro que la palabra "free" en el concepto "free software" se refiere a libre, no a gratis. Software Libre es un concepto de libertades, no de precio. Se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. De hecho define 4 libertades que deben cumplir los programas calificados como software libre para considerarse como tal. Estas son:
  • La libertad de usar el programa, con cualquier propósito (libertad 0).
  • La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades (libertad 1). El acceso al código fuente es una condición previa para esto.
  • La libertad de distribuir copias, con lo que puedes ayudar a tu vecino (libertad 2).
  • La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie. (libertad 3). El acceso al código fuente es un requisito previo para esto.
Respondiendo a la pregunta que formula el título de este post, la respuesta es sí. Se puede cobrar por distribuir software libre. De hecho, GNU recomienda que se haga. ¡Sí, sí! Cito textualmente del artículo Vender Software Libre de la web de GNU: "recomendamos a la gente que distribuye software libre que cobre tanto como desee o pueda".

La clave de todo esto está en la distribución. La filosofía software libre te permite distribuir el programa, incluso imponiendo ciertas reglas, siempre y cuando éstas no vayan en contra de las 4 libertades principales. Sin embargo, no dice nada acerca de que la distribución tenga que ser gratuita. Lo único que obliga es a que cumpla las 4 libertades y para ello ha de proporcionarse el código fuente a quién se le distribuya el software. De esta forma, la persona que obtiene el software puede ejecutar, cambiar, mejorar incluso volver a distribuir el software, de manera gratuita o no. En caso contrario, no se consideraría que el software distribuido es software libre.

Aplicado al modelo empresarial, una empresa puede desarrollar software y distribuirlo a sus clientes como software libre. El cliente obtendrá el código fuente y podrá modificar el software, incluso distribuirlo. En la práctica, lo normal es que la propia empresa que distribuye el software a sus clientes sea la que lo modifique y adapte mediante un acuerdo de mantenimiento o evolución del software. Por tanto, las empresas pueden ganar dinero tanto en la distribución como en la modificación, adaptación y evolución del producto.

En este último supuesto, en el que es la empresa distribuidora la que es contratada para modificar el software que ha vendido al propio cliente, ¿qué diferencia habría con comprar un software privativo? La diferencia es clara. Supongamos que surgen problemas entre distribuidor y cliente. En caso de software privativo, el cliente tendría dos opciones: llegar a un acuerdo con el distribuidor o bien dejar de evolucionar su software, ya que es el distribuidor el único que tiene el código fuente y por tanto el único que lo puede hacer. En el caso de software libre, el cliente tiene más libertad ya que al disponer del código fuente, él mismo tiene todo lo necesario para modificar el software a su antojo, por lo que puede contratar a una serie de personas para que hagan ese trabajo y mandar a la empresa distribuidora adonde picó el pollo. Dicho de otra forma, el cliente no se vé atado a la empresa que le vende el programa.

Ahora bien.¿Podría una empresa obtener una distribución software libre y redistribuirla como software privativo?

La respuesta es que depende. Existen distintos tipos de licencias asociadas al software libre. Según lo comentado hasta ahora, se podría hacer, pero es aquí donde entra el concepto copyleft. Si un software es copyleft, cualquiera que quiera redistribuirlo con o sin modificaciones debe dar la libertad de copiarlo y modificarlo más. Es decir, copyleft garantiza que todas las sucesivas distribuciones de un software calificado como software libre, sean a su vez software libre y nunca se podrá distribuir como software privativo.

Dicho esto ya podemos responder adecuadamente a la pregunta. Un empresa podría redistribuir software libre bajo software privativo siempre y cuando la licencia software libre no tuviese copyleft.

La licencia software libre con copyleft más conocida es la GNU GPL. También existe una versión reducida de la misma con un copyleft más debil. Es la GNU LGPL.

Si quieres saber más acerca de este tema puedes consultar las fuentes de este artículo (www.gnu.org):

No hay comentarios: