Software Libre: Una oportunidad y una necesidad
para el desarrollo del mundo digital
(transcripción)



Roberto Di Cosmo
Universidad de París VII & INRIA Roquencourt





Sitio: Auditorio de FaMAF - Universidad Nacional de Córdoba - Córdoba, Argentina
Fecha: 17 de diciembre del 2001
Transcripción: Carina V. Martinez
Transparencias de la charla: http://www.dicosmo.org/TALKS/Cordoba2001/Cordoba17122001-notes.pdf
Observación: Las notas de la Transcriptora están marcadas en rojo entre corchetes

I. Definiciones

Hay mucha confusión, conviene aclarar la diferencia entre: Freeware (soft que no se paga), Shareware (soft "gratis" en un periodo de prueba, después del cual debe pagar por su uso) y Free software (en el sentido de libertad). El free soft tiene que ver mucho con el origen y el éxito de Internet en gral. y el web en particular, no es idéntico a "open source" son cosas diferentes, pero no se debatirá este punto en esta oportunidad.

En este sentido "libre" no tiene nada que ver con "sin cargo". El hecho de que un soft sea freeware (sin cargo) es una propiedad que puede cambiar con el tiempo, mañana puede no serlo.
Libre es un soft que viene con 4 derechos fundamentales:

  1. El usuario es libre de usar el soft en la forma que mejor le convenga, no hay condiciones ni restricciones en la forma/ambiente de uso. Esto quiere decir que el soft libre que uno recibe lo puede usar libremente.
  2. El usuario es libre de estudiar el soft y adaptarlo a las exigencias propias, es decir es necesario el acceso libre al código fuente.
  3. El usuario tiene la libertad de distribuir el soft libre.
  4. También tiene derecho de distribuir las modificaciones que le haya hecho.
Las obligaciones que se desprenden de estos derechos dependen de la licencia bajo la cual el soft es distribuido. Hay muchas licencias de soft que son reconocidas más o menos como open source, que tienen variantes que defienden o promueven alguno de estos 4 derechos en particular, hay licencias más restrictivas y otras más liberales. La licencia GPL, por ejemplo, restringe a que cuando se distribuye el soft se debe transmitir al destinatario los mismos 4 derechos del soft, no pueden ocultársele, lo que garantiza el estado "libre" del soft.

Del otro lado del espectro existen licencias extremadamente liberales como la Xfree, que dan permiso de hacer lo que se quiera con el soft con la única limitación de reconocer los autores. Este tipo de licencias muy liberales han sido muy abusadas en el ámbito comercial. Por ejemplo, en las últimas versiones de cierto sistema operativo, las rutinas del protocolo TCP/IP se volvieron "de repente" mucho más estables que en las versiones anteriores... Se investiga un poco. Por ciertas características del software, descubren que la razón es sencillamente el haber usado un software que estaba bajo una licencia muy parecida a la de XFree: "Hagan lo que quieran pero digan gracias", pero buscando por todos lados, en la ayuda, etc. no encontré nada que diga agradecimiento a los verdaderos autores.

Otra licencia es aquella que no es libre pero sí es gratis: sin cargo hoy, puede dejar de serlo después. A veces hay cosas un poco dudosas, como el caso de Internet Explorer que por un lado se dice que es gratuito y por otro lado, frente a los jueces en Estados Unidos en el 2000, se dice que es parte del sistema operativo, que no se puede sacar... que está muy entremezclado el navegador con el sistema operativo en sí.... entonces se hace complejo determinar qué es lo gratuito allí. Es como si el autor de un cuadro dijera "estas 3 pinceladas no te las cobro".

Luego otro ejemplo interesante de software que cambió de estado es BaseFp que es un pequeño programita para conectarse con éxito a la red. Hasta la versión 4 era freeware, como el autor vio que marchaba tan bien, dijo: -"ahora no, a partir de la versión 5 no es gratis, paguen licencia"-.

Otro caso son los que no son ni libres ni gratuitos, que son conocidos por todos, es el software propietario, cuyo principal problema es que no están disponibles los fuentes.

