El otro día realicé una pequeña reflexión sobre el Framework play (que por cierto he estado probando y es maravilloso), y claro tengo algunos parámetros para establecer la salud de un proyecto de software libre, pero para que nos vayamos entendiendo, en un ambiente empresarial necesario tomar en cuenta muchas cosas para poder decidir si utilizar un proyecto libre o no, y de acuerdo al perfil de la empresa hay que tomar la decisión de implantación.

Aquí hay un listado de las cosas que yo tomo en cuenta a la hora de evaluar el proyecto.

Funcionalidad: El software libre tiende a ser muy genérico a la hora de resolver problemas y también tiende a solucionarlos de manera que le sirva a todos, eso a la larga hace que no le sirva a nadie, la o las funcionalidades que quieres que soporte el sistema a veces conviven con otras o no están completamente desarrolladas para el flujo de negocios de tu empresa, hay que saber evaluar si sirve o no para el propósito especifico que se requiere y si soluciona problemas adicionales, a veces al implantar una solución libre podemos resolver más de un problema.

Ciclo de vida del desarrollo: Este parámetro tiene que ver con la velocidad del desarrollo y la cantidad tiempo que hay entre declarado un bug y su respectivo parche, dependiendo de este ciclo de vida se puede saber que tan comprometida se encuentra la comunidad que está desarrollando para la aplicación, mientras más rápido todo, mejor.

Tamaño de la comunidad: Directamente proporcional a la salud de un proyecto libre es el tamaño de su comunidad, no solo la cantidad de desarrolladores si no todo el ecosistema alrededor del proyecto, los que lo ocupan, lo documentan, comentan de el, lo aman o lo odian, aunque hablen pestes de el es un buen indicador igual porque significa que tiene un gran impacto, pero OJO, que si hablan pestes hay que leer estas pestes y tomarlas en cuenta.

Calidad del desarrollo: Es de código libre, nada te impide mirar, ver que tan bien estructurado se encuentra el código que tantos patrones de diseño utilizan, diferencias entre módulos, cohesión, etc., el echo que sea abierto permite ver el fuente incorporado, es sumamente importante hacerlo, ya que siempre existe la posibilidad de encontrar un troyano.

Tipo de licencia: Esto es sobretodo si son una empresa de desarrollo adoptando tecnologías, dependiendo el tipo de licencia te permite hacer diferentes cosas y distribuir de distintas formas, es por eso que es importante siempre leer la licencia ya que todas son diferentes y permiten cosas distintas, ojo con eso.

Plataforma: Todos los proyectos de software libre son distribuidos o nativos para diferentes plataformas, hay que ver como esta plataforma donde corre este proyecto encaja con la infraestructura de la empresa y también con el conocimiento técnico que hay dentro de la empresa o asociación.

Madurez del proyecto: Los proyectos de software libre tienen diferentes grados de madurez, que tiene que ver con los años que tiene el producto en el mercado, la cantidad de Bugs que son encontrados por versión (no importa que los corrijan rápido, si el número es muy alto o su funcionalidad crítica no es un proyecto maduro ni bien llevado, pero es importante entender que SIEMPRE HAY BUGS), y también la cantidad de documentación asociada con el proyecto, como es software libre siempre tienden a dejar esto para el último y por último si hay casos de implantación en empresas y que tan relacionadas están estas empresas con el giro de tu empresa.

Sopote y empresas que ofrecen el producto: Adoptar software libre para la empresa es diferente que adoptarlo para el uso personal, siempre hay que mirar si existe soporte o empresas que sean especialistas, certificadas u ofrezcan el producto, este es uno de los mejores indicadores que puede tener un proyecto libre, significa que existen empresas que se juegan su modelo de negocios y utilizan en producción la pieza de software que se está evaluando.

Usabilidad y curva de aprendizaje: La gran debilidad de los proyectos libres, es uno de los criterios que más hace que se descarten las soluciones libres, si hace todo lo que siempre has soñado pero no sabes como lo hace o te demora mucho aprenderlo, lamentablemente no te sirve, los usuarios y el nivel de estos es muy importante a la hora de implantar una solución de software libre, porque si vas a tener un usuario que te llama para cualquier acción que debe realizar sobre el sistema, ni tu ni el finalmente podrán hacer su trabajo.

Eso, como referencia he tomado este artículo, de la pastilla roja y lo he desarrollado con otra perspectiva, es importante que si tienen tiempo también lo lean.