<!-- LinuxDoc file was created by LyX 0.12 (C) 1995-1998 by <bruno> Sat Nov  7 11:32:51 1998
 -->
<!-- Export filter v0.6 by Pascal Andre/Bernhard Iselborn-->

<!doctype linuxdoc system>

<article>

<title>El software libre como un importante motor de las economías en desarrollo
 
<author>Sandino Araico Sánchez &lt;sandino@iac.com.mx&gt;, Químico Farmacobiólogo,
 Universidad La Salle.
Sebastián Mantilla Beniers &lt;sebas@iac.com.mx&gt;, Ingeniería en Computación,
 Universidad Nacional Autónoma de México.
Bruno Antonio Unna Ruiz &lt;bruno@iac.com.mx&gt;, Ingeniería en Computación,
 Universidad Nacional Autónoma de México
<sect>Introducción
<p>

¿Sabían ustedes que la UNAM gasta muchísimo dinero en licencias de uso
 de software cada año?

¿Queremos permitir que tal cosa siga sucediendo?

Con la propuesta que estamos a punto de hacer, las organizaciones educativas,
 empresariales y gubernamentales pueden ahorrar al menos el 80&percnt; del dinero
 que gastan en licencias, a la vez que hacer del país uno de los más importantes
 motores de la investigación y el desarrollo en computación aplicada, a nivel
 mundial.

México tiene la posibilidad de competir industrialmente con las naciones
 más ricas del mundo; siempre que busque y encuentre su ventaja competitiva
 en la investigación y creación de software de la más alta calidad.

La transformación que el mundo está viviendo como consecuencia de las nuevas
 tecnologías de la información es por lo menos tan importante como la que se
 sufrió en la Revolución Industrial. La influencia de este sector sobre el resto
 de la industria, la educación y el gobierno es tan grande que los cambios que
 sufre se reflejan de inmediato en la economía en su conjunto.

En estos momentos se vive un cambio fundamental en el mundo de la computación,
 jamás volveremos a ver la tecnología de la información como lo hemos hecho
 hasta ahora. El modelo actual de la industria está derrumbándose. Debido a
 la aparición de una corriente que promueve la distribución de lo que tradicionalmente
 se consideraba como propiedad industrial de forma abierta y gratuita. Es decir,
 se distribuyen las fuentes sin las restricciones tradicionales del sector.
<sect>Planteamiento del problema
<p>

México, al igual que muchos otros países en vías de desarrollo, sufre de
 una gravísima crisis económica, derivada del predominio que en muchos ramos
 del quehacer humano, tienen naciones con mayor desarrollo.

Uno de los cimientos del desarrollo como se concibe en la actualidad es
 el manejo de información. Todos los sectores de la economía dependen para su
 mejor interacción de mecanismos que faciliten la generación, el transporte
 y el análisis de datos (información) para la toma de decisiones, para actuar
 a tiempo ante los embates de un entorno global cambiante.

Tristemente, la percepción de la importancia que la inversión en tecnología
 tiene para el crecimiento sostenido a largo plazo no es una habilidad que caracterice
 a nuestro gobierno. Es comprensible que las presiones de índole alimentaria
 y crediticia no brinden la oportunidad de una inversión estable en materia
 de investigación y creación de tecnología. Es claro también que la ventaja
 temporal, organizacional y económica de los países del primer mundo no facilitan
 dicha inversión. El resultado es un retraso tecnológico continuo, que se manifiesta
 hasta los niveles más básicos de vida de la población en general.

En general, la actualización tecnológica de un país tiene un costo tan
 alto, a todos los niveles, que se vuelve aparentemente inalcanzable. El costo
 de crear núcleos de desarrollo e investigación tecnológicas es igual o mayor.
 Latinoamérica es la región que más rápidamente crece de todo el mundo, en términos
 de computación. Este fenómeno contribuye fuertemente a la tendencia de globalización
 de las comunicaciones: ya no existen fronteras significativas para la comunicación.
 Algunos efectos de la globalización son los siguientes:
<itemize>
<item>comunicación interpersonal sumamente eficiente y rápida,
<item>herramientas para el trabajo en grupo,
<item>se produce una terrible competencia entre las organizaciones. 
</itemize>

Por otra parte, desde el punto de vista del desarrollo tecnológico, la
 globalización facilita la colaboración, lo que a su vez, en lo que a nosotros
 atañe, se manifiesta como un fenómeno de apertura en los esfuerzos colaborativos
 de creación de software. Por primera vez podemos contemplar el concepto de
 software abierto en acción.