Después está el software que es libre y gratuito. Por ejemplo: Mozilla, Linux, sendmail, etc. Una cantidad infinita de utilitarios que todo el mundo utiliza para desarrollo de soluciones en Internet. Hoy en día, toda la infraestructura de internet, la parte que nunca se colgó, está hecha con software libre y gratuito.

También hay software libre que se puede pagar, por ejemplo las distribuciones comerciales de Linux, lo que no es incompatible. Si se quiere, se puede pagar dinero para desarrollar un soft libre, es más fácil de adquirir que uno propietario y se pueden compartir los gastos de mantenimiento.

La ley respeta el derecho de autor, no es Napster, no es piratería, ya que el autor elige libremente sacar su software bajo una licencia libre, porque quiere que lo copien y lo difundan. Una analogía se encuentra en el mundo académico que está muy acostumbrado a esta noción, no aún en el tema software. Por ejemplo, cuando se da un curso es deseable que lo copien, que lo aprendan, que lo difundan, ya que mientras más estudiantes sepan la teoría que se enseña, mayor es el valor del profesor. Hay empresas que cobran los cursos, porque vienen de un modelo económico. Pero en el mundo académico es más fácil entender esta noción de libre que en el ambiente comercial.

También cabe destacar que software libre no es lo mismo que ser de dominio público. No es como los $5 que al que los encuentre en la calle le pertenecen, el software libre no es libre de derecho, ya que el autor del mismo protege la noción de libertad de su software eligiendo qué quiere proteger. GPL protege una estricta libertad, haciendo una sociedad peremne, la licencia X lo único que protege es el nombre del autor.
Otra cosa, que se suele circular en documentos legales, es que el software libre no es para nada expresión de una lógica de abandono: quien hace un software libre considera que lo que está haciendo es poco útil, es nulo, es feo, por eso no lo protege. Esto no es así, sino que quien hace software libre simplemente utiliza una noción innovadora, para valorizar su software.

Hay estadísticas serias de sitios en internet, como la de una empresa que sistemáticamente pide a cada uno cuál software está corriendo para mostrar la página. Los resultados son (ver cuadro de servidores web) Lo asombroso es que este resultado (70% usa soft libre, Apache) es obtenido sin equipo de marketing. Apache no es compulsivamente entregado con equipos nuevos, ni siquiera gasta millones de dólares mostrando cielos azules, donde demuestra que todo sistema maravilloso pasa por Apache. Este resultado se logra puramente por la calidad técnica del soft. También puede observarse una estadística de qué sistemas operativos utilizan los servidores web hoy (ref. cuadro). Ver www.netcraft.com

Lo opuesto de software libre no es comercial, sino propietario. Hay empresas que comercian software libre, es decir piden un reembolso, lo que es perfectamente compatible. Pero el software propietario es aquel que no está disponible el código fuente y es necesario pagar licencias para usarlo. Por lo que se desprende que la gente que trabaja en software libre es más competente, con más conocimiento, por la simple razón de que no hay límite arbitrario de hasta dónde puede ir a ver en el sistema una persona interesada en entender, por complejo que éste sea, ya que tiene documentación, tiene información, tiene especificaciones. Puede ir tan lejos como quiera.

En el mundo de software libre hay muy muy pocos virus, por no decir que no hay virus, pues el software libre multiplica los investigadores y divide a los piratas ya que al tener todo el mundo acceso al código fuente se puede sacar provecho de esta observación. Fiscalización: el desarrollo de software libre se puede trabajar en paralelo, por internet, lo cual hace más fácil encontrar los errores, las debilidades del soft y corregirlos. Los mejores programadores en ambientes muy prestigiosos, están interesados mayormente en corregir y mejorar soft, o en crear nuevos drivers, etc., no les queda tiempo para trabajar en virus.
Por eso es importante que las empresas liberen sus códigos fuente para obtener un buen control. Permite control estratégico de cuándo y cómo hacer evolucionar un software, no en función de la última versión que me quieran vender, sino en función de las propias exigencias: si anda bien en mi máquina una versión de soft de en cinta de 1980, y habrá que adaptarlo al nuevo material, pero no es necesario cambiar todo el soft.
Por otro lado está el ahorro de miles de licencias que significa el software propietario.

