* Notas/Script de la conferencia presentada ante un auditorio de la Universidad
de Bucaramanga, Colombia, el 10 de Octubre de 2001. Este texto pertenece a Luis
Miguel Arteaga (larteaga@yahoo.com) y puede ser copiado integramente siempre y 
cuando se conserve esta nota. 

-- Este documento intencionalmente no contiene acentos --

-- Introduccion

Lamina Sin Numero

Lamina 1 

Cuando German Velasquez me pidio amablemente que dirigiera unas palabras ante 
este auditorio, le sugeri el tema y el titulo de esta platica. Quisiera ahora 
hacer de su conocimiento que el titulo tiene un error totalmente voluntario, 
que quise introducir desde un principio, como punto inicial de mi disertacion. 

Lamina 2

"Ventajas del software libre sobre el software comercial" debe explicarse en 
base a las definiciones de ambos tipos de software. En realidad, eso no es tan 
sencillo. Existen muchos tipos de software, entre los que se pueden nombrar 
como mas conocidos son el de Codigo abierto, mejor conocido por su nombre en 
Ingles de "Open Source", Propietario, comercial, shareware, freeware y otros 
muchos.(1) 

Como nota adicional de esta lamina, freeware se aplica a veces a software que 
es gratuito, pero que no se incluye el codigo fuente en el, por lo que solo se 
considera un regalo. Hay que tenerlo en cuenta para no caer en este error. 

Lamina 3

Estan viendo en este momento el diagrama de las categorias del software, 
diseniado por Chao-Kuei, donde se muestran de manera muy grafica los diversos 
tipos de software, representados por las principales categorias. De manera 
general, podemos decir que existen dos grandes tipos, el de la izquierda, que 
incluye una yuxtaposicion del open source y free software dentro de los cuales 
hay otros subtipos, y la columna de la derecha, donde se muestra el software 
propietario y cerrado. 

Una curva encierra parte de los dos grandes tipos, indicando aquellos 
programas que pueden ser obtenidos por medio de la internet o con una copia 
fisica, muy de vez en cuando se confunde el hecho de poder "bajar" o 
"descargar" un programa de la internet con la caracteristica de que sea libre. 

Generalmente, cuando hablamos de "software comercial", nos referimos a 
aquellos programas que son cerrados en su codigo, que debe pedirse algun tipo 
de permiso (ya sea por una cuota o sin ella) para modificarlo, verlo o 
distribuirlo. Es muy importante hacer notar que la diferencia entre el 
software libre y el comercial de ninguna manera se deriva del hecho de pedir 
una cantidad monetaria por el uso, esta es una falacia que comunmente es 
aceptada. Es posible legalmente obtener un beneficio economico por una pieza 
de codigo sencilla o compleja sin alterar su categoria. En el diagrama de la 
lamina no se incluye ninguna division por el costo o valor del software.  

Para evitar entonces esta falsa impresion, es preferible usar la frase 
"Software propietario", pues denota mas claramente la categoria de esos 
programas en los que las libertades han sido arrancadas a los usuarios, 
manteniendo el autor del mismo alguno o todos los derechos. 

Lamina 4


Asi pues, esta conferencia con todo derecho, debe titularse "Ventajas del 
software libre sobre el software propietario". 

Las categorias del software tambien nos traen otro problema, pues muchos de 
los programas de uso comun en ambientes libres (tales como los metodos de 
encriptacion PGP) son semi-libres. Es decir, que los usuarios tienen permiso 
del autor de usarlo, copiarlo, distribuirlo y a veces hasta para modificarlo, 
pero solo para efectos no lucrativos. La libertad ha sido dada, pero no 
plenamente, y aunque este tipo de programas son mucho mejores que los 
propietarios, aun tienen ciertos problemas eticos que no pueden ser desechados 
a la ligera.

Definir el software libre es relativamente dificil, ya que se requieren una 
serie de condiciones para que sea considerado como tal, en contraparte, el 
caso del software propietario es mucho mas facil: los propietarios o autores 
ponen a sus programas bajo un copyright, con el objetivo de que solo ellos 
sean capaces legalmente de copiar y fisicamente de modificar el codigo fuente 
para de esta misma manera ser los unicos que se beneficien economicamente del 
mismo. 

No es el objetivo de esta platica hablar de las categorias del software, 
puesto que podriamos discutir los pequenios detalles durante horas sin parar. 
Asumiremos que solo existen los dos tipos mencionados en el titulo que ahora 
hemos acordado y tendremos en cuenta que existen mas variantes que se inclinan 
hacia uno u otro extremo. De igual manera, establecere algunas comparaciones 
usando ejemplos con software que es casi libre, como el caso del servidor web 
Apache. 

Lamina 5

-- Software libre y Open source

Algunas de las ventajas del software libre que presentare se deben a una de 
las caracteristicas de este tipo de programas: la publicacion del codigo 
fuente. Dicha publicacion es apoyada por la OSI "Open Source Initiative" o 
iniciativa el codigo abierto, por sus siglas en ingles. En los ultimos anios y 
sobre todo en los ultimos meses ha habido una agria discusion en cuanto a la 
posicion francamente divergente de los grupos e individuos que apoyan la OSI y 
aquellos que apoyan a la FSF, la fundacion para el software libre. 

En realidad, la OSI no tiene ninguna posicion en contra de los objetivos de la 
FSF, de hecho en los materiales del sitio oficial para el open source, dice 
textualmente que el "codigo abierto es un sistema de mercadeo para el software 
libre" (11). El open source y el free software no son contendientes, aunque 
sus lideres reconocen que tienen motivaciones completamente diferentes. La 
meta final del movimiento de open source es lograr un software 
tecnologicamente avanzado, mientras que el del software libre lograrlo con 
medios eticos y socialmente correctos.

El open source y el software libre son dos diferentes facciones -se podrian 
llamar politicas- de lo mismo. Difieren en los principios basicos, pero mas o 
menos recomiendan lo mismo, por lo que se puede trabajar -de hecho se hace de 
manera constante- en proyectos especificos, de ninguna manera se ven como 
enemigos, sino como lo que son: dos corrientes de pensamientos que dirigen sus 
diferentes medios a un mismo objetivo: la desaparicion del software 
propietario. 

Lamina 6

Existen muchas ventajas por las que alguien deberia de usar programas libres 
en vez de algun programa propietario, 

- Apertura del codigo fuente
- Libertad de uso y reuso
- La ventaja Educativa
- La ventaja Economica
- El desarrollo sostenido
- Seguridad
- Estabilidad
- Respaldo o Soporte
- Democracia del software
- El ahorro cooperativo
- Caracteristicas vs. funcionalidad
- Ventaja Sectorizada

Estas son, a mi manera de ver las ventajas mas importantes del software libre. 
Hay que recalcar que este es mi particular punto de vista, hay quienes , como 
Richard Stallman dejarian de lado alguno de estos temas y pondrian otros 
puntos con mas contenido social. Casi me atreveria a decir que cada uno de los 
que nos decidimos por usar el software libre lo hacemos por motivos 
particulares. Cada uno de ustedes, si es que se decide a usar software libre, 
tendra sus propias razones. 

Lamina 7

- Apertura del codigo fuente

Quiza la caracteristica mas importante del software libre. Algunas de las 
libertades que nos da este tipo de software precisamente son consecuencia de 
esta apertura, o tienen la consideran un prerequisito. Es tambien el 
principal punto de union con otros movimientos como los del open source.

El hardware cambia y evoluciona a una velocidad superior a la que se puede 
predecir. Hace poco se celebraban los primeros 20 anios de la PC de IBM, la 
primera computadora personal y hoy tenemos ordenadores muchos miles de veces 
mas rapidos que apenas hace unos anios. La apertura de codigo nos da la 
facilidad de adaptar programas funcionales a nuevas plataformas, o a 
modificaciones necesarias para condiciones cambiantes. 

Recuerdo que muchos juegos que fueron desarrollados para la plataforma 80286 
tuvieron que ser modificados porque las nuevas computadoras basadas en 
procesadores 386 eran tan rapidas que hacian el juego imposible de manejar, 
pues el programador inicial contaba con las perdidas de tiempo en el 
procesamiento de la plataforma que tenia a su alcance. Hoy en dia, un buen 
programador toma en cuenta los posibles cambios futuros en la plataforma para 
la que este trabajando, pero no sabe si alguien querra portar su software a 
otros sistemas, digamos de una Mac a un Unix. El que el codigo fuente este 
disponible le da la oportunidad a alguien con el conocimiento suficiente de 
portar esa aplicacion para su plataforma sin tener que pasar por el proceso 
total del desarrollo. 

Muchos expertos han llegado al acuerdo que para efectivamente extender el 
tiempo de vida de un programa, una precondicion es contar con el codigo 
fuente. Se calcula que un ningun software de hace diez anios ha podido 
sobrevivir sin cambios en la forma binaria, mientras que muchos otros que 
fueron diseniados y originalmente codificados en los ochentas, siguen 
trabajando, aunque obviamente adaptados al entorno actual. El compilador de C 
de GNU es una muestra real de este trabajo, tiene casi veinte anios y las 
plataformas  Unix deben gran parte de su existencia a este compilador. Por lo 
que sabemos, seguira  siendo parte importante de esta plataforma por un buen 
tiempo.  

