ISIS vs PostgreSQL: La catedral y el bazar

Como estoy viendo que hay bastante interés últimamente en el ISIS y el open source, voy a intentar hacer una breve comparación (intentaré ser imparcial, aunque obviamente, lo que publico en este blog será siempre mi punto de vista) entre la evolución que ha tenido la base de datos PostgreSQL y la que ha tenido ISIS en los últimos veinte años de historia, para ver cómo influye el modelo de desarrollo de código libre.

Si consideramos que PostgreSQL nació, en 1986, basándose en la experiencia del desarrollo de un sistema ya existente (Ingres) y que la primera versión de CDS/ISIS fue liberada por la UNESCO en 1985 (basándose también en dos desarrollos iniciados en 1960 – el Computarized Documentation System o CDS de la UNESCO y el Integrated Set for Information System o ISIS de la OIT), podríamos considerar para la comparación el crecimiento que han experimentado ambos sistemas en estos últimos 20 años.

Para ver los detalles de la historia de CDS/ISIS, pueden consultar esta página escrita por Adolfo Hernández, y para ver la historia del PostgreSQL pueden consultar esta página del sitio oficial de PostgreSQL.

Hay que tener en cuenta que los objetivos iniciales de los dos sistemas eran bastante diferentes, pero a mí me interesa comparar el crecimiento que han experimentado. Con PostgreSQL se buscaba crear un sistema de gestión de bases de datos objeto-relacional y con CDS/ISIS se buscaba ofrecer a una herramienta de gestión de información textual que sea de fácil manejo y que tenga unos requisitos mínimos de hardware.

Sin embargo, creo que el modelo de desarrollo adoptado por PostgreSQL le ha permitido tener una evolución que ha acompañado las necesidades de cada momento hasta convertirse en uno de los mejores motores de bases de datos de la actualidad (incluyendo, entre otras cosas, extensiones para realizar búsquedas a texto completo y para almacenar y consultar XML), mientras que el modelo de desarrollo de CDS/ISIS (dependiente de los esfuerzos puntuales de ciertas organizaciones e individuos, que no han estado siempre coordinados, ni han podido basarse en el trabajo realizado anteriormente) ha limitado la compatibilidad entre distintas versiones y ha dificultado la integración de herramientas basadas o relacionadas con CDS/ISIS, lo que en definitiva también ha limitado las posibilidades disponibles para los usuarios.

El PostgreSQL nació en la Universidad de Berkeley y su desarrollo inicial ha estado basado en el trabajo de los alumnos de la universidad. Ha sido adoptado y adaptado por distintas empresas entre los años 1992 y 2000, período en el cual muchas han desaparecido o han sido compradas por otras, etc. pudiendo sobrevivir a todos esos avatares sin tener un patrocinador constante a lo largo de su historia, y eso ha sido gracias a contar desde sus inicios con una licencia open source muy flexible como es BSD. Gracias a este modelo de licenciamiento, en el año 1996 se conformó el equipo de desarrollo global de PostgreSQL (contando originalmente con 4 personas) que ha logrado que el proyecto fuese madurando y entrando en un ciclo de desarrollo regular, llegando en la actualidad a contar con más de doce listas de discusión, varios grupos de usuarios, una larga lista de casos de éxito y multitud de herramientas y contribuciones disponibles, así como una serie de empresas que ofrecen soporte integral.

Por su parte, el CDS/ISIS ha pasado de la versión MS-DOS escrita en Pascal (liberada en 1985) a la version Windows llamada WinISIS y recodificada en C y C++ (liberada en octubre de 1998), mientras que Bireme (en colaboración con UNESCO) desarrolló el CISIS (herramientas para administración de bases ISIS desde línea de comandos), la ISIS_DLL (que permitía a los usuarios avanzados desarrollar aplicaciones Windows que interactuaran con bases de datos ISIS) y el WWWISIS (que permitía el desarrollo de aplicaciones web utilizando bases de datos ISIS) en el año 1995. Ya en el año 2000, Bireme liberó la versión 4 de WWWISIS (llamada WXIS) donde implementaba un nuevo lenguaje de programación (llamado IsisScript y que era incompatible con la manera de programar anterior del WWWISIS) y, finalmente entre el año 2004 se lanzaron las versiones Wxis-modules (una serie de scripts PHP que realizan llamadas mediante HTTP al programa CGI WXIS ya existente) y el XISIS (que permite acceder a bases de datos ISIS mediante servicios web)