Con el software propietario, como no se tiene derecho a modificar los fuentes, no es posible adaptar o personalizar el soft. También es difícil estudiarlo.
[Ejemplo del Outlook.]
[..........]

Por ejemplo, es típico que chicos adolescentes que son muy capaces, encuentran errores y no pueden corregirlos, entonces se dedican a hacer virus. La razón fundamental de realizar virus es porque quieren hacerse conocer
[..........]

Por otro lado, está la tendencia a la "economía barata". En el mundo del software, que es muy particular, el costo marginal es 0: una vez que el producto está terminado, hacer una buena copia cuesta 0. Duplicar un CD, que puede contener muchos programas, sale centavos. Cuando tenemos software propietario que vale miles de pesos (valor de mercado), no hay proporción con lo que cuesta duplicarlo. Esto facilita la instalación de monopolios.

Siguiendo un poco con el análisis del software propietario, otro de los inconvenientes es la inseguridad: lo que está pasando con los virus. Como vimos, cuando no se tiene acceso al código fuente no se puede adaptar (esto es más o menos cierto, ya que se está acostumbrado a usar visual basic para personalizar aplicaciones, es una forma particular de adaptar). Como el usuario quiere modificar el software, pide un medio de hacerlo, las empresas construyen entonces (para no dar los fuentes) elementos de scripting en gral., como son visual basic, controles activeX y miles de otras cosas que están dando vueltas, lo que introduce más inseguridad. Por ejemplo, visual basic es el componente fundamentaL que utiliza la empresa que hace virus todos los días: melisa, y otros. Todo esto gracias a que las aplicaciones pueden controlarse con pequeños scripts en Visual Basic. Otro ejemplo es el grupo de hackers que en el 1998 demostró cómo utilizando los plugins que vienen para el IExplorer pudo obtener de manera indetectable los números de cuenta corriente de las personas que hacía transacciones por internet.

Hoy en día nadie puede garantizar que un programa no tiene problemas de seguridad, es algo bastante difícil manejarla. El tema de la seguridad puede manejarse de dos maneras: una es "security by obscurity" que significa que se ponen sistemas de protección pero no se le dice a nadie cómo funcionan, si nadie sabe como funciona, no lo van a poder traspasar. Da una falsa idea de seguridad basada en "nadie conoce el algoritmo", pero quien conoce de criptografía sabe que tiene límites muy graves. Hay una gran tentación de coimear a los que trabajan allí para obtener los algoritmos que permitan desencriptar. De hecho, es una solución que se ha descartado desde hace más 20 años.

Otra solución es donde se propone una solución de seguridad, por ejemplo un algoritmo de criptografía (la claves públicas, RSA, etc.), se lo distribuye para que la mayor cantidad de expertos posible lo vea, esperando que si hay algún defecto alguien lo descubra y avise, así puede corregirse.
Un caso que habla de este problema, es el que ocurrió hace más o menos 20 años, cuando todas las publicaciones avanzadas en teorías de números, en USA, estaban sujetas a una censura de la National Security Agency, porque era considerada fundamental para la seguridad del país, ya que esa tecnología era una manera de [romper RSA?], entonces se decidió que nadie publique los resultados porque si no los piratas lo podrían utilizar. Pero se dieron cuenta de que los piratas que les interesa romper eso tienen mucha plata y seguro intentarían pagar para obtenerlo. Además, no publicándolo, se priva de una cantidad infinita de verificadores que existen en el mundo, que no son piratas.