Otra gran ventaja de contar con el codigo fuente es la posibilidad de crear 
dos proyectos a partir de uno inicial, o crear uno alternativo si una parte de 
la comunidad de usuarios o programadores creen que de alguna manera no ha sido 
bien manejado o tiene un fin diferente al percibido de manera particular o 
general. 

Esto es considerado a veces como una desventaja, porque se tienen que manejar 
dos sets de codigo fuente en vez de uno solo. Un "fork", como es llamado en 
ingles a esa separacion, a veces es manejado por dos organizaciones 
diferentes, pero no siempre. Puede darse debido a problemas con las licencias, 
o a razones tecnicas. Estas ultimas son motivo de debate frecuente, ya que hay 
mas de una  manera de hacer alguna tarea en especial y los programadores no 
siempre se  ponen de acuerdo en cual es mejor. 

Si la comunidad es suficientemente grande  como para permitir que se dividan 
en dos y cada uno siga un camino separado, entonces es posible llegar a un 
acuerdo. Si estas razones han dejado de tener importancia, a veces es posible 
reunificar los proyectos en uno, como es el caso reciente de gcc y egcs. 

En otros casos similares, este fork, o division es llevado a cabo por razones 
practicas. un ejemplo es el desarrollo del kernel Linux, que tiene dos 
proyectos uno llamado "estable" y otro llamado "experimental". De esta manera 
es posible introducir nuevas caracteristicas, variantes, que pueden resultar 
peligrosas o estan poco probadas sin romper el codigo que se encuentra en el 
"estable". La gente interesada en conocer esas nuevas tecnologias puede 
probarlas usando el proyecto "experimental", pero los servidores de produccion 
deberian siempre usar el "estable". 

Aun asi, recientemente los lideres de movimientos como el Software Libre y el 
Open Source, el creador del proyecto Gnome y el CEO Red Hat han firmado una 
carta abierta a Microsoft, (6) llamada "Stand Together", "mantengamonos 
juntos". En ella, invitan al gigante verde a unirse a la campania del Free 
software, asi como se han unido usuarios, desarrolladores y ahora grandes 
empresas como HP e IBM. Cualquiera, esta invitado a participar de la misma 
manera. La misma microsoft ha decidido dar un paso adelante, con la iniciativa 
"shared source", codigo fuente compartido, que se traduce en "Vean, pero no 
toquen, y nosotros controlamos todo". No puedo negar que no es lo que se 
espera, pero que es un avance importante en ese sentido. 

Lamina 8

- Libertad de uso y reuso

En cuanto a la libertad de uso, tenemos cuatro vertientes importantes, la 
posibilidad de cambio, la creacion de nuevas comunidades, la igualdad de 
circunstancias y el uso del software en cualquier caso dado. 

La libertad, el derecho de redistribuir modificaciones y mejoras al codigo, la 
posibilidad de uso de partes de codigo de otros en los propios hacen que se 
formen grandes comunidades en torno a esos proyectos. En sustancia, el hecho 
que la redistribucion de esa libertad no puede ser revocada y que es 
universal, es lo que atrae a las masas no solo de programadores, sino tambien 
de usuarios finales. 

En suma, se puede decir que estas libertades establecidas de manera 
igualitaria con todos los usuarios y programadores de cada proyecto les da una 
base inicial sin desventaja para nadie. Una gran empresa puede contar con un 
equipo de programadores y todas las facilidades para desarrollar un gran 
proyecto, pero no por eso el individuo que trabaja por su cuenta debe 
considerar que no puede competir con la corporacion, pues el software libre 
allana las diferencias y pone a todos en igualdad de condiciones iniciales. 

Quien sea, puede tomar parte del codigo ya hecho y aplicarle ideas o metodos 
nuevos con lo que efectivamente esta ahorrandose el camino que otros ya 
recorrieron, adelantando en su terminacion. Una idea innovadora puede llegar 
al mercado mas eficientemente si llega pronto, si se basa en trabajo 
que ya esta hecho, si no se redescrubre el hilo negro. Si se comenzara cada 
vez desde cero, quiza, cuando esta idea alcance a las masas ya no sea tan 
innovadora. 

Por otra parte, una comunidad extensa de usuarios regulares, a los que no se 
ha logrado juntar por medio de publicidad, sino por medio de un software de 
calidad, se puede convertir facilmente en un mercado potencial para el soporte 
y posible "customizacion" del proyecto. Esto a su vez, comienza un ciclo, 
donde los usuarios ayudan a mejorar la calidad y funcionalidad del producto, 
atrayendo a su vez a mas usuarios. Este ciclo se repite una y otra vez. 

El "Uso y reuso en cualquier caso" es una ventaja exclusiva del free software 
con la que no cuenta el open source. Apple ha liberado algo de su codigo 
fuente, pero a pide que cualquier cambio sea regresado a ellos para su 
aprobacion y una posible introduccion de este parche en versiones 
subsecuentes. Tambien prohibe el uso de software modificado para usos 
particulares, exige que todos los cambios sean publicados. Definitivamente 
Apple ha avanzado hacia una licencia libre, pero todavia no llegan a ella. 

Lamina 9

- La ventaja Educativa

Una ventaja primordial del software libre es que es educativo. Si yo quiero 
convertirme en un escritor de libros, puedo ir y comprar una novela de mi 
autor favorito, leerlo y descubrir el estilo. Si quiero ser realmente bueno, 
puedo comprar muchos libros, leerlos todos e ir conociendo mas del tema que 
quiero escribir, llamese novela, poesia, ensayo. Ademas, siempre puedo ir a 
una escuela o contratar a un tutor para que me ensenie redaccion. Pero nada en 
una escuela puede superar a lo que yo aprenda leyendo. 

De la misma forma, puedo aprender a construir una casa viendo los planos de la 
misma o armar un juguete para mi hijo leyendo las instrucciones. Cualquiera de 
estas actividades no entrania ningun secreto, como no sea el punto exacto de 
la mezcla de arena, agua, cal y cemento necesarios para el empaste de las 
paredes que quiero levantar en la supuesta casa. 

Junto con los planos, las instrucciones o las palabras originales, la practica 
puede hacer de mi un buen maestro en una de estas actividades, y si a eso le 
aniado una educacion formal o informal, puedo dominar en un tiempo razonable 
la materia. 

Una casa, un juguete y un libro son objetos que puedo tocar y desarmar para 
aprender como estan construidos, que materiales fueron usados. A diferencia de 
un programa en forma binaria que ademas esta protegido por un copyright, una 
patente o una ley. 

En una clase de literatura, pueden hablar de un cierto libro en particular, 
hacer que los alumnos lo lean y despues escriban un ensayo elogiando la prosa 
o haciendole ascos al estilo del autor. Eso se llama aprender literatura. 

Sin embargo, en un mundo donde el software propietario prevalece, es imposible 
para un estudiante promedio acceder al codigo de un programa de uso comun, 
modificarlo y ver como se comporta en diferentes situaciones y con los cambios 
introducidos. Los cursos de programacion se hacen con bases teoricas, como si 
de filosofia o etica se tratara. Se ensenia un lenguaje a los alumnos, se les 
pide desarrollen algun ejemplo usando las nuevas herramientas, una vez que 
hacen eso se da por enseniado. Eso no se llama aprender programacion. 

El uso generalizado del software libre permitira a un estudiante de 
programacion o de materias equivalentes, acceder al codigo fuente, modificarlo 
segun sus necesidades de investigacion y distribuirlo a otros individuos o 
entidades sin tener que pedir permiso o pagar por ello. Tambien debe ser 
posible aplicar parte del codigo ya escrito para construir nuevos programas.

Eso es a lo que yo llamo aprender programacion. 

Lamina 10

-- La ventaja economica

Como lo exponia al principio, una concepcion equivocada generalizada acerca 
del software libre es que este no cuesta nada: que por este tipo de software 
se debe cobrar nada o casi nada. Esta es una idea, quiza para algunos nueva, 
completamente falsa. En realidad se insta a la gente a que cobren tanto como 
puedan o quieran cuando distribuyan software libre. 

La confusion se origina debido a que en el idioma ingles, solo se cuenta con 
una palabra para definir algo que es gratuito, que no tiene costo y algo que 
es libre. Free software puede significar sin costo o libre. Afortunadamente en 
castellano existe tal diferenciacion: cuando hablamos de libre no estamos 
implicando el tema economico. 

Hablando en terminos generales, el software libre es aquel que cumple con 
cuatro condiciones basicas: 

El usuario puede 
1. correrlo las veces que quiera en la situacion que desee. 
2. cambiar el programa. 
3. Distribuir el programa con o sin cambios. 
4. Hacer publicos los cambios que ha hecho al programa, si los hubo. 