Como conclusión, podemos apreciar que el modelo de desarrollo adoptado por UNESCO y Bireme ha contribuido a:

  • Ciclos de desarrollo de las herramientas de la familia ISIS altamente irregulares y que no siempre han podido acompañar los cambios tecnológicos.
  • No se ha podido mantener la compatibilidad entre las distintas herramientas.
  • Con las últimas herramientas (especialmente el XISIS) se ha perdido por completo la sencillez de instalación y manejo por parte de usuarios con pocos conocimientos informáticos y escasos recursos de hardware.
  • Al alejarse de los estándares, transformándose en una herramienta “de nicho”, no existen en la actualidad suficientes profesionales capacitados en dichas herramientas (y por lo tanto, tampoco existen suficientes empresas dedicadas a ello).
  • En el caso de Bireme, se han desarrollado nuevas herramientas a un ritmo bastante más elevado que la UNESCO, pero no se conoce (al menos no públicamente) cuántos usuarios realmente las utilizan y si las funcionalidades incorporadas obeceden realmente a necesidades planteadas por la comunidad.

Por este motivo me he valido de la comparación de Eric Raymond, para comparar los dos modelos de desarrollo: la familia de herramientas ISIS construidas por “expertos” que deciden cuales son las herramientas más adecuadas para la comunidad de usuarios y el PostgreSQL (como tantos otros) que surgen de un constante intercambio entre la comunidad de usuarios, como si se tratara de un ruidoso y desordenado bazar.

Por lo que puedo ver en estos últimos años, todas las instituciones destinadas a la difusión del conocimiento están enfrentando grandes retos por incorporar las últimas tecnologías disponibles, necesarias para contribuir al desarrollo de las sociedades. Pero aquellas instituciones (especialmente en los países “en vías de desarrollo”) donde se adoptó el ISIS, actualmente enfrentan dificultades adicionales para valerse por sí mismas a la hora de actuar como vehículos de difusión del conocimiento para las sociedades de dichos países, que son precisamente quienes más lo necesitan.