Pero para que esto funcione en el mundo del software es preciso dejar disponible el código fuente, pero no solo del soft en sí sino también es necesario tener acceso directo al código fuente del sistema operativo sobre el cual corre, y no sólo eso, sino también el código fuente del compilador del sistema operativo, que es con el cual el soft está compilado. La razón de esto puede encontrarse en este ejemplo: Una empresa hace 15 años aproximadamente vendía un Unix propietario, del cual, por exigencias de seguridad de sus clientes, tenía que dar el código fuente de dos o tres utilitarios básicos que manipulaban la palabra clave. Sucedió que se podía tener acceso también al código fuente de Telnet, pero el compilador del sistema operativo, cuando detectaba el telnet, agregaba unas líneas en assembler que agregaban un nuevo usuario con un nuevo password. Técnicamente esto pasa inadvertido.

Resumiendo, si se quiere tener verificación y seguridad algún día, la solución (que no está garantizada) es tener acceso al fuente de todo. Es un requisito necesario para llegar a ésta.
[..........]
Desde este punto de vista el software libre es muy ventajoso naturalmente, ya que tiene más verificadores.
[..........]
Datos de seguridad de las redes académicas de Francia, reglas que deben seguir todos los sistemas que aparecen en la red informática académica.
[Ejemplos en la presentación... (no son audibles en la grabación) ]

Otro problema del software propietario es el sistema de licencias. Un ejemplo es el de Inglaterra que quería conectar todas sus escuelas a Internet. Arman el proyecto: un servidor NT y varios clientes Windows por escuela, les presupuestan todo .... , se van de vacaciones. Cuando vuelven, quieren implementar todo esto y van hacia el vendedor que les dice: "Por pedido de nuestros clientes, que dicen que el sistema de licencias es muy complejo, ahora lo hemos simplificado: en lugar de la licencia que tenía una tarifa muy particular (donde si tenían 100 PCs pagaban 10 MS Office, ya que no se usan tantos simultáneamente), bueno ahora es diferente, van a pagar 100 copias pero a un precio menor, verán que ganan plata". Los señores de la escuela hicieron las cuentas y vieron que la factura se multiplicó por 2 como resultado de la simplificación del sistema de licencias. Resultado: muchas de las escuelas funcionan con Linux, que es libre.

La situación de las licencias ahora cambió, salieron los productos XP de Windows (XP = experience... pero también de XP = expire), si no se los registran expiran... pero quizás aún así, después de un año tampoco funcionen, no hay manera de saberlo sin el código fuente.


II. Economía del software libre...

Hay razones científicas reales, por las cuales el sistema de software libre en muchos casos, no en todos, es mejor que el de soft propietario. El mecanismo de soft libre no es algo tan novedoso, es algo que en la industria ya se está explotando. En el mundo de la industria que no está particularmente compuesto de filántropos o altruistas. Los empresarios quieren ganar plata.

Por un lado está el caso de los que venden licencias: no cobran el trabajo sino que cobran la copia, en este sistema el precio del soft no es proporcional al costo, sino a la cantidad de compradores.
Por esta circunstancia se observa que la creación de trabajo calificado, desarrollando un soft propietario, personalizado es realmente muy escaso. Este es el caso del monopolio que conocemos hoy, donde se encuentra mala calidad y una suerte de impuesto monopolista que lo cobran aunque uno no quiera, ya que con la compra de máquinas nuevas imponen la adquisición del sistema operativo propietario Windows, y que no reembolsan si uno decide no usarlo.

Pero hay otra manera de ganar dinero, un modelo bastante sencillo. Hay una serie de empresas grandes, que no se califican precisamente de subsidiadas o altruistas, que quieren ganar dinero. Buscan una ganancia que es más proporcional al trabajo, cobran por el servicio. El servicio de mandar un ingeniero competente, a desarrollar una solución. El ingeniero debe estar y debe ser competente, pero si además es un competente irreemplazable, es más costoso. Además, si hay que mandarlo a solucionar un problema a otro lado, no se lo hace viajar grandes distancias, sino que lo ideal es que esté cerca de la zona donde se lo necesita. Se crea de este modo trabajo de calidad y de proximidad.