Estas son las unicas reglas para considerar un software como libre. Si ponemos 
atencion, ninguna de estas cuatro condiciones basicas habla del dinero, de 
costos, de valor. Esto no hace ninguna diferencia. Alguien puede vender un 
paquete cerrado de un programa propietario por una suma increiblemente alta u 
ofrecer una copia sin costo a un amigo, sin que esto convierta en libre a ese 
programa. Con costo o sin el, el programa no es libre porque no ofrece las 
cuatro libertades basicas. 

Lamina 11

Redistribuir software libre puede ser un buen negocio. Algunas empresas, por 
dar un simple ejemplo, estan vendiendo una caja con algunos discos compactos 
conteniendo una version de GNU/Linux. Otras, venden 
sistemas de punto de venta basados en PostgresSQL, un manejador de bases de 
datos semi-libre. Y las distribuciones de GNU/Linux casi siempre contienen 
otros muchos programas libres (y a veces no tan libres). Ese es su negocio, y 
hablaremos de ello y de otros modelos de negocios mas adelante. Por lo pronto 
dejamos en claro que es posible tener negociar con este software y que no 
necesariamente lo que es libre es gratuito o viceversa. 

Lamina 12

-- La ventaja del desarrollo sostenido

"Si he visto mas alla que los demas, es porque me he apoyado en hombros de 
gigantes", dijo Newton. La ciencia avanza porque no se descubre todo una y 
otra vez. La medicina moderna se basa en los descubrimientos que se han 
sucedido en los ultimos siglos. La fisica, la quimica y cualquier otra rama 
del conocimiento humano se benefician ampliamente de lo que ya sabe, de lo que 
es del dominio publico o que se encuentra escrito en bibliotecas para crear 
nuevos conocimientos. 

Teniendo software propietario se consigue precisamente lo contrario. Una 
empresa desarrolla un nuevo metodo y lo protege, vendiendolo como un binario 
solo ejecutable. Cinco anios mas tarde, alguien mas necesita ese metodo y debe 
reinventar algo que ya fue hecho, en vez de tomar el anterior y mejorarlo. Se 
pierden muchisimas horas hombre en este ciclo redundante y el arte de 
desarrollar software avanza a un ritmo mucho menor de lo que deberia. 

Un ejemplo que podemos mencionar en este punto: a principios del 99, la 
empresa de electronica Siemens comenzo a migrar sus sistemas SAP, basados en 
un sistema operativo propietario y obsoleto a uno con GNU/Linux. Sin embargo, 
se toparon con un problema: el kernel de Linux solo soportaba en ese tiempo 
2Gb de RAM, lo cual suele ser muy poco en las aplicaciones de bases de datos 
intensivas y de alta criticidad. Siemens y SuSE, una de las empresas que 
trabajan vendiendo distribuciones de GNU/Linux, combinaron esfuerzos, 
desarrollaron un parche y consiguieron su adicion a la siguiente version del 
kernel. Con esto, obtuvieron lo que necesitaban sin tener que haber invertido 
millones en desarrollar su propio kernel. (3)

Tomaron el que ya estaba hecho y lo modificaron. Alguien se imagina haciendo 
eso con otro software que no hubiera sido libre? No solo fue necesario que el 
codigo estuviera disponible, sino tambien que la facilidad del cambio fuera 
dada por el autor original, en este caso por Torvalds, desarrollador del 
kernel Linux. 

Lamina 13

-- Seguridad por metodo , no por oscuridad

-- Comentario acerca de la conferencia de seguridad -- 

La seguridad se ha convertido hoy en dia en el tema de mas actualidad en 
cuanto al computo se refiere. Podria apostar que la mayoria de ustedes han 
escuchado en las ultimas semanas los danios causados por los viruses que en su 
mayoria se aprovechan de errores, fallas y puertas abiertas en sistemas de uso 
comun. Se calculan en millones de dolares las perdidas por dichos viruses. 

Los expertos no se han puesto de acuerdo, pero la mayoria seniala sin lugar a 
dudas que el free software y en particular el codigo abierto que se propone 
dentro de este esquema es mucho mas seguro, ya que el acceso a este codigo por 
muchos y no solo por unos cuantos, permite a cualquiera descubrir posibles 
fallas o codigo malicioso. En general, los problemas suelen ser mas rapidos de 
identificar y por ende resolver que en el software propietario. 

Los argumentos a favor de la seguridad en el codigo abierto son muchos y 
variados, pero la mayoria rondan alrededor de la "revision multiple", que 
consiste simplemente en que muchos tienen el poder de tomar un vistazo a lo 
que pasa debajo y detras de la interface, y  las posibilidades de identificar 
y detener un problema a tiempo son mucho mayores. Esta idea es comunmente 
expresada en la frase de Eric Raymond -el gran abogado del codigo abierto- que 
reza "Dados suficientes ojos, todos los bichos se descubren". 

En contraste, los usuarios del software propietario son totalmente 
dependientes del proveedor para identificar y resolver fallas, y si bien es 
cierto que este proveedor tiene una motivacion economica para encontrar esos 
errores, tambien es cierto que un fabricante de software destina la mayor 
parte de sus recursos a proveer de nuevas caracteristicas en sus programas, 
que son mas visibles. Si hay que elegir entre resolver un escondido error en 
una rutina ya olvidada y proporcionar al usuario con una caracteristica 
vistosa, el resultado obvio es esto ultimo. 

Lamina 14

Los riesgos a los que se enfrenta una empresa que instala software propietario 
para aplicaciones que requieren alta seguridad se pueden resumir en cuatro 
puntos:

1. La no disponibilidad del codigo fuente reduce la adaptabilidad y la 
reparabilidad. 
	- Una empresa puede descubir por si misma un error en el software que utiliza 
y creer que es tan fatal que puede alterar sus operaciones, por lo que se 
decide a hacer la modificacion por sus propios medios.El free software 
demuestra aqui la necesidad de su existencia, no solo es necesario tener el 
codigo fuente a la mano, pues es tambien es necesaria la libertad de 
modificarlo y usarlo en las nuevas condiciones.

2. La Inescrutabilidad del codigo prohibe la "revision multiple". 
	- En el software propietario, tan solo unos cuantos programadores son capaces 
de cambiar un fallo aparente o visible, pero estan demasiado ocupados 
codificando las nuevas caracteristicas. 

3. Falta de interoperabilidad, que a veces lleva a elegir soluciones 
complejas, pero monoliticas. 
	- Un callejon sin salida: instalar aplicaciones que solamente pueden 
interactuar con otras aplicaciones del mismo vendedor puede resultar comodo al 
principio, pero es un callejon sin salida cuando uno de esos componentes debe 
ser remplazado por cualquiera que sea la causa. 
	
4. Complicacion de integracion con otros sistemas debido a interfaces 
propietarias. 
	
En suma, los proveedores creen que el usuario debe confiarse en el codigo 
cerrado y propietario por un acto de fe, y el software libre es una salida 
obvia para quienes quieren evitar estos y otros riesgos en 
sus operaciones. Las herramientas GNU, por poner un ejemplo, han resultado ser 
mucho mas seguras que otras parecidas en ambientes Unix comparables. Un 
estudio llevado a cabo por Barton P. Miller y otros investigadores (4) 
demostraron que aunque los sistemas comerciales mejoran en cada version, las 
herramientas libres GNU llevan una ventaja importante en cuanto a seguridad se 
refiere. 

El anio pasado, la Agencia consultora de tecnologia e Informacion del 
ministerio del interior aleman, paso un propuesta para que las agencias 
federales alemanas adopten software libre y en particular software al que se 
pueda accesar el codigo fuente. La propuesta pone en primer termino el posible 
riesgo de seguridad por usar formatos propietarios, concluyendo que el 
"software de codigo abierto no es seguro per se, sino que es una precondicion 
fundamental para que la seguridad sea obtenida". (7)

Resulto muy indicativo que al poco tiempo, los miembros del parlamento Frances 
han propuesto de la misma forma que las agencias y ministerios federales 
tengan una politica que les impida usar software propietario en sus 
operaciones. Citan las mismas razones, simplemente con diferente derrotero. 

En el area de la criptograficacion, las revisiones por parte de personas 
externas a quienes desarrollan los metodos matematicos de encriptacion se ha 
reconocido desde siempre com un elemento esencial en el desarrollo. La unica 
forma de probar fallas de seguridad en un software es probandolo, y la mejor 
forma de facilitar esa prueba es publicando el codigo fuente. 

El software libre usa estandares publicados y aceptados, lo cual facilita la 
interoperabilidad con otros programas. Ambas propuestas, la francesa y la 
alemana, hacen especial mencion en que el uso de estandares publicos es un 
punto de seguridad a considerar. Y es que muchos programas propietarios usan 
interfaces y formatos que limitan su uso a otros programas del mismo vendedor, 
o a un rango limitado de productos "autorizados". Ocurre que frecuentemente, 
este rango tan limitado de productos no cumplen con los requerimientos de 
seguridad del usuario, entonces se convierte en un fallido punto de seguridad. 

