Licenciamiento, SOA y planeación estratégica


Licenciamiento de software

En la empresa en la que laboro se esta desarrollando un software interno en la cual se necesita crear distintos tipos de gráficas en los reportes, le comenté a un amigo si conocía alguna alternativa libre que pudiéramos utilizar y me comento que él acababa de empezar un módulo similar y me envió un link para descargar una herramienta que me podría servir.

Revisando dicho software noté que estaba bajo licencia GPL v3 y se me hizo extraño que mi amigo lo estuviera utilizando en su organización ya que dicha licencia, efectivamente, permite utilizar, estudiar el código fuente, adaptarlo y distribuirlo; sin embargo, también concede permiso indefinido y gratuito para cualquier patente que cubra dicho software (entre otras cosas).

Se me hizo extraño así que le marque y me comentó que no sabía, argumentaba que no era cierto pero en realidad se estaba confundiendo con la versión 2 de dicho tipo de licencia.

Mi amigo perdió (según me comenta) poco mas de dos semanas de trabajo ya que bajo esas políticas no podía utilizar dicho software y tuvieron que cambiar de herramienta.

Entonces… ¿qué es una licencia de software? y ¿que tipos existen?

Una licencia de software es un contrato mediante la cual una persona recibe de otra el derecho de uso, copia, distribución, estudio y modificación de cierto software cumpliendo una serie de términos y condiciones establecidas dentro de sus cláusulas. Se pueden clasificar en dos grandes tipos: cuando el autor reserva ciertas derechos sobre su obra (donde encontramos las licencias de código cerrado o propietario y las de código abierto o libre) o dependiendo el destinatario (enfocadas a un usuario final o a distribuidores).

Las licencias de código cerrado son las más comunes para un usuario promedio ya que compras un producto y no tienes acceso al código para modificarlo y/o adaptarlo a tus propias necesidades. Por lo mismo, es el más utilizado por las empresas para hacer negocios, un claro ejemplo es Microsoft quien llegó a ser lo que es ahora gracias a este tipo de licencia.

Si hablamos de código abierto, nos referimos a que el software se distribuye con su código fuente. Esta ideología parte del hecho que las personas que lo utilicen puedan leer, modificar, redistribuir el código de un programa ¿para que? para que evolucione rápidamente, de esta forma, los usuarios puede agregar funcionalidad, mejorarlo, corregir errores , entre otras cosas.

Otra forma de llamar al código abierto es software libre (free software), esto no significa que sea gratuito (del todo), es por eso que existe gran diversidad de licencias para este tipo de software, algunas te permiten utilizarlo completa y gratuitamente si es para uso personal o una organización sin fin de lucro, en caso de ser para uso comercial ya se debe efectuar un pago.

A continuación una infografía que detalla las licencias más comunes.


¿Qué nos depara el futuro?

El tiempo pasa y las nuevas tecnologías se han encargado de cambiar nuestra forma de almacenar, organizar y distribuir nuestra información y, por lo mismo, de la forma en la que se hacen los necocios y se proveen servicios. Cada vez es mas común que tengamos nuestra información en “la nube” y que accedamos a dicha información como si de un servicio se tratara. De esta forma también está tomando mucho auge el modelo de software como servicio con lo que si antes comprábamos un programa para realizar una tarea, solo podíamos utilizarlo en una computadora y teníamos que comprar una licencia por cada equipo extra que necesitáramos.

Bajo este nuevo paradigma, podemos acceder a nuestros servicios desde distintos dispositivos por lo cual se pueden crear nuevos tipos de licencia que, como responsables de TI, es indispensable conocer para tomar la mejor decisión al momento de adquirir un servicio.

Administración orientada a servicios y su planeación estratégica



Las herramientas informáticas toman un papel muy importante dentro de las organizaciones, ya sea porque optimizan procesos, reducen costos, aumente la productividad, ayudan a la toma de decisiones, etc.

Dichas herramientas han ingresado paulatinamente a las empresas, quizá primero fue para llevar la contabilidad, después el control de empleados, la nómina, inventarios...  En la actualidad es indispensable que dichas herramientas tengan la capacidad de compartir datos y conocimiento entre ellos.

La administración orientada a servicios (SOA) es un concepto que define la utilización de servicios para dar soporte a los requisitos del negocio.

Trataré de explicar lo que es la administración orientada a servicios y la importancia de su planeación estratégica a través de como lo hemos implementado en los proyectos que realizamos en mi área en la empresa en la cual laboro.

Lo que se está haciendo es seccionar los procesos en sistemas pequeños (poco complejos) que se encargan exclusivamente a atender cierta problemática y ofrecer la información como un servicio a través de webservices a los sistemas que lo requieran (sistemas usuarios).

Actualmente nosotros mismos somos estos “sistemas usuarios” y esto nos ha dado la experiencia para contemplar sucesos que se dan al momento que dos sistemas se interconectan.

Con estas lecciones aprendidas estamos definiendo mejores prácticas para poder consumir la información ya que no solo estamos hablando que se conecten y efectúen sus operaciones normalmente, también tenemos que contemplar que sucede si se pierde la conexión entre ambos servidores que se encuentran en distintas zonas del país y de igual forma como deben verificar que la información que les envíanos ha cambiado de forma significativa que les pegue en su operación.

Para dar un ejemplo comento que una de las tareas de mi unidad es administrar la estructura organizacional de la empresa, quiere decir que les enviamos el catalogo de áreas y trabajan normalmente pero deben considerar, identificar y mostrar una solución para cuando ya no les enviamos un área porque se dio de baja.

Este modelo nos ha ayudado a mantener bien organizada (confiable) la información a través de un sistema simple al cual es muy fácil extenderle funcionalidad y proveer información en el momento que sea requerido. Para una empresa que se dedique a monitorear transacciones bancarias diez minutos puede ser bastante para detectar un fraude considerando el daño que puede hacerle a su cliente, quizá habrá otras empresas que puedan darse el lujo de contar con su información con cortes cada 12 horas.

No ha sido tan fácil como se lee ya que realmente tienen que estar de la mano la parte administrativa y la de TI. Muchas veces se dan los requerimientos a TI y se enfocan mucho en hacer un software muy “bonito”, utilizando tecnología reciente pero que simplemente sabe actuar bajo ciertos escenarios.

2 comentarios:

  Lupita Hernandez

20 de mayo de 2012 a las 16:05

Mi experiencia con el software es únicamente como usuario y jamás había reparado en la importancia de estar al tanto del tipo de licencia de que se trate ni de lo complicado que puede resultar coordinar estos recursos.

  Miguel !

21 de mayo de 2012 a las 14:03

Es muy importante la planeación, ya que uno se puede perder rápidamente en los problemas del día a día, y perder de vista la misión de la empresa.