Con la apertura del software, se observan los siguientes fenómenos correlacionados:
<itemize>
<item>las naciones en desarrollo tienen acceso a tecnología de primer nivel,
<item>están al alcance de individuos y organizaciones herramientas para el trabajo,
 para los negocios y para los estudios, que no eran accesibles,
<item>se genera y enriquece una masa crítica y una inercia que permiten mayor
 desarrollo más rápidamente; esto está dado por la acumulación y distribución
 de experiencias y de código, así como por la formación de comunidades colaborativas.
 
</itemize>

En México, el crecimiento económico no ha contemplado la creación de tecnologías
 informáticas propias. Existe una miopía generalizada, en el sentido de que
 no parecen tener la disposición de invertir en el mediano y largo plazos.

Concentran por entero sus recursos y sus esfuerzos en la satisfacción de
 las necesidades más básicas e inmediatas. El efecto de esto en la economía
 del país es devastador.

Creemos firmemente que la estrategia que el gobierno debe seguir para lograr
 algo más que la satisfacción de las primeras necesidades debe contemplar la
 visión a largo plazo de su lugar en relación con las otras naciones. Es decir,
 debe cuestionar las políticas de ejercicio de sus recursos. Debe promover una
 transición hacia una economía con visión de largo plazo en la que un componente
 importante son las tecnologías de la información.

Thomas Hobbes describía a la sociedad como a un Leviatán, un ser gigante
 que cuenta con órganos como un ser humano y que se comporta de acuerdo con
 lo que sus partes saben y pueden hacer. En el modelo de Hobbes, al gobierno
 le correspondía la responsabilidad de ser la cabeza del ser. De acuerdo con
 este mismo modelo, creemos que un gobierno que no atiende a las necesidades
 y los consejos de sus instituciones educativas es como una cabeza que coordina,
 pero no piensa. Son las universidades el semillero en el que las ideas cobran
 forma, y son las ideas las que pueden dar fuerza o debilitar a una estructura
 social en su conjunto.

La estrategia actual, de satisfacción a corto plazo, implica la costosa
 importación de tecnologías cerradas y propietarias que, si bien parecen resolver
 el problema de inmediato, menoscaban la capacidad futura de crecimiento real
 e impiden una planeación autónoma para el impedimento del resurgimiento del
 problema en cuestión. Además, esa estrategia obstaculiza la creación nacional
 de tecnologías alternativas que puedan resolver con exactitud las problemáticas
 nacionales reales, y responder a problemáticas futuras difíciles de prever.

En general, en la industria del software, nos enfrentamos a unos cuantos
 monopolios. Cuando se trata de algo tan sensitivo como el manejo de la información,
 que es fundamental para la operación de todo el engranaje productivo y social,
 la existencia de una única fuente de soluciones significa una completa dependencia
 de lo que dicha fuenta pueda o decida proporcionar.

Gracias a ese control, el desarrollo o contracción de otros sectores económicos
 está fuertemente ligado a los deseos de quien no debería tener ese poder.

En resumen: depender de un monopolio, lejos de lo que muchos piensan, no
 es una fortaleza, sino una terrible debilidad.

A manera de ilustración de lo que el pago de licencias significa para el
 presupuesto del gobierno, tenemos que un servidor típico con software propietario
 cuesta, tan solo por concepto de licencias, USD&dollar;10,000. Una computadora
 cliente típica, para ese servidor, con el mismo tipo de software, cuesta en
 materia de licencias USD&dollar;800, mientras que una estación de desarrollo,
 en la misma línea, cuesta en licencias USD&dollar;2,500. El total: USD&dollar;13,300.

Hay que notar de lo anterior que el software no se compra. Lo que se paga
 es únicamente por la licencia para utilizar el software, pero éste jamás forma
 parte real de la propiedad de la organización.

Existe el mito de que la adquisición de licencias de software comercial
 significa un incremento en el activo de las empresas. Sin embargo, a diferencia
 de otros bienes que tienen una vida productiva relativamente prolongada, el
 software comercial cae en obsolescencia a gran velocidad.

De acuerdo con lo que se acaba de decir, la compra de tecnología propietaria,
 aún si se anuncia como "de vanguardia", es fuente de subdesarrollo. Mientras
 nuestro país no consiga escapar a este círculo vicioso, creado por las grandes
 transnacionales seguirá dependiendo de lo que se le brinde para construir sus
 soluciones, y seguirá exportando capitales a gran velocidad.

Al contrario, la creación de tecnología es fuente de progreso. Es claro
 que el esfuerzo que se requiere para hacerlo es mayor que el de simplemente
 comprar. Pero sostenemos que hoy en día se cuentan con elementos tecnológicos
 que permiten hacerlo, de inmediato. Hay que pensar a largo plazo. El software
 es una herramienta de desarrollo social.