Lamina 15

-- Lo que no se ve

Por supuesto, el uso de software NO libre tambien puede tener otras amenazas 
ocultas que no todo el mundo conoce. El software hoy en dia controla la manera 
como el mundo vive, se comunica y se hacen negocios. Los programas 
propietarios son tipicamente secretos, nadie sabe lo que en verdad hacen 
detras de bambalinas. Quien puede decirme si un software que estoy usando y 
del que no conozco el codigo no tiene puertas traseras, o manda informacion 
personal a un servidor en la red?

Uno de los puntos mas problematicos son las posibles caracteristicas del 
software propietario que pueden estar escondidos al usuario final y del que 
este ultimo no tiene la mas remota idea de que existen. Por citar un par de 
casos, Microsoft y Real Networks hace poco levantaron una ola de protestas 
cuando se descubrio que ambos estaban usando Identificadores Unicos Globales 
interconstruidos en sus programas, para obtener informacion privada y sensible 
acerca de los usuarios. En ambos casos, las companias primero negaron para 
despues aceptar que estaban alimentando grandes bases de datos con informacion 
individual de cada usuario que estaba identificada precisamente con esos 
numeros unicos. 

Microsoft mantiene hasta hoy en dia que esto ayuda a dar mejor soporte a sus 
usuarios, manteniendo una base de datos con problemas especificos y un  
historial personal, pero que no habian contemplado los problemas eticos y 
sociales que estaban generando. Por otra parte, Real Networks dicen que esos 
numeros unicos fueron incluidos en el software de manera inadvertida -como si 
eso fuera posible-,  y que de cualquier manera ellos no estaban usando esa 
informacion para nada. Las palabras casi textuales de David Brotherson, el 
vocero de Real Networks, fueron que "La compania no usa esa informacion para 
nada, de hecho, ni siquiera nos habiamos dado cuenta que estaba ahi".

Estos dos fallos "inocentes" o no, de Microsoft y Real Networks son dos 
ejemplos conocidos de caracteristicas "no documentadas" que exponen 
informacion potencialmente danina de los usuarios, sin su conocimiento o su 
consentimiento, pero seguramente no son los unicos casos. Dejando las 
protestas de inocencia a un lado, la sola presencia de estas caracteristicas, 
es algo que debe tomarse en cuenta

La propuesta francesa en particular, hace hincapie en este sentido y dice que 
para  de resguardar la seguridad nacional, es necesario asegurarse que los 
programas usados en la administracion publica no sean capaces de mandar 
informacion a terceros, sin el conocimiento del usuario y por ningun motivo 
sean ademas capaces de permitir a esos terceros tomar el control de una 
estacion de trabajo. 

Los criticos dicen que el software en el que el codigo es publico, tienen 
mas posibilidad de convertirse en blanco de un ataque y un hoyo de seguridad. 
El problema con este argumento es que al parecer los crackers que se divierten 
creando viruses y otros ataques son tan capaces de encontrar vulnerabilidades 
tanto en software propietario como en el que no lo es. Los recientes ataques 
de virus contra servidores de correo basados en plataformas Windows asi lo han 
demostrado. 

Securityportal.com, un sitio de internet dedicado a la seguridad, como su 
nombre en ingles lo indica, llevo a cabo un estudio en el que comparo los 
tiempos de respuesta a las vulnerabilidades entre el software libre y sistemas 
propietarios. El estudio media el tiempo entre que se daba a conocer una falla 
y la disponibilidad de un parche, y compararon las respuestas a problemas de 
Linux distribuido por RedHat, Windows NT de Microsoft y Solaris de Sun. El 
descubrimiento fue contundente: por mucho, los mejores resultados en cuanto a 
rapidez se daban en Linux. (9)

Por supuesto, que el codigo fuente este accesible no significa que alguien lo 
este leyendo y modificando para mejorarlo, o que todos los bugs han sido 
encontrados y resultos. Ciertamente la libertad para observar el codigo, 
cambiarlo e incluir estos cambios en una distribucion que da el software libre 
aumenta el nivel de seguridad de un programa y aumenta tambien la probabilidad 
que la mayoria de los errores hayan sido desterrados, pero no convierte 
automaticamente a un programa en un bunker. 

El primer paso esta dado, si, pero es necesario todavia trabajar mas. Alguien 
tiene que ver en el codigo y tener la suficiente capacidad tecnica de 
entenderlo y mejorarlo. Uno o dos millones de usuarios novatos leyendo un 
codigo de encriptacion probablemente no hara ningun bien, pero algunos cientos 
de programadores avanzados revisando el trabajo de los demas seguramente 
aumentara la seguridad en general. 

Lamina 16

-- La confiabilidad es clave

Es un hecho que el software libre, con codigo abierto y susceptible de ser 
modificado es, la mayoria de las veces (no siempre), mas confiable. A primera 
vista esto pudiera parecer contradictorio, pero no lo es. Existen varias 
razones por las que un software desarrollado por una comunidad y no por una 
empresa, tienda a ser de mejor calidad. 

Una de las razones es que la comunidad completa, actuando como un todo, se ve 
envuelta en el proceso de desarrollo de cada pieza de software. Los usuarios 
no solamente reportan bugs o problemas, sino que adicionalmente y de manera 
sistematica, mandan parches o sugieren cambios a alguna seccion de codigo 
problematica. Los usuarios -ahora convertidos en co-desarrolladores-  trabajan 
juntos sin ninguna organizacion jerarquica, conversando por email, llegan al 
fondo de los problemas y los resuelven eficientemente (5). Por supuesto, esto 
no es la norma para todo el software libre, pero en general es la manera como 
se comporta un proyecto.

Otra razon importante es que los desarrolladores realmente se preocupan por la 
confiabilidad de sus programas. Los programas libres no siempre compiten por 
obtener resultados economicos, pero aun asi siempre compiten por una buena 
reputacion, y un programa que no se ejecuta satisfactoriamente y da los 
resultados esperados, nunca tendra la popularidad que los desarrolladores 
esperan. Mas aun, un autor que publica su trabajo, pone algo mas que el codigo 
en linea: tambien esta exponiendo su reputacion personal, y mejor tendria que 
hacerlo bien si no quiere obtener como repuesta la desaprobacion de la 
comunidad. 

Este ultimo ha sido llamado por algunos el "factor ridiculo": Si alguien puede 
ver tu codigo fuente entonces tendras algun incentivo por hacerlo mejor, pues 
sabes que de otra manera esa otra persona se morira de la risa cuando vea los 
terribles errores que has cometido. De ahi que un programador tratara de poner 
lo que este de su parte porque el programa sea al menos funcional y limpio. 

Se dice que los programadores son personas perezosas y no creo que haya una 
mejor forma de describirlo. Un programa comienza cuando alguien tiene un 
problema que quiere resolver por medio de la computadora. A veces es un 
problema repetitivo o de aburrida complejidad, de tal manera que comenzamos 
con algo pequenio que simplemente resuelva temporalmente dicho problema. Con 
esto tenemos otra ventaja de un software no-diseniado comercialmente: 
Alguien usa el software. 

Los programas comerciales estan hechos para ser vendidos, no usados. Una caja 
bonita, con un manual impreso en un papel brillante y un medio magnetico u 
optico con el logo a todo color de la empresa es lo primero con lo que el 
usuario tiene contacto. En contraste, que el programa es funcional es lo 
primero que se ve cuando se obtiene un software libre: podemos asegurarlo, ya 
que por lo menos una persona (el programador) lo usa!. 

Lamina 17

-- Desventaja mitica: El soporte

Cuando una empresa de cualquier tamanio se decide por un programa en especial, 
sea para llevar sus registros de contabilidad, sus movimientos de inventario o 
cualquier otra actividad dentro de sus operaciones comerciales, un error comun 
es elegir software propietario debido a que es el unico que cuenta con un 
"soporte". 

No podemos culpar al empresario o al ejecutivo de tratar de obtener un 
respaldo sea o no pagado por parte de otra empresa, puesto que estan confiando 
en que esa herramienta funcionara para el uso que la estan destinando, y si no 
es asi, hacer que el proveedor solucione el problema. 

El software en general tiene un modelo de calidad diferente a otros productos, 
como pudiera ser un automovil, un rascacielos o una hamburguesa. De manera 
global, si una persona compra un producto fisico y resulta daniado por un 
defecto de manufactura, siempre se puede demandar legalmente el pago de dichos 
danios, y generalmente se gana. 

Un fabricante de automoviles no puede simplemente ignorar o zafarse de un 
pleito por un auto que explota cuando choca (preguntenselo a Ford y su modelo 
Pinto). Un restaurante de comida rapida no puede simplemente dar la espalda al 
cliente que le muestra una hamburguesa con una cabeza de rata dentro. Una 
compania constructora simplemente no puede decir "Ups, se nos cayo el nuevo 
edificio de 50 pisos que acabamos de construir. Pero no se preocupen la 
version rascacielos 2.1 sera a prueba de colapsos". Todas estas companias son 
responsables de sus productos. 

