Página siguiente Página anterior Índice general

3. Presentación del software libre

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:

  1. superioridad tecnológica,
    1. alto desempeño,
    2. indudable estabilidad,
  2. soporte,
    1. disponibilidad de aplicaciones,
    2. auxilio en la solución de problemas,
  3. apertura,
    1. apego a estándares,
    2. disponibilidad de código fuente.

En la perspectiva de las máquinas de escritorio (desktop), o clientes, las características que se deben exigir son:

  1. diversidad aplicativa,
  2. estandarización de formatos,
  3. soporte de primer nivel,
  4. facilidad de intercambio de información,
  5. interconectividad de usuarios y aplicaciones,
  6. disponibilidad en el idioma de los usuarios.

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:

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:

  1. en el ámbito universitario/educativo,
    1. exposición a código fuente de primer nivel,
    2. se desarrolla bajo el principio de cooperación sin supervisión,
    3. inducción a la cooperación en el trabajo,
    4. inducción a la búsqueda de calidad en el trabajo,
    5. los egresados serán más competitivos, capaces de impulsar tecnología nueva,
    6. el soporte de la creatividad inteligente promueve el desarrollo de individuos con iniciativa,
    7. 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,
  2. en el ámbito empresarial,
    1. la inversión en desarrollo de software tiene una tasa de retorno muy alta,
    2. facilita el proceso de investigación y desarrollo y da valor auténtico a las organizaciones,
    3. explotación de recursos de cómputo que se daban por perdidos,
    4. da lugar a significativos ahorros operativos,
    5. crea empleos,
    6. promueve la competitividad,
    7. permite la adaptación a necesidades específicas,
    8. elimina la dependencia monopólica (y la fragilidad operativa),
    9. revalora la importancia de vivir en la legalidad, acabando con el concepto de piratería,
  3. en el ámbito individual,
    1. da acceso a herramientas de primer nivel, con un costo mínimo,
    2. promueve la creatividad,
    3. brinda un sentimiento de unidad promoviendo la creación de comunidades.

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:

  1. la eficiencia del código,
  2. las dificultades en la adopción generalizada de estándares,
  3. la estabilidad de las aplicaciones,
  4. el difícil crecimiento.

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:

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:


Página siguiente Página anterior Índice general