miércoles, junio 02, 2010

Hilando fino con el Software Libre.

Esto surge, porque hoy le explicaba a un compañero la diferencia entre Gratuidad y Libertad, algo parecido a lo que escribí en:
http://cofreedb.blogspot.com/2008/08/gratuidad-y-libertad-no-necesariamente.html

Hilando más fino en el tema del Software Libre y la Gratuidad, y de lo que le corresponde a un programador de Software Libre, imaginemos lo siguiente:

Una empresa contrata a un programador, para que le haga un programa de contabilidad y liquidación de sueldos, para que trabaje en RED, pero con la condición de que este programa sea Software Libre, y digamos que le paga U$S 10.000.

El programador hace el programa, lo instala en 1 servidor y en unas 5 máquinas clientes de una oficina, de la única sucursal de la empresa.
Lo prueban y anda todo OK y el programa hace todo lo que teníá que hacer a las mil maravillas, le pagan al programador y todos felices, satisfechos y contentos.

Al tiempo, la empresa crece, y decide no solo ampliar la cantidad de clientes del servidor de la oficina de esa sucursal, sino que también abre otras sucursales y quiere implementar ese mismo sistema en todas y además sincronizarlas en una VPN (Virtual Private Network).

Resulta que no pueden, porque el programador solo armó esa red, con ese único servidor, con esas 5 máquinas clientes, pero además instaló exclusivamente los binarios, con la limitación de que si lo ponen en otras máquinas sin su autorización, el programa NO FUNCIONA.

Aunque parezca mentira, este programador NO INFRINGE la Licencia de Software Libre, si pone a disposición de la empresa, el CODIGO FUENTE del programa, aunque sea en un servidor FTP, al que solo pueden acceder EXCLUSIVAMENTE quienes COMPRARON su programa, como por ejemplo esta empresa cuando pagó esos U$S 10.000.

Además el programador puede negarse a dar soporte, o ampliar las capacidades origianles del programa, simplemente porque no se le antoja y no quiere dedicarse más al tema, o no le gusta la cara del dueño de la empresa que le pagó anteriormente, o tiene una ueva versión del programa con mejores caracterísiticas, el cual también está a la venta.

A pesar de todas estas limitaciones impuestas por el programador (ej. la de que el programa no funciona si se instala en otras máquinas sin su autorización), ese Software sigue siendo Software Libre, porque:

0 - El programador no limita el uso del programa, aún si solo instaló los binarios y pone algo en el código para que no pueda ser instalado en otras máquinas sin su autorización, porque...

1 - Pone a disposición de quien le pagó por hacer el programa, el CODIGO FUENTE, aún sin dárselos directamente y haciéndolo vía FTP privado exclusivamente para clientes, y porque...

2 - No impide que se hagan copias del programa y se redistribuya en forma gratuita o cobrando U$S 1.000, U$S 10.000 o U$S 100.000, porque...

3 - Quienes le pagaron tienen a su disposición el CODIGO FUENTE (descargado desde el FTP privado), y pueden modificarlo quitando la restricción de instalaciones no autorizadas por el programador original, y hacer sus propias versiones mejoradas.

Es sencillo, es claro, es SOFTWARE LIBRE.

Cualquier Software que no respete las CUATRO LIBERTADES FUNDAMENTALES (0 - uso, 1 - estudio, 2 - distribución, 3 - modificación), NO ES SOFTWARE LIBRE, será OTRA COSA pero NO ES SOFTWARE LIBRE.

En este caso, aunque cueste comprenderlo, el programador original respetó las CUATRO LIBERTADES FUNDAMENTALES, aunque sea indirectamente, sencillamente por poner a disposición de los contratantes el CODIGO FUENTE.

Esto lo entiendo hasta yo, que no estudié abogacía, y no se absolutamente nada de programación.

Saludos, gracias y nos leemos.