La fenomenología descrita está cada vez más presente en las mentes de organizaciones
 en todo el mundo. Existen muchas razones por las cuales se puede rechazar el
 modelo monopólico. Algunas compañías apoyan el alejamiento de dicho modelo
 para hacer crecer su mercado objetivo. Otras, más radicales, han aceptado el
 modelo de software libre y se acercan a él. Finalmente, habemos quienes creemos
 firmemente en la posibilidad de supervencia y crecimiento con apego al modelo.

Algunos ejemplos de quienes apoyan al software libre, de alguna forma u
 otra, son:
<itemize>
<item>Sun
<item>Netscape
<item>Caldera
<item>RedHat
<item>StarOffice, Applixware
<item>Oracle, Sybase
<item>GNU 
</itemize>

Existe un gran número de costos ocultos en el uso de software comercial.
 Algunos de ellos son:
<itemize>
<item>costos por actualizacion del hardware para que corra las nuevas aplicaciones,
<item>los derivados del modelo consumista de correr para alcanzar,
<item>costos por adquisición de licencias de uso (el software no se compra),
<item>costos de instalación y soporte,
<item>costos de capacitacion a desarrolladores como resultado de cambios en el
 API,
<item>costos derivados de la inestabilidad del sistema operativo. 
</itemize>
<sect>Presentación del software libre
<p>

La alternativa que presentamos a los problemas descritos es muy simple,
 desde el punto de vista conceptual, a la vez que muy compleja por las implicaciones
 e impactos sobre los modelos establecidos y aceptados de uso y desarrollo de
 software, y de tecnologías de información en general. Los impactos son de índoles
 técnica, económica, social y política.

Esta presentación debe ser, evidentemente, breve. Sin embargo, la cantidad
 de material de estudio sobre este tema es asombrosamente vasta. Es suficiente
 hacer una búsqueda en Internet, en www.altavista.com, del término "free software"
 para obtener 61´892,874 referencias.

Si analizamos lo que se debe buscar en el software libre para que sea capaz
 de reemplazar el modelo comercial, llegamos al siguiente resumen.

Características deseables del software de una computadora actuando como
 servidor:
<enum>
<item>superioridad tecnológica,
<enum>
<item>alto desempeño,
<item>indudable estabilidad,
</enum>
<item>soporte,
<enum>
<item>disponibilidad de aplicaciones,
<item>auxilio en la solución de problemas,
</enum>
<item>apertura,
<enum>
<item>apego a estándares,
<item>disponibilidad de código fuente. 
</enum>
</enum>

En la perspectiva de las máquinas de escritorio (desktop), o clientes,
 las características que se deben exigir son:
<enum>
<item>diversidad aplicativa,
<item>estandarización de formatos,
<item>soporte de primer nivel,
<item>facilidad de intercambio de información,
<item>interconectividad de usuarios y aplicaciones,
<item>disponibilidad en el idioma de los usuarios. 
</enum>

A manera de ejemplo del éxito que el software libre está teniendo en todo
 el mundo, dígase acerca del sistema operativo Linux (pieza muy representativa
 y fundamental de ese éxito) lo siguiente:
<itemize>
<item>tiene 7´000,000 de usuarios,
<item>hay 10´000,000 instalaciones operando,
<item>goza de aceptación en el 70&percnt; de las instituciones,
<item>su credibilidad no ha podido ser puesta en duda jamás,
<item>se ofrece soporte a través de más de 500 grupos de usuarios, en todo el
 mundo.
</itemize>

Las ventajas del modelo de software libre se pueden resumir de muchas formas.
 Creemos que la más descriptiva atiende a las diferencias entre los usuarios
 potenciales del mismo.

Ventajas del modelo del software libre:
<enum>
<item>en el ámbito universitario/educativo,
<enum>
<item>exposición a código fuente de primer nivel,
<item>se desarrolla bajo el principio de cooperación sin supervisión,
<item>inducción a la cooperación en el trabajo,
<item>inducción a la búsqueda de calidad en el trabajo,
<item>los egresados serán más competitivos, capaces de impulsar tecnología nueva,
<item>el soporte de la creatividad inteligente promueve el desarrollo de individuos
 con iniciativa,
<item>generación de un espíritu emprendedor en los individuos, tanto para crear
 sus propias organizaciones productivas como para que apliquen esa forma de
 pensar en todas sus actividades,
</enum>
<item>en el ámbito empresarial,
<enum>
<item>la inversión en desarrollo de software tiene una tasa de retorno muy alta,
<item>facilita el proceso de investigación y desarrollo y da valor auténtico
 a las organizaciones,