El software es diferente: es vendido (o distribuido, como generalmente pasa en 
el caso del software libre), sin ninguna responsabilidad civil, moral o penal. 
Es comun ver en las licencias "En ningun caso el fabricante puede hacerse 
responsable por el fallo o danios causados por usar este programa". (2)

De tal manera pues, que el comprar un software propietario solo por obtener un 
respaldo de una empresa es una seguridad aparente. Si bien es cierto que el 
soporte puede ser mas organizado o profesional en el caso de una empresa 
grande, es posible cada dia mas, encontrar empresas que se dedican a ofrecer 
cursos, soporte e incluso desarrollo a la medida usando software libre como 
base. 

Cada dia surgen nuevas empresas que se dedican a dar soporte institucional o 
personalizado a usuarios de software libre. Por supuesto, el principal 
producto a soportar es el sistema operativo GNU/Linux, con mucho el mas famoso 
de los productos que han surgido a partir de la filosofia del software libre. 
Como ejemplos podemos nombrar a Siemens, SuSE, RedHAT, los programadores que 
mantienen GNU Ada y gcc, y muchas muchas empresas se agregan a esta lista cada 
dia. Por supuesto, no podemos dejar de contar a los profesionales que se 
dedican por su cuenta a asesorar o enseniar a otros. 

Lamina 18

-- La ventaja democratica

A veces se ha tachado, sobre todo por parte de una nueva corriente dentro de 
Microsoft, de que el movimiento para el software libre es "comunista". En 
realidad se trata de lo contrario, el software libre es una alternativa 
democratica. La licencia GPL fue diseniada para asegurar que los derechos del 
pueblo -de ahi la palabra democracia-, es decir de la gente en general, sean 
defendidos y no puedan ser escondidos debajo de las faldas de una organizacion 
privada. Ademas, una verdadera democracia no se opone a obtener resultados 
economicos de una actividad comercial, como ya les he indicado; pero tambien 
es completamente cierto que toda actividad comercial debe tener un cierto 
codigo de etica y respeto por sus clientes. 

El software libre es una alternativa para la globalizacion corporativa, que 
tiene la potencialidad de acabar con la monopolizacion de la tecnologia para 
siempre y puede llevar a un nuevo modelo de economia en este sentido. 

Un software liberado bajo la licencia GPL, por ejemplo, implica que nadie 
tiene el poder de restringir el uso del mismo, incluyendolo en forma 
retroactiva. Esto reviste especial importancia cuando un proveedor de software 
propietario decide no producir una nueva version de algun producto en 
especial. En este caso, los usuarios puede optar por seguir usando la vieja 
version o cambiar de producto. En el caso del software libre, cuando un 
programador o un grupo de programadores decide dejar un proyecto, significa 
que cualquier otro puede continuar o tomar su trabajo anterior como base para 
un nuevo proyecto. Dependiendo de la necesidad del propio usuario, puede 
encontrar un programador que este dispuesto a hacer estos cambios, quiza con 
una paga. 

El futuro de un proyecto de software libre no depende de una corporacion, 
empresa o individuo en especial. Supongamos que una empresa usa para sus 
operaciones un programa propietario y depende de un proveedor unico para 
obtener mejoras o nuevas caracteristicas deseadas. Si ese proveedor cierra sus 
puertas o simplemente, decide derogar el desarrollo ulterior del paquete, 
nadie tiene el derecho o la posibilidad de continuar dicho desarrollo, 
efectivamente matandolo. Esto no es una teoria mia, ha pasado muchas veces, y 
amplificado en los ultimos meses, donde algunas empresas se han combinado en 
corporativos mas grandes que usualmente terminan canibalizando algunos de sus 
respectivos productos para crear uno estandar en la nueva empresa conjunta, a 
veces para combinar caracteristicas o para obtener un solo pedazo del mercado. 
El software libre protege a los usuarios en contra de este escenario, porque 
si un proyecto es abandonado, siempre es posible contratar a uno o mas 
programadores para continuarlo por cuenta propia. 

El software libre provee de un foro para la accion democratica. Los individuos 
y las organizaciones comerciales, las companias, las empresas transnacionales, 
deciden cada uno y de acuerdo a sus propios intereses cuando y como hacer 
cambios y mejoras en el software que usan, la colectividad de todos ellos 
determina el proceso de mejora y el futuro de un proyecto en especial sin 
presionar a nadie. La gente que tiene opiniones marcadas sobre como deberia 
funcionar o que ventajas y caracteristicas debe tener un programa puede 
invitar a otros a sumarse a su causa y de este modo influenciar la direccion 
del mismo hacia el futuro, pero sin elecciones en las cuales el deseo de la 
mayoria pueda arrasar con los deseos de la minoria. Teniendo todos el mismo 
acceso al codigo fuente, se tiene la posibilidad de aplicar cualquier cambio, 
aunque sea una sola persona la que lo desee o necesite.
 
Lamina 19 

-- El costo

Libre no es gratuito. 

El costo de iniciar las operaciones de una empresa con software libre, es 
relativamente bajo, pero no cero. A veces los que promovemos de alguna manera 
este tipo de software cometemos una exageracion al decirle a alguien que 
queremos convencer, que no tendra que gastar nada, pero esto es un error 
garrafal. Pongamos como ejemplo que una empresa quiere instalar GNU/Linux es 
sus computadoras. 

La primera erogacion viene del tiempo, esfuerzo y el costo mismo de los 
estudios que se hacen generalmente en las empresas para determinar que un 
software es superior a otro y que les servira mejor para los fines que lo 
desean aplicar. 

Despues, A menos que se conecten a internet y descarguen una distribucion, 
tendran que gastar en comprar una, lo que es la desicion mas acertada en mi 
punto de vista, pues generalmente algun manual por pequenio que este sea 
vendra incluido con instrucciones iniciales de instalacion. Habra que entrenar 
al encargado en sistemas, ya sea tomando un curso o un taller de GNU/Linux de 
los que por cierto, comieza a haber muchos. Despues habra que entrenar a los 
empleados en el uso correcto de las aplicaciones. Todo esto, es la inversion 
inicial. Y es mucho mas bajo que si hubieran comprado, en primer lugar, 
licencias por el uso de software propietario. 

Lamina 20

Sin embargo, en una empresa que ya esta funcionando y que tiene una plataforma 
propietaria el costo es mucho mas alto, puesto que ya han derogado el gasto 
inicial y tendran que hacerlo de nuevo. En este caso, la inversion es a un 
plazo mucho mayor. Un gerente podria asustarse -con justa razon- si le 
recomendamos un cambio que implique invertir de nueva cuenta, gastar en 
entrenamientos para personal tecnico y administrativo, quiza comprar mas 
hardware para soportar las operaciones dobles mientras la migracion se lleva a 
cabo y no dejar de tomar en cuenta que muchos empleados resultan con una 
productividad muy por debajo de los normal cuando se les cambia su herramienta 
normal de trabajo. Creanme, en una empresa con mas de algunos empleados, esto 
puede implicar mucho dinero y no todos los gerentes o encargados estan 
dispuestos a gastarlo. 

Pero por otra parte, como les he dicho, esta migracion persigue fines a un 
plazo mayor, dependiendo del tamanio de la inversion, puede ser que el 
siguiente anio, cuando llegue el tiempo de renovar licencias y no tengan que 
hacerlo, entonces se amortize. Quiza tambien se den cuenta que no hay que 
actualizar el hardware en uso cada seis meses, pues GNU/Linux puede ejecutarse 
en sistemas con menos memoria y capacidad de procesamiento que un Windows NT, 
simplemente por poner un ejemplo. Cada caso, sin embargo, es particular y 
deben tomarse medidas y analisis igualmente particulares. 

Lamina 21

Las universidades y otras instituciones y entidades educativas pueden jugar y 
de hecho juegan un rol importante en el monto de la inversion que una empresa 
requiere para instalar software libre. 
 
En la lamina anterior les mencionaba que uno de los costos iniciales de una 
migracion es precisamente el entrenamiento del personal para el uso de un 
software diferente. Pero con ingenieros educados en las diversas plataformas, 
es posible que dicho entrenamiento sea menor del esperado o que no sea 
necesario del todo. 

Es de mi agrado que la Universidad de Bucaramanga este organizando estas 
platicas, lo que significa que esta abriendo las puertas a nuevas 
oportunidades para los estudiantes e investigadores. No es la primera que lo 
hace y ni seria la primera que instalara laboratorios con sistemas operativos 
alternativos. Pero desafortunadamente no es la norma todavia, existen algunas 
Universidades que optan por enseniar a usar "el producto del lider", sin tomar 
en cuenta que estan viciando su proceso pedagogico, convirtiendo algo que 
deberia ser educativo en algo meramente informativo. 

Un ingeniero o licenciado en computacion debe ser capaz de 

- Estar informado de las diversas opciones que existen en el mercado. Aprender 
el presente y mantenerse al tanto de los cambios en el mundo de la 
computacion. 
- Saber escoger entre esas diferentes opciones.
- Planear con profesionalismo una migracion hacia la opcion escogida
- Mantener la base instalada, una vez que esta ultima ha sido lleva a cabo.

Lamina 22 

-- Costo 2: el ahorro cooperativo

Otra variante de la ventaja economica es el hecho que varias companias pueden 
participar en un proyecto conjunto, ahorrandose dinero por el simple hecho de 
no desarrollar todo un sistema por si solos, sino solamente una parte del 
mismo, y la cooperacion de mas empresas solo tiene como resultado ahorrar mas 
dinero. 

Un ejemplo practico es el caso del servidor de Web mas utilizado en el mercado 
y que le lleva una amplia ventaja a sus competidores mas cercanos: el servidor 
Apache. Este comenzo como un esfuerzo conjunto entre varios individuos de 
diversas organizaciones que tenian un fin comun: el desarrollar un servidor 
robusto y confiable de Web. Cada una de esas organizaciones tenia los 
suficientes motivos -y medios- para desarrollar su propio programa, pero 
comprendieron que para lograr un fin conjunto de esta magnitud, deberian tener 
asimismo unos medios conjuntos, asistidos por la cooperacion. 

Otro caso es el de un grupo de empresas desarrolladoras de programas en Mexico 
que se han unido para desarrollar un sistema, no solo de software sino 
logistico tambien para dar soporte a sus usuarios. De esta manera, cada uno de 
los participantes solo proporciona una parte de los medios, que de otra manera 
tendria que haber solventado en su totalidad. No importa que tanto participen 
cada una de ellas y si esta cooperacion es igualitaria o no, el modelo de 
cooperacion siempre garantiza una eficiencia mayor a la de la actuacion en 
solitario. 

El software propietario, en contraposicion, rompe dicha cooperacion entre 
programadores que pertenecen a diferentes organizaciones economicas, aun 
cuando dicha cooperacion hubiera sido benefica para ambas organizaciones. 
Adicionalmente a las otras ventajas que he mencionado y que me faltan por 
mencionar, hay muchos otros motivos por los que una empresa deberia decantarse 
por usar programas libres. 

A veces, los tenedores de los derechos del copyright castigan por medio de una 
demanda legal a una empresa que se "roba" el codigo fuente y se evita un 
desarrollo copiando parte de otro previo. Desde las reglas del software 
propietario, eso tiene sentido. Pero si lo vemos desde un punto de vista mas 
general, esas reglas solo causan una ineficacia que a fin de cuentas no es 
necesaria, ayudan a construir monopolios y no dejan crecer a la industria de 
manera global. Siendo optimistas, ese es un comportamiento egoista. 

Como sumario, las principales ventajas de desarrollar software libre para una 
empresa se pueden enumerar de la siguiente manera: 

- Se reciclan ideas usadas en el pasado por alguno de los participantes del 
proyecto, aportando asi conocimiento previo que sirve para el avance general. 
- Se Acelera el proceso de desarrollo, al aumentar el numero de programadores 
en el proyecto. 
- Se obtienen ahorros, ya que solamente se participa con una parte de la 
inversion, pero se obtienen todos los beneficios. 
- Igualdad de condiciones con otras empresas del ramo, lo cual crea un 
ambiente sano de competencia. 

Lamina 23
-- Caracteristicas contra funcionalidad

El software propietario es planeado, desarrollado y empacado  para ser 
vendido, no usado. Aquellos que crean este tipo de programas lo hacen por una 
recompensa economica, mas que para ontener una una herramienta util para y 
usable. La unica motivacion para crear un codigo que 
trabaja, limpio y libre de errores es la perdida del empleo del programador y 
como relativamente poca gente tendra acceso a la parte interna del programa, 
entonces el desarrollador tiene muy poco interes en hacerlo limpiamente.  Las 
caracteristicas nuevas o mejoras a las existentes son agregadas solamente a 
partir de decisiones de marketing, generalmente no como necesidades de los 
usuarios. 

En contraste, el software libre nace basico, nace simple. Una pequenia 
herramienta que despues es publicada. Como ya hemos dicho antes, el primer 
usuario es el desarrollador original, que generalmente detiene el proyecto 
cuando este cumple las expectativas originales. Pero de repente, alguien mas 
ha descargado su programa y nota que para que esta herramienta le sea util, es 
necesaria una nueva caracteristica, que probablemente el autor nunca imagino. 
Asi pues, con toda libertad, agrega alegremente esta caracteristica y de nuevo 
vuelve a publicar los resultados. 

Es probable que el autor no vuelva a tener conocimiento de su herramienta, 
hasta que ha vuelto famosa, pero como regla general esto no pasa. Quien 
desarrolla un programa y lo libera se convierte pronto en el "maintainer", la 
persona que lo mantiene, le agrega los parches que el publico le envia y 
escribe un poco de documentacion, si es que le deja tiempo. En el caso de un 
programa que se vuelve muy famoso, esta actividad apenas le deja tiempo libre 
al programador de agregar cosas por su propia iniciativa. 

Este modelo de desarrollo, en donde las caracteristicas son agregadas a medida 
que se necesitan, y no como desiciones de una gerencia es ampliamente 
reconocido como un modelo ideal. El software que pudo comenzar como una pieza 
de codigo de regular calidad tiende irremisiblemente a mejorar conforme su 
base de usuarios crece. 

Las prioridades caracteristicas del software propietario, con una entidad 
economica presionando por fechas de publicacion o distribucion o 
caracteristicas especificamente requeridas son inexistentes en el software 
libre. Esto es como consecuencia de no tener una empresa a quien rendir 
cuentas. 

El software libre se libera cuando "esta listo", no antes: cuando el grupo de 
desarrollo cree que tiene suficiente calidad y que todas las modificaciones 
necesarias han sido hechas. Este nivel de calidad significa que no son 
necesarios tantos "service packs" o "parches" como es bien conocido, 
reduciendo el costo de mantenimiento. 

Por supuesto esto puede ser una desventaja si una 
caracteristica es retrasada de una otra version indefinidamente o los tiempos 
entre versiones no son razonablemente cortos. En este caso, la competencia 
entre diversos proyectos similares ayuda siempre: si uno de ellos comienza a 
no llenar las expectativas de los usuarios, a veces se genera un "fork" y otro 
grupo de desarrolladores continua con el proyecto. 

Lamina 24

-- Ventaja sectorizada

Las ventajas del uso del software libre no son iguales para todos, esto es un 
hecho. Cada organismo o institucion tiene sus propios motivos por los que el 
usarlo en sus operaciones comerciales o particulares puede llegar a ser 
ventajoso. 

Para una gran empresa, donde las condiciones de trabajo y las necesidades son 
especificas, el poder modificar un programa para adaptarse a esas necesidades 
sin tener que esperar un "update", un parche o un "service pack" es una 
ventaja competitiva y le puede significar el continuar dentro del negocio. 
Muchos de los ejemplos que he usado y las comparaciones son precisamente de 
ventajas que pueden serles mas provechosas a una corporacion, pues es 
precisamente el medio donde me desenvuelvo y tengo mas experiencia. Les pido 
de ya, perdon por la parcialidad. 

Siguiendo con la sectorizacion, Una empresa mediana podria estar preocupada 
por los costos de licencias y certificacion, encontrara que el software libre 
es un alivio en las finanzas, al no tener que pagar en la mayoria de los casos 
por ninguno de estos rubros. 

Un profesionista independiente dedicado a la computacion podria tomar una 
pieza de software y adaptarlo a las necesidades especificas de un cliente, 
tomando ventaja economica que ello. 

Los usuarios en general, que no se dedican a la computacion, obtendran por el 
uso de este software, una calidad sin precedentes y el beneficio que redunda 
automaticamente de no estar atado a un solo proveedor. Recuerden, la 
competencia mata a la incompetencia. 

Hay otras ventajas que son generales, como por ejemplo, el adaptar estandares 
de comunicacion o de transferencia de informacion. Hay que hacer especial 
hincapie en esto ultimo, ya que incluye desde como se forma un paquete para 
transmitirlo por una red local o global hasta como se graba una imagen dentro 
de un archivo en un procesador de textos. 

Estas son pues, expuestas de manera llana, las que yo considero son las 
ventajas de usar, promover, recomendar y desarrollar software libre. Una vez 
que les he convencido, habra que pensar en el futuro, por ejemplo, 

Lamina 25

El futuro. Hay que aprender a vivir con el software libre, y para eso , los 
profesionistas y las empresas deben aprender en primer lugar a hacer un tipo 
de negocios nuevo, basados en modelos emergentes de economia. Es decir, para 
vivir con el software libre hay que aprender a vivir DE el. 

Lamina 26 

-- Viviendo del software libre. 

Una ventaja que a muchos preocupa, pues no es tan evidente, es que si el 
software libre es una actividad que pueda dejar dividendos economicos para los 
que se dedican a ella, sea como programadores, distribuidores de software o 
prestadores de servicio. Como, como es posible obtener dinero a partir de algo 
que no tiene un valor monetario establecido? 

Alguien me preguntaba alguna vez, viendo el tremendo impacto de la recesion 
economica en las empresas punto com de la internet, me pregunto si era posible 
que alguien hiciera realmente dinero a partir del free software. 

Es una respuesta dificil. Mientras algunas grandes companias basadas en la 
distribucion del software libre (particularmente hablando de Linux, como es 
RedHat y VALinux) pierden millones de dolares cada cuarto de anio, existen 
otras instituciones, generalmente empresas pequenias, o individuos que estan 
teniendo ganancias a partir de esto. Yo mismo soy una prueba de ello, aunque 
no recibo honorarios por dar platicas, escribir columnas o participar en la 
fundacion para el software libre, debo reconocer que tengo mi trabajo gracias 
a mi interes por el . Quien me contrato en la compania donde 
laboro actualmente, lo hizo porque yo sabia usar GNU/Linux. 

El software comercial tiene sentido. Las empresas escriben software para 
venderlo y se embolsan cierta ganancia a partir de esta actividad. Crece la 
base de usuarios, mas cajas bonitas son vendidas y un dia el mercado por fin 
se satura. Todos los usuarios que necesitan este software o que les ha gustado 
lo suficiente para comprarlo, ya tienen una copia. A diferencia de las 
empresas que venden lavadoras o televisiones, que saben que sin lugar a dudas 
estos aparatos tendran que averiarse y el usuario comprara otro, el software 
no es un producto fisico que sufra de degradacion, a menos que contemos con 
los hongos que suelen salir en los medios magneticos. 

De tal forma, el software no es un elemento tangible. Puede ser copiado 
facilmente, sin detrimento de las copias subsecuentes -y resguardado asi de 
los hongos daninos-, lo que crea un problema cronico para los desarrolladores 
de programas: si se incluyen todas las caracteristicas necesarias, 
estabilidad, rapidez y todo lo que un usuario quiere de un programa, no se le 
podra animar a comprar una nueva version. La necesidad de hacer "upgrades" 
debe ser, pues, inducida. Una empresa que produce un software que hace todo lo 
que el usuario necesita, esta condenando este software a morir, incluyendo las 
ventas, las ganancias y la propia compania. 

Una manera simple de hacer que el usuario compre una nueva version, es nunca 
darles lo que quieren: es un truco de hecho muy viejo y funciona de la 
siguiente manera: La empresa promete que una version nueva hara exactamente lo 
que el cliente quiere. Este va, compra la nueva version o quiza una -mas 
barata- version de upgrade solo para darse cuenta que falta uno que otro 
componente vital. No hay de que preocuparse,  dice el vendedor, con solo 
comprar la nueva version se podra obtener ese componente. Cuando la nueva 
version sale, el usuario la compra..... y asi hasta el infinito. Construir 
software que no cumple las expectativas del cliente es una necesidad de 
sobrevivencia de las empresas desarrolladoras. 

Hay otra posibilidad, y es que la empresa gane reputacion por hacer excelentes 
piezas de software que nunca fallan y que llenan todas las necesidades del 
usuario, sin embargo, su sotfware es tan bueno que lo unico que pueden hacer 
es estar produciendo muchos programas que llenen diferentes necesidades. Esto 
cuesta mucho mas, puesto que cada programa tiene que ser escrito desde cero en 
cada ocasion, y debe ser soportado, anunciado y vendido por separado. Hasta el 
momento, no se de ninguna compania que haga este tipo de negocio. 

Es cierto que el modelo economico ha cambiado irremisiblemente, y debera 
hacerlo aun mas. Seguiran perdiendo sus millones aquellas empresas que no se 
adapten a las nuevas circunstancias.

Muchos todavia se preguntaran como es posible que alguien saque partido de 
algo que es libre. Y es que pocas veces nos ponemos a comparar el software con 
otros aspectos de la vida cotidiana que tienen vertientes parecidas, muy 
similares. Tomemos por ejemplo el caso de las recetas de cocina. Hacer un 
programa de contabilidad es mucho mas complicado que escribir un metodo para 
hacer un pay de manzana, pero en escencia es lo mismo: la receta no describe 
como obtener los ingredientes, solo el metodo como deben mezclarse y 
cocinarse. Igualmente un programa solo es un metodo de calculo descrito en 
terminos de un lenguaje computacional. 

Y alguien se ha preguntado porque existen los restaurantes? Hacer una 
hamburguesa es cosa sencilla, y aun asi McDonalds no deja de instalar nuevos 
restaurantes en todo el mundo: pero hay algo que pocos se ponen a ver, y es 
que McDonalds no vende hamburguesas por ser especialmente sabrosas, sino por 
todo el ambiente que rodea al comprador, la atraccion de los juegos para los 
ninios y mil cosas mas. 

Hacer un buen programa es algo que requiere mas que saber usar la sal y la 
pimienta, sin embargo hay quienes tienen miedo de publicar su trabajo, por 
temor a no tener suficiente dinero para seguir trabajando. Por supuesto, si 
solo se dedican a vender el software, estan condenados a desaparecer, sean una 
gran empresa o un programador independiente. El futuro de ellos esta en 
ofrecer servicios adicionales a los que tipicamente conocemos. Ofrecer buen 
soporte, upgrades por un cierto tiempo de manera gratuita, contratos de 
asesoria, vender el hardware en el que se instalaran los programas. 

Lamina 27

Si, es mas complicado, pero si a alguien le asusta eso, entonces ya puede 
comenzar por buscar una buena receta de hamburguesas para comercializar. Las 
empresas que estan ganando dinero estan usando alguna de las siguientes 
tecnicas reconocidas:

- Vender contenido

La tecnica mas usada por las empresas de internet. Pongamos como ejemplo el 
boom que vemos en los llamados "mensajeros instantaneos". Estas empresas 
obtienen como resultado de sus operaciones ganancias sobre la publicidad que 
venden junto con el contenido que proveen. Si Yahoo! o Hotmail se decidieran a 
abrir su codigo fuente y liberar bajo licencia GPL,  su 
cliente de mensajeria instantanea, por poner un ejemplo, no perderian su 
mercado ni potencial ni real. Al contrario, habria muchos programadores 
dispuestos a agregar caracteristicas nuevas como ha sido la transmision de 
archivos o voz hasta la portacion de este software a otras plataformas. 

- Vender la tecnologia. 

Es posible generar una tecnologia y liberar el software necesario para 
hacerla, conservando los derechos sobre la tecnica o los criterios de 
compatibilidad. Entonces podria venderse por poco o mucho dinero, segun el 
tipo de mercado, una certificacion que indique que tal o cual proyecto cumple 
con las caracteristicas requeridas. 

- Vender el presente en aras del futuro. 

Un proyecto puede desarrollarse y venderse en el presente incluyendo una 
clausula en su licencia para que sea liberado en el futuro cercano o lejano. 
Esto puede traer cierta lentitud en el proceso de maduracion cerrada del 
software, pero le da  un buen respiro financiero a las empresas para recuperar 
hasta cierto punto la inversion que fue requerida para el desarrollo. 

- Vender accesorios. 

Este es quiza el modelo de venta de software libre mas rentable. Un proyecto 
puede ser usado como un gancho para vender accesorios, de la misma manera que 
ahora las companias de telefonos celulares "regalan" el aparato a cambio de 
vender el servicio. Algunos venden camisetas, llaveros, discos compactos con 
versiones  del software, un pinguino de peluche, o proveen de servicio 
especializado cobrando por caracteristicas que alguna empresa requiera para 
sus operaciones. 

Otros pueden publicar libros sobre el uso de sus programas o vender de manera 
separada una bonita edicion de los manuales. 

- Regalar la razuradora, vender hojas de razurar. 

Como ya lo comente, el que una hamburguesa sea facil de preparar no significa 
que un restaurante que se dedique a comercializar este tipo de productos no 
pueda prosperar. Eric Raymond, el ideologo principal detras del movimiento del 
codigo abierto fue el primero que enuncio de manera clara este modelo de 
ventas. En cierta forma, las empresas como SuSE o RedHat siguen este modelo. 
Ellos no venden el software pero proveeen de aditamentos necesarios como el 
soporte. 

Para llamarlo simplemente, estan creando un mercado regalando el punto inicial 
y vendiendo los servicios relacionados. 

- Venta de Hardware

Hace mucho tiempo que HP abandono su sistema de venta de HP/UX, y aunque no es 
completamente gratuito, ni mucho menos libre, este sistema operativo es de 
cierta manera proveido sin muchas preguntas a aquellos que compran su 
hardware. 

Cobalt networks, ahora una empresa dentro del corporativo de Sun microsystems, 
comenzo haciendo un hardware en el que instalaban una version ligeramente 
modificada de GNU/Linux. De igual manera que en el modelo anterior de ventas, 
no estaban vendiendo el sistema operativo, sino el hardware implicado. Otras 
empresas estan siguiendo esta forma de hacer negocios, sobre todo aquellas que 
comienzan a implicarse en el mercado de los aparatos conectables a internet. 