El extremo de este tipo de empresas sería las de software libre que no cobran por el trabajo sino por el servicio.
[Transparencia #10: Datos económicos de empresas que hacen soft, cuadro comparativo de servicios prestados, etc. Enfoque económico: cuánto "produce" cada empleado y el otro enfoque: cuantos empleados para responder ante problemas por cada millón que ganan]
Estos datos son muy importantes a la hora de buscar una empresa que brinde calidad.

Pero en el soft libre ¿se gana?, ¿cómo se gana? Antes de explicar esto veamos algunos conceptos:

Todos salen ganando.


III. Un enfoque académico

La Universidad puede ser utilizadora o creadora de software. Como utilizadora hay contras para que le interese el soft propietario: por un lado el costo, por otro lado la mala pedagogía, en carreras de informática particularmente, ya que se pone limitaciones arbitrarias a cuánto conocimiento el estudiante puede alcanzar, ya que no se puede llegar hasta los puntos interesantes. Hay una frase de un filósofo napolitano que dice "Conocer, es saber hacer", no se puede decir que uno conoce algo si no lo sabe hacer, algo que es de suma importancia en el campo de la informática. Por ejemplo, no se puede saber qué es un compilador, cómo funciona si no entienden que es lo que hacen.

También cuando se estudia algoritmos, el primero que se estudia en algoritmos para programación dinámica, es el que calcula la más larga subsecuencia común entre dos cadenas de caracteres... ese algoritmo está en la base del programa diff que se usa para encontrar diferencias en los archivos de texto. Entonces para conocer este algoritmo no hay mejor manera que ver cómo un soft de calidad, que es el diff, lo usa. Entonces se ven un montón de variantes, de partes anteriores y posteriores al algoritmo que son fundamentales. El conocimiento que se obtiene de esta manera es mucho más profundo.

Obligación de imparcialidad, la escuela es un bien primario, la formación hay que dársela a todos, y formar en todo... Entonces no se puede permitir enseñar a la gente un solo software. Hay que mostrar varias cosas y que el alumno decida.

El software libre permite igualdad de oportunidades, ya que no es necesario contar con muchos recursos económicos para poder aprender, con el soft libre todos pueden tener acceso a productos de igual o más calidad que los propietarios, y sin cometer actos ilegales. Paradójicamente, el soft libre protege la propiedad intelectual del soft propietario.

Pero para lograr todo esto, hay que hacer conocer el soft libre ya que es algo nuevo, hay asociaciones que se encargan de eso. Reconocer el soft libre, por parte de entidades u organismos de importancia, por ejemplo en la Universidad de Di Cosmo hay una política de valorización del soft libre, haciendo una mención explícita que legaliza el soft GPL producido en ella.

Hay que indexar el soft libre, ya que hay miles de proyectos. Por ejemplo el sitio de educación francés donde se recopila, documenta y evalúa el soft para los distintos grados de la escuela.

Hay distintos emprendimientos en Europa de apoyo y financiamiento para desarrollo de soft libre, tanto por parte de organismos gubernamentales como de empresas privadas.


IV. Success stories...


Epílogo: Dificultades del Software Libre

[ Habla algo de hardware libre, que es necesario recursos económicos importantes para este tipo de proyectos, hay algunos estudios, pero son a largo plazo. Hay un sistema de desarrollo de chips libre. Estos proyectos están prácticamente limitados al ámbito académico, donde los estudiantes pueden experimentar nuevos algoritmos, cosa que no pueden con los comerciales. Pero después llevar esto al ámbito productivo/comercial es bastante más difícil.
ASCI DDI es el soft de presentación que utilizó, totalmente libre, desarrollado por su equipo de trabajo en la Universidad, se puede bajar de www.dicosmo.org.
Habla de los problemas de utilizar archivos Word (problemas de seguridad en cuanto a privacidad, ya que el "guardado rápido" de Word graba en disco un segmento de memoria, que no estaba previamente vacío.... ) Es siempre conveniente utilizar en todo caso html. ]

Hospedado por GrULiC Valid HTML 4.01! Última modificación: 10/11/03