5 comments so far

  1. walter on

    hola:
    felicitaciones por tu articulo,,,pero creo que no estas en lo correcto cuando tratas de comparar el Isis Vs el PostgreSQL, por cuando hablar de base de datos textuales es casi exclusivo hablar de informacion que se almacena en bibliotecas, en cambio hablar de una base de datos relacional (como PostgreSQL)generalmente es de desarrollar aplicaciones genericas: sistema ventas, sistemas contables, etc, y tambien sistemas de bibliotecas, pero te pregunto ¿donde existe un sistema de bibliotecas en PostgreSQL, gratis y digerible por un blbiotecario? y que facilite el intercambio de datos entre bibliotecas de diferentes paises…gracias

  2. Eduardo on

    Creo que en este caso, no podemos comparar la catedral con el bazar (y nunca se podra).

    Son dos herramientas distintas que obedecen a diferentes necesidades. Por un lado el PostgreSQL, una herramienta genérica con la cual puedes desarrollar cualquier aplicación que necesita almacenar datos de forma relacional.

    Por otro lado, un sistema con otro enfoque en el manejo de datos textuales (campos repetibles y subcampos, por ejemplo) dificiles de comparar en el modelo relacional.

    A las herramientas creadas por la UNESCO, BIREME y por desarrolladores particulares, se les ha tratado de integrar las normas y reglas para el manejo de información bibliográfica, que es donde más se ha instalado y usado esta herramienta, y los “expertos” tratan de compatibilizarlos con las herramientas propias de la informática y de comunicación de datos.

    Creo que el problema aca es más bien la forma en que se han desarrollado las dos herramientas, la comunidad vs. un organismo internacional (que su objetivo principal, no es precisamente la construcción de software), si hubieran tenido el mismo camino, como dicen en mi pueblo “otro gallo nos cantaría”

    Como bibliotecario, analista de sistemas y gestor de información, creo que los que estamos sirviendo a una comunidad que demanda servicios de información (no tecnología), estamos en la obligación de utilizar la herramienta más adecuada para ello.

    Saludos y gracias por tu artículo

  3. rofranco on

    Estimado Eduardo,

    En primer lugar agradezco tu comentario, entiendo, aunque no comparto completamente, tu punto de vista.

    Creo que la principal ventaja de ISIS es su facilidad de uso por parte de “no expertos en informática” para el entorno de la documentación. Esta ventaja no es trivial, ya que ha conseguido que sea una de las herramientas mas utilizadas en este entorno.

    Sobre la facilidad de uso, también debo decir que he utilizado todas las herramientas de ISIS y no creo que sean precisamente fáciles de usar (basta con ver el lenguaje de formatos, que además varía entre las distintas herramientas) sino que conceptualmente es más cercano a la representación “tradicional” de la información bibliográfica.

    Un campo repetible se puede representar sin ningún problema en el modelo relacional, donde además tenemos otras ventajas añadidas. Por mencionar una, si dos libros (registros de una base) tienen asociados una lista de 10 autores idénticos, si lo representamos como un campo repetible estaremos duplicando la información en la base, con los riesgos de inconsistencia que eso conlleva. Adicionalmente, si quisiéramos tener los nombres y los apellidos de dichos autores por separado, deberíamos tener 2 campos repetibles y dependeríamos del orden de dichos campos para saber que nombre corresponde a cada apellido.

    Como comento en el post, PostgreSQL es una base de datos “extensible”, donde existe un tipo de datos repetible llamado “array de enteros”, pero al ser extensible, inclusive podría crearse un tipo de campo de texto repetible (aunque hasta ahora creo que no hay una necesidad que lo justifique)

    Nuevamente gracias por expresar tu opinión, al fin y al cabo, de eso se trata un blog.

  4. Eduardo on

    Estimado Rofranco

    En mi comentario no he escrito que “.. sobre la facilidad de uso ..”, eso es cierto, las herramientas ISIS no son fáciles de usar, debido al lenguaje de formateo que para muchos son fórmulas chinas, entre otras cosas.

    Claro que con imaginación de programación podemos igualar el comportamiento de dos herramientas, como bien lo mencionas sobre la solución de campos repetibles, pero estos son estilos cuando escaseaba el espacio en disco y no teniamos que redundar datos, pero ahora, en estos tiempos que el costo de almacenamiento se ha reducido ….

    “..Adicionalmente, si quisiéramos tener los nombres y los apellidos de dichos autores por separado ..” ??? para que necesito esto ??? Claro como tu lo planteas, se pierde la correspondencia de datos …

    solucion: ^aFulano^bapellido de Fulano%^aSutano^bApellido de Sutano

    campos repetibles con sus correspondiente subcampos, no hay perdida de datos

    Pero bueno, eso no es el punto, porque vamos a entrar en un debate de tecnologías que tu muy bien las has nombrado “La Catedral y el bazar”, dos cosas distintas

    Creo que nuestros usuarios al entrar a nuestras páginas donde les ofrecemos nuestros servicios no les importa que herramientas utilizamos …

    Lo importante es que se sientan satisfechos de encontrar la información que buscan. No crees??

    Gracias a ti por permitirme expresar estas ideas .. para eso sirve el blog

    Saludos

  5. MANUAL ISIS on

    Nesecito el manual del ISIS vercion MS dos


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: