archivo

Archivo de la etiqueta: sistemas abiertos

Este antipatrón se produce cuando se adopta una tecnología, un producto hardware o software, siguiendo un determinado criterio y entre los argumentos para su elección se encuentra su compatibilidad con una estándar o con una serie de ellos, conociéndose sin embargo que la misma no es tal o requiere un elemento puente que lo proporciona un proveedor en concreto o se ha sido víctima de un engaño o de una serie de medias verdades (que vienen a ser lo mismo).

No seguir estándares abiertos (la lucha por los sistemas abiertos es como la lucha contra la crisis del software o a favor de la neutralidad de la red, siempre hay que estar en guardia) y reconocidos en el mercado provocan cautividad respecto del proveedor (antipatrón relacionado “bloqueo del vendedor“, algo que es necesario evitar en lo posible (cuando se trabaje con un proveedor, que sea porque se está satisfecho de sus servicios, no porque una parte de tu infraestructura informática dependa de él), todavía más si cabe si se llega a la misma mediante procedimientos éticamente discutibles.

Sin embargo todavía peor que lo anterior es llegar a esta circunstancia por la negligencia del gestor que ha optado por esa solución.

Independientemente de que piense que el futuro debería estar teñido de pingüinos, desde siempre he considerado que el acoso y derribo contra Microsoft ha sido desproporcionado. Para empezar guste o no los fundadores de Microsoft tuvieron mucho que ver (evidentemente, junto a otros muchos) en el auge de la microinformática y han realizado buenos sistemas operativos (Windows XP me parece un gran sistema operativo), independientemente de que últimamente no estén acertando en sus soluciones.

En todo esta lucha por el software libre y por los sistemas abiertos se está olvidando a importantes gigantes que mantienen sus principales productos bajo licencias propietarias y que están saliendo de rositas de todo este asunto y a los que le viene muy bien que la atención esté centrada en Microsoft.

¿Qué pasa con Apple?, ¿qué pasa con Google?, ¿qué pasa con Oracle?, ¿nadie dice nada?, ¿es cuestión de libertad (de eso trata el software libre), de principios o de ser guay (utilizar un Mac)? Son solo unos ejemplos, pero hay más, ya que muchos servicios que están en la nube, también están basados en soluciones de código propietario (la mayoría de nuestras redes sociales favoritas).

Si se critica a Microsoft que sea por la calidad de sus productos (muy mejorable, a mi juicio, en los últimos años), pero si se critica por tener una política de código cerrado, que no se olvide de otros, que ya son tan grandes como el gigante de Redmond (o pretenden serlo).

Lo que más puede llamar la atención es el concepto de portabilidad, un ejemplo sencillo, en casa utilizo la distribución Linux Ubuntu, en el trabajo Windows, si quisiera instalar Microsoft Office en mi PC doméstico (suponiendo que tuviera la licencia oportuna) no podría (quitando otras posibles soluciones como tener un sistema operativo Windows como máquina virtual, Wine, etc…), este ejemplo es extensible a una gran cantidad de software que funciona en unos sistemas operativos y que en otros no (salvo que se rehaga completamente). La portabilidad se puede ver desde diferentes puntos de vista, portabilidad a nivel de código fuente, es decir, tener una aplicación que sin tocar el código fuente pueda funcionar en diferentes sistemas operativos mediante su compilación en los mismos, portabilidad a nivel de ejecutable o de software interpretable, la están proporcionando las soluciones basadas en máquinas virtuales, como por ejemplo Java, Mono, etc…, portabilidad de datos, etc… La portabilidad es, a mi juicio, una de las causas que está afectando al impulso definitivo de Linux, ya que la cantidad de software disponible en Windows y Mac (sobre todo en el primero y sobre todo a nivel de diferentes opciones a elegir) es sensiblemente superior. No obstante, la orientación del uso de aplicaciones en la nube y la aparición de cada vez más software en Linux, puede romper esa tendencia.

La portabilidad de la información no es un concepto que debamos dejar de lado, ya publiqué hace un tiempo un artículo que lleva el mismo nombre que el documental que me inspiró el mismo “La oscura era digital”. Es muy importante, si queremos que la información persista en el tiempo que el formato lógico en que se almacena se base en un estándar abierto, de lo contrario si queremos persistir la información, necesitaremos tener una copia del programa que lo interpreta y si el sistema operativo en el que se ejecuta tampoco es abierto una copia de dicho sistema operativo y así sucesivamente hasta llegar al hardware más básico de la máquina en que se ejecuta el software.

En resumen, los sistemas abiertos surgieron como una necesidad, casi como un mecanismo de defensa ante una evolución de la industria de las TIC que no era coherente para sus organizaciones usuarias, esta necesidad cambió las reglas del mercado y propició una importante evolución en el mundo de la informática que no hubiera sido posible (o por lo menos hubiera sido mucho más lenta) de otra forma. La estandarización, las especificaciones abiertas, fueron la llave de todo.

En la actualidad, pese a que los sistemas abiertos es una filosofía aplicada de forma general en el mundo de las TICs, en la actualidad y en el futuro existirán muchos productos hardware y software de uso cotidiano que no tienen publicadas sus especificaciones. La tendencia estratégica de estos y otros fabricantes dependerá muy mucho de las reglas del juego que queremos los usuarios que existan.

Lo mismo que el software libre es libertad, los sistemas abiertos también son libertad, libertad de elegir productos hardware y software compatibles entre sí a través de especificaciones que son públicas y convertidas en estándar a través de los organismos correspondientes de estandarización (especificaciones que son controladas por un número reducido de empresas, no forman parte de un sistema abierto, ya que es el mismo problema que dió lugar a los sistemas abiertos, solo que ahora cada pastel se lo reparten entre unos cuantos).

La necesidad de la existencia de sistemas abiertos provocó, por ejemplo, que las administraciones públicas tomasen cartas en el asunto y establecieran normativa en lo que respecta a la contratación pública, evitándose salvo en circunstancias excepcionales la adquisición de sistemas basados en especificaciones cerradas.

Conceptos íntimamente relacionados con los sistemas abiertos son los de interoperabilidad, portabilidad y escalabilidad. La interoperabilidad es la posibilidad de que máquinas (y el software que funciona sobre ellas) de diferentes fabricantes puedan comunicarse entre sí. La portabilidad se refiere a la posibilidad de que un software pueda ejecutarse independientemente de la máquina en la que se ejecute (con las limitaciones de los requerimientos que necesite la aplicación para funcionar). La escalabilidad hace referencia a la posibilidad de adecuar la infraestructura hardware y software a unas necesidades específicas, pudiendo ampliar o reducir dicha infraestructura conforme sea necesario, con los productos que en cada momento se consideren convenientes.

La no existencia de sistemas abiertos provocaba, como es lógico, una incertidumbre muy grande en las organizaciones, ya que la adquisición de una solución hardware resultaba toda una apuesta, ya que suponían una inversión importante y estaban a merced del fabricante. Imaginemos la siguiente situación, una empresa contrata una infraestructura hardware que con el software adecuado permite almacenar las compras y ventas que realiza, la empresa está muy contenta con dicha infraestructura ya que soporta perfectamente los requerimientos que se necesitan, además también está contenta con el fabricante porque tiene un servicio de atención al cliente excelente. Sin embargo resulta que un buen día el fabricante decide que deja de dar soporte a dicha infraestructura ya que ha sacado dos o tres familias de equipamiento más avanzado y conviene promocionarlo. La empresa si quiere reducir riesgos (ya que si falla algún componente hardware no va a encontrar recambio) tendrá que realizar una inversión en una nueva infraestructura que sí se encuentre soportada por el fabricante.

Esto creaba de forma totalmente evidente una auténtica cautividad ante el proveedor, ya que la evolución de las infraestructuras informáticas de una organización estaban totalmente supeditadas a la estrategia comercial del proveedor. En el ejemplo que he puesto por lo menos existía la posibilidad de migrar a una versión superior, imaginemos que el fabricante hubiera declarado quiebra y cerrado la línea de producción, esto hubiera obligado en aquella época a cambiar de proveedor, a cambiar el software y a una costosa y compleja migración de datos.

Esta situación de poder de los fabricantes (que interesaba, como es lógico a aquellos a los que les iba bien) minaba absolutamente la competencia, la posibilidad de componer una infraestructura de servidores, comunicaciones y demás componentes hardware y aplicaciones con productos de diferentes proveedores, lo que permitiría reducir costes y conducir a una situación más lógica, en la que los departamentos TIC decidieran con mayor libertad cuál debía ser su estrategia.

El concepto de sistemas abiertos surgió como una respuesta al crecimiento desorganizado que tuvieron las TICs desde poco antes de la aparición de los ordenadores personarles, época en el que el coste de tener una infraestructura informática se redujo lo suficiente para que se popularizase su uso en el ámbito corporativo. Este concepto pese a que apareció a finales de la década de los setenta y principios de los ochenta y que propició una estabilidad en el sector en la década de los noventa y en la actual, es algo que sigue siempre de actualidad, ya que choca contra los intereses de determinadas compañías del sector.

¿Cuál fue la causa que dió origen a los sistemas abiertos? Pues la existencia de múltiples soluciones hardware y de software cada una de las cuales era incompatible con las demás. Por ejemplo, si una empresa disponía de un software de contabilidad que le resultaba óptimo para su gestión, además de tener almacenada la información de mucho tiempo y sin embargo el equipamiento físico que daba soporte a ese software empezaba a quedarse obsoleto (o se estropeaba), si quería seguir utilizando ese software, tenía que comprarse un hardware compatible con el anterior que sería de la misma marca, aunque existiesen soluciones en el mercado más competitivas en cuanto a funciones y/o precio. Otro ejemplo podría ser al revés, es decir, la empresa utiliza un software de contabilidad que no se ajustaba a las necesidades de la empresa, pero había hecho una inversión importante en infraestructuras y equipos informáticos que todavía estaba lejos de amortizarse y resulta que tras un estudio descubren que la mejor solución la proporciona otro software que es incompatible con la infraestructura hardware instalada.

Esta situación que hoy en día puede resultar un tanto chocante (no tanto si nos ponemos a pensar en ejemplos que suceden hoy día), era el día a día con el que tenían que enfrentarse las organizaciones en aquella época y no solo eso, ya que me he centrado en dos ejemplos muy concretos, cuando podía contar muchísimos más.