Con un software que es distribuido como parte de un hardware y liberado bajo 
una licencia que otorgue la libertad al usuario de cambiarlo, la empresa puede 
obtener la sorpresa que alguien se tome la molestia de cambiarlo y adaptarlo a 
otras plataformas. Sin haber invertido un solo dolar en ello.

- Regalando software libre para obtener mercado

Esto lo llevan a cabo las empresas en que su negocio es diferente al de hacer 
software. 

El mas conocido ejemplo de este modelo de ventas es Netscape, que a comienzos 
del 98 hizo publico su codigo fuente del navegador del mismo nombre. Hay que 
recalcar que la licencia bajo la que lo publico no lo hace completamente 
libre, pero definitivamente marco un avance en cuanto a la forma de hacer 
negocios. 

Lo que Netscape queria era obtener una porcion de mercado que le habia estado 
ganando el competidor principal, el Explorador de Microsoft. Pero para ese 
entonces, la venta del navegador no constituia la principal entrada de dinero 
a la compania, sino la venta de publicidad en su sitio de internet y otros 
productos como el servidor de web Netscape. Asi pues, con una base instalada 
de usuarios, la compania pudo subsistir hasta su compra por AOL, quien ha 
remarcado desde entonces que seguira soportando el proyecto Mozilla, por 
tiempo indefinido. 

Lo que la compania queria, no era apoderarse del mercado de los navegadores, 
sino atraer a mas usuarios a su portal, que es la verdadera entrada de dinero 
para ellos. 

Lamina 28

-- Que hacer

El manejador de ventanas en mi computadora dice que me muestra 32millones de 
colores, aunque francamente nunca me he puesto a contarlos para comprobarlo. 
De esos 32 millones, solo uno es blanco y otro es negro, todos los demas son 
la gama intermedia entre esos dos extremos. De la misma manera, cada programa 
es unico, tiene sus propias ventajas, caracteristicas y errores 
independientemente de si es software libre o no. 

Una empresa, de la misma manera que un estudiante cuando decide por fin 
instalar un sistema operativo no propietario, puede cometer varios errores. El 
primero puede ser ir demasiado rapido. La naturaleza humana es sensible y 
contraria al cambio. Si los empleados de una empresa llegan un dia a trabajar 
y se encuentran con que todas sus herramientas de trabajo han sido cambiadas, 
no se pondran a ver si son o no mejores, sino que le encontraran todos los 
fallos y los magnificaran. No a toda la gente le gusta experimentar con nuevos 
programas: eso es nuestro trabajo, no el del contador de la compania. 

Asi pues, y por citar un ejemplo, supongamos que una empresa quiere dejar de 
pagar los miles de dolares que deroga cada anio por las licencias de su 
sistema operativo y los programas asociados con el. En mi particular punto de 
vista, el primer paso es cambiar de uno por uno los servicios de oficina tales 
como impresion, conexion a internet o a otras sucursales, servicios de 
intranet o el servidor de archivos general. Una vez que se ha establecido una 
plataforma libre, entonces se puede comenzar a migrar las terminales de los 
empleados, hay que comenzar con los encargados del departamento de sistemas, y 
permear ese cambio a los demas departamentos. 

De la misma manera, las aplicaciones deben tomar un camino parecido. Primero 
el cliente de correo a uno estandar (y de paso que no sea tan vulnerable a los 
virus de hoy en dia). Por supuesto tendremos que haber cambiado el servidor de 
correo anteriormente, ahi radica la importancia de migrar la plataforma de 
servidores primeramente. Despues podrian comenzar los cambios en las 
aplicaciones de oficina como procesadores de texto u hojas de calculo. 
Mientras todo esto pasa, quiza el departamento de sistemas tenga tiempo de 
desarrollar o portar las aplicaciones especificas de la empresa, que no se 
compren en una caja listas para usarse. 

Olvidamos con frecuencia que el software no es inmortal: la mayoria de los 
programas tienen un ciclo natural de vida siendo poco a poco remplazados por 
lo mejor, mas rapido y mas eficiente. Es la ley de la vida, que incluso aplica 
a los programas. Las organizaciones con buenos planes de vida para su software 
,a veces llamados "roadmap", tienen en cuenta estos ciclos para dibujar su 
meta en la ingeniera de software. 

Lamina 29

Creo que la mejor manera de proceder para una empresa es hacer una 
reingenieria de la base de sus sistemas propietarios y cooperar intensamente 
con otras empresas para lograr construir una plataforma a partir de la cual se 
puedan obtener programas especificos para cada institucion. En otras palabras, 
reconstruir su infraestructura de software desde cero, pero ahora bajo la 
licencia GPL. Habiendo tantos proyectos diferentes, habra que dislucidar una 
estrategia diferente y especial para cada uno de ellos y experimentar con las 
situaciones hasta obtener el fin deseado. 

IBM, HP, Sun y otras grandes empresas han comenzado a dar los primeros pasos 
al adoptar en algunos de sus proyectos el codigo abierto "Open Source", pero 
esto no es suficiente, es tan solo el principio. Una vez que estas y otras 
corporaciones e individuos comiencen a adoptar el siguiente paso, que es el 
software libre, tendremos una inversion en este sentido que traera como 
consecuencias : 
1. El avance del estado de la infraestructura en todos lados, 
2. Crecimiento en la industria debido a estas inversiones, hoy por hoy tan 
azotada por los embates economicos actuales. 
3. El avance general del conocimiento humano, remplazando lo que conocemos hoy 
por nuevos y mejores metodos de hacer computo. 
4. Una nueva forma de hacer negocios basada en la cooperacion y entendimiento 
mutuo. 

Estos cambios no tienen que ser inmediatos, pero si deben ser de todas formas 
ininterrumpidos y constantes. 

-- Sumario

En los ultimos dias, una serie de ataques al Free Software y al codigo abierto 
han dejado con un buen sabor de boca a todos los que de alguna manera 
participamos en este movimiento. Y es que hemos crecido tanto en importancia 
que ahora Microsoft, en palabras de sus propios altos ejecutivos, nos 
considera un serio competidor. Sin embargo, el Software libre no representa ni 
tecnologicamente ni economicamente una amenaza para esa compania, por lo menos 
en terminos inmediatos, sino algo mucho mas grave que podria poner en 
entredicho toda sus estructura: el impedimento de continuar con sus practicas 
monopolicas.  

Hasta hace pocos anios, era casi imposible hacer algo "productivo" con el 
software libre. Y esto era debido a que no todas las herramientas
estaban disponibles. Probablemente teniamos un lector de correo, pero los 
sistemas de impresion dejaban que desear. Teniamos un compilador de C, pero 
los programadores en Fortran eran dejados de lado. Alguien que deseara 
trabajar con Software Libre estaba atado a algunos pocos programas y 
eventualmente tenia que utilizar un programa no libre para llevar a cabo una 
tarea. 

Hoy no es asi. Tenemos todas las herramientas a nuestra disposicion, y estoy 
convencido que asi seguira siendo por un tiempo. 

Alguien dijo que lo que comenzo como la caida de unas pocas piedras es ahora 
una franca avalancha. Firmemente creo que el movimiento por el software libre 
y otros del mismo tipo, han iniciado algo que dificilmente se dentendra. 
Espero que el tiempo en el futuro cercano nos de la razon. 




--- Notas, enlaces utiles

(1) Categories of Free and Non-Free software of the GNU Project. 
http://www.gnu.org/philosophy/categories.html. Disponible en Espaniol.

(2) Bruce Schneier: Secrets and Lies: Digital security in a networked world.

(3) SuSE and Siemens partnership on developing Linux patch for extending the 
RAM capacity:
http://www.suse.com/us/suse/news/PressReleases/archive99/4gig.html

(4)  Fuzz Revisited: A Re-examination of the Reliability of Unix Utilities and 
Services (postscript 146k) by Barton P. Miller , David 
Koski, Cjin Pheow Lee, Vivekananda Maganty, Ravi Murthy, Ajitkumar Natarajan, 
and Jeff Steidl.

 ftp://grilled.cs.wisc.edu/technical_papers/fuzz-revisited.ps

(5) Free software is more reliable!:  
http://gnu.localhost/software/reliability.html

(6) Stand Together: http://perens.com/Articles/StandTogether.html

(7) Rudolf E. Bahr, Ralf Reilander, and Egon Troles "Open-Source Software in 
the Federal Administration", KBSt Letter No. 2/2000, February 24, 2000, URL: 
http://linux.kbst.bund.de/02-2000/brief2-2000-en.pdf

(8) Bob Sullivan, "More privacy concerns for Real", URL: 
http://www.msnbc.com/news/436070.asp

(9) "Linux vs Microsoft: Who solves security problems faster?", URL: 
http://securityportal.com/cover/coverstory20000117.html

(11) Open Source Web site; URL: http://www.opensource.org



    Source: geocities.com/larteaga/documents

               ( geocities.com/larteaga)