<item>explotación de recursos de cómputo que se daban por perdidos,
<item>da lugar a significativos ahorros operativos,
<item>crea empleos,
<item>promueve la competitividad,
<item>permite la adaptación a necesidades específicas,
<item>elimina la dependencia monopólica (y la fragilidad operativa),
<item>revalora la importancia de vivir en la legalidad, acabando con el concepto
 de piratería,
</enum>
<item>en el ámbito individual,
<enum>
<item>da acceso a herramientas de primer nivel, con un costo mínimo,
<item>promueve la creatividad,
<item>brinda un sentimiento de unidad promoviendo la creación de comunidades.
 
</enum>
</enum>

Mucho se ha hablado de algunos esfuerzos para lograr la portabilidad de
 software entre diversas plataformas. Diferentes aproximaciones existen, de
 las cuales dos se distinguen por que han mostrado muy interesantes resultados:
 la portabilidad a nivel de código binario (Java, por ejemplo) y la portabilidad
 a nivel de código fuente.

La primera, aunque es técnicamente muy retadora e interesante, ha mostrado,
 quizá como resultado de lo mismo, muchos problemas para su adopción generalizada.
 De tales problemas se distinguen cuatro:
<enum>
<item>la eficiencia del código,
<item>las dificultades en la adopción generalizada de estándares,
<item>la estabilidad de las aplicaciones,
<item>el difícil crecimiento. 
</enum>

Por otra parte, la portabilidad a nivel de código fuente es un esfuerzo
 que cuenta con una mucho mayor experiencia, tanto en el rubro de soluciones
 técnicas concretas como en el de adopción de estándares. Tiene también desventajas,
 entre las cuales se distingue la necesidad de recompilar las aplicaciones para
 cada plataforma de interés. Sin embargo, contra esa desventaja existe un número
 de ventajas que la hacen aparecer, creemos, como la forma racional y viable
 de lograr la portabilidad real.

A manera de ejemplo, en materia de interacción de las aplicaciones con
 el API del sistema operativo existe un estándar tan difundido y aceptado que
 se ha vuelto exigencia: se llama Posix. Si se escriben aplicaciones en C o
 C++ que, en su dependencia del sistema operativo se ciñen a lo que dicta el
 estándar, su portabilidad en ese sentido es completa.

Por otra parte, cuando se trata de los aspectos particulares de la compilación
 en cada ambiente de desarrollo, existe en Unix un conjunto de herramientas
 de autodetección del entorno de desarrollo y de la preparación de los parámetros
 para la compilación, que simplifican en grado sumo tal labor y la vuelven,
 en la mayor parte de los casos, trivial. Dichas herramientas, entre otras cosas
 pueden hacer lo siguiente:
<itemize>
<item>detección del sistema operativo,
<item>identificación del compilador,
<item>detección de las librerías instaladas,
<item>detección de herramientas auxiliares,
<item>definición de la estructura de directorios,
<item>detección de las capacidades del usuario que está llevando a cabo el proceso.
 
</itemize>

A cambio de la aparente dificultad en la recompilación de las aplicaciones,
 se obtiene como beneficio la eficiencia de un código que se ejecuta siempre
 en su plataforma nativa, con la funcionalidad idéntica en todas la plataformas.

El software libre ha demostrado su calidad, muy por encima de las correspondientes
 aplicaciones comerciales, de la siguiente forma:
<itemize>
<item>presenta menor número de fallas (bugs),
<item>es más rápida la respuesta de los cuerpos de desarrollo a las fallas (soporte
 verdadero),
<item>brinda a los usuarios más amplitud en el soporte,
<item>dada su amplia vinculación con la academia y a la investigación, incorpora
 de ellas todos sus avances y tendencias, anticipándose a lo meramente comercial.
</itemize>
<sect>Aplicación del software libre a la solución del problema
<p>

El modelo comercial actual de distribución de software para el desarrollo
 visual ha llevado a las empresas a subestimar los costos derivados, de mantenimiento,
 de licenciamiento, de soporte, de actualizaciones. El costo total de la propiedad
 de las aplicaciones creadas así resulta ser mucho mayor del que se tendría
 si las aplicaciones fuesen desarrolladas por especialistas, con las herramientas
 adecuadas.

Históricamente, el desarrollo en la esfera comercial se ha centrado en
 los aspectos visuales del mismo, dejando en segundo plano la funcionalidad,
 estabilidad y eficiencia del código resultante. Por otra parte, el desarrollo
 de software libre está centrado precisamente en los puntos que el comercial
 descuida, dando como resultado código altamente funcional, estable y eficiente.

Una tendencia actualmente visible en el mundo del software libre es a crear
 interfases de usuario vistosas a la vez que ágiles y funcionales, cubriendo
 de esta forma el "hueco" que lo había caracterizado. 

Es más facil partir de un núcleo sólido y funcionalmente vasto hacia la
 construcción de las aplicaciones perfectas, añadiendo los elementos visuales,
 que seguir el camino opuesto (si acaso esto último es posible).

Las herramientas comerciales de desarrollo de software están centradas
 en una interfase amable, con gran variedad de componentes (widgets) que el
 "desarrollador" ensambla para obtener el esqueleto del producto deseado; se
 supone, que para que él rellene los huecos. En el mundo del software libre,
 las herramientas con las que los desarrolladores cuentan son extremadamente
 potentes y abiertas desde el punto de vista de los estándares. No se centra,
 en general, en la facilidad visual de construcción de aplicaciones, sino en
 la resolución de las labores más pesadas, de acuerdo con la experiencia, del
 desarrollo de la aplicación (poner ejemplos).

La adaptación del software para la satisfacción de necesidades específicas
 de las organizaciones es una labor inevitable. El costo de hacerlo utilizando
 aplicaciones cerradas es mucho mayor que el que se tiene con aplicaciones abiertas
 y estándares reconocidos.

El engaño que las firmas de software de desarrollo hacen a los responsables
 de la creación de soluciones hacia el interior de la empresa los ha llevado
 a creer que programar es una labor sencilla, aproblemática, trivial. A creer
 que es posible que una persona sin la correspondiente y debida preparación
 puede crear software complejo, brindando soluciones improvisadas a problemas
 complejos.

Desarrollar software de calidad no es fácil. Y no tiene por qué ser fácil,
 eso es un mito. Programar exige un conjunto de habilidades adquiridas tanto
 desde el punto de vista formal (preparación académica) como derivadas de la
 experiencia.

Tradicionalmente, el enfoque comercial está orientado a la generación de
 utilidades económicas, aún cuando éstas no provengan de la satisfacción de
 una necesidad real. Esto nos inserta en una dinámica en la que la importancia
 radica en tener "productos" que se vean bien (esa es la forma de venderlos)
 aunque no que trabajen bien.

Desde nuestra perspectiva, el modelo comercial de creación y distribución
 de software ya tuvo su oportunidad y falló, gracias a su voracidad.

Un elemento importante para el éxito del software libre en los niveles
 de economía modesta, micro y medianas empresas, es sin duda la existencia de
 aplicaciones que den solución a las problemáticas cotidianas de esas empresas.

Es falsa la idea de que no hay ese tipo de software en su versión libre.
 Tan solo en México existe el proyecto Pegaso, que está enfocado a dar solución
 a las necesidades administrativas de una empresa.

La revolución del software libre es un fenómeno innegable e inevitable.
 La decisión actual no es si apoyarla o no, sino si aprovecharla o no. No es
 posible permanecer ajenos: o se está a la vanguardia o se es arrasado. Nuestra
 intención aquí y ahora es evitar que eso último suceda.
<sect>Conclusiones
<p>

El gobierno deberia usar y apoyar el software libre.

¿Por qué?
<itemize>
<item>Porque así no se exportan grandes capitales.
<item>Porque así se genera riqueza intelectual.
<item>Porque el apoyo económico y moral a universidades y organizaciones de educación
 que lo promueven significa un beneficio indirecto enorme, tanto para el gobierno
 mismo como para la población en general.
<item>Porque la creación de laboratorios de software libre colocará a México
 en una posición tecnológicamente competitiva con el resto de las naciones de
 primer mundo.
<item>Porque se elimina la dependencia de monopolios.
<item>Porque significa grandes ahorros.
<item>Porque permite un nacionalismo sano. 
</itemize>

Las universidades deben hacerlo, porque tienen un compromiso social con
 el país, porque de ellas depende que las generaciones por venir tengan la capacidad
 y el compromiso de luchar por el bien de todos.

En vista de todo lo anterior, exhortamos aquí y ahora, de la manera más
 formal, a la Universidad Nacional Autónoma de México a que cree un laboratorio
 de software libre.

Los retos son:
<itemize>
<item>aprovechar la oportunidad,
<item>saber retribuir,
<item>aprender a cooperar,
<item>asumir un liderazgo,
<item>llevar el software libre al escritorio.
</itemize>

Aceptemos los retos, y permitamos que la lucha que se genere nos vuelva
 más hombres, más civilizados. Hagámolo por México, y por nosotros mismos.

</article>
