¿Qué es LibreGOB?.

El proyecto LibreGOB busca generar una solución base de aplicaciones administrativas y operativas comunes a las distintas instancias gubernamentales, en concordancia con la legislación ecuatoriana. Se trata de una solución común basada en estándares y mejores prácticas, que se beneficiará de un modelo de desarrollo libre y colaborativo, reutilizando el conocimiento generado y el código escrito por cada institución para estandarizar y homologar los procesos gubernamentales a nivel general, logrando así que los aprendizajes del proceso beneficien al conjunto de instituciones.
 
Bajo este concepto, se pueden generar soluciones integrales para aspectos como administración de recursos humanos, generación de roles de pago, inventarios, control presupuetario, administración de proyectos, gestión de cuentas por pagar y cobrar, facturación, manejo de relaciones con el público, gestión de proyectos, manejo de tareas, agenda, comunicaciones internas, entre otras. Finalmente, cada institución estará en capacidad de desarrollar módulos que ayuden a incrementar las capacidades de LibreGOB y adaptarse a sus necesidades específicas, por ejemplo, generando módulos para la administración de rentas municipales, administración de centros de salud, administración de centros educativos, instituciones de seguridad social, entre otros.

¿Porqué crear LibreGOB?

Ecuador, con la aprobación del Código Orgánico de Economía Social del Conocimiento e Innovación, ha iniciado un proceso de actualización para utilizar software libre y de código abierto.

Este proceso de actualización, además de ser una gran oportunidad para tener sistemas más eficientes y generar un importante ahorro para el estado, también es un reto para los departamentos técnicos de las instituciones, pues en su mayoría, se encuentran familiarizados con tecnologías propietarias, por lo que realizar un análisis de conveniencia económica o resolver los retos técnicos que plantea el proceso de actualización, pueden convertirse en obstáculos para lograr el objetivo planteado en el Código.

Por este motivo, se crea la iniciativa LibreGOB, basado en Odoo, uno de los ERP de software libre más exitosos, cuyo desarrollo proactivo ha generado una importante sinergia en el ámbito empresarial. LibreGOB busca ser una base para que las instituciones gubernamentales puedan diseñar soluciones a problemas específicos, basados en un marco común y principalmente, compartiendo sus esfuerzos y avances.

En el desarrollo de LibreGOB se incluirá de manera nativa los módulos requeridos por todas las instituciones gubernamentales de Ecuador y se enfocará en las instituciones del Gobierno central, los Gobiernos Autónomos Descentralizados "GAD" y las Empresas Públicas "EP".

¿Cómo nace LibreGOB?

Nuestra experiencia como implementadores de Odoo nos ha demostrado que las versiones intermedias de Odoo pueden tener cambios sutiles, generalmente requeridos para la corrección de errores, estos cambios pocas veces generan inconsistencias, pero cuando lo hacen, generan problemas para los programadores menos experimentados. Adicionalmente, Odoo no tiene todos los módulos disponibles, existen miles de módulos comunitarios útiles que no están incluídos, encontrarlos y probarlos es una tarea larga, tediosa y con tendencia a errores.

Dado lo anterior y a la gran cantidad de Instituciones que deben realizar el proceso de migración, se determinó que era necesario generar un "manual" de instalación en el cual se incluya información como las versiones compatibles, módulos comunitarios y sus usos, instrucciones de instalación y configuraciones, entre otras.

Sin embargo, este manual, al estilo "linux from scratch", sería solo una guía, pero en su implementación podrían generarse errores, también, requeriría que cada uno de los técnicos que realizan una implementación lo haga de manera manual y de acuerdo a sus posibilidades, esto podría generar una importante brecha y problemas graves, difíciles de resolver por los equipos técnicos que realicen la implementación.

Así, luego de analizar esta posibilidad, se determinó que un derivado, donde se incluyan todos estos cambios para una implementación y actualización más eficiente era el camino correcto a seguir, este derivado tiene como objetivo implementar todas estas recomendaciones en el código y hacer que el proceso de adopción sea más sencillo y eficiente, eliminando la mayoría de inconvenientes y falencias que podrían estar presentes en una instalación estándar.

¿Si uso Odoo, puedo usar los módulos de LibreGOB?

Si, todos los módulos de LibreGOB están diseñados y escritos para ser 100% compatibles con Odoo. Si usted tiene una instalación de Odoo puede desargar e instalar los módulos de LibreGOB, asegúrese de realizar las pruebas de compatibilidad necesarias con sus desarrollos.

¿Tengo una empresa, puedo usar LibreGOB?

Si, por supuesto, LibreGOB está pensado en instituciones gubernamentales, pero las empresas también pueden beneficiarse ampliamente de las mejoras e incorporaciones realizadas en el proyecto LibreGOB.

¿Porqué un "fork" (derivado) de Odoo en lugar Odoo?.

Principalmente por los siguientes motivos:

- El aplicativo (software) es solamente una parte del proyecto LibreGOB, junto con el desarrollo de código se busca generar una base de conocimiento que incluya las mejores prácticas de ejecución en un área determinada, manuales de uso, flujos de trabajo y procesos, estructuras y demás conocimiento necesario para lograr los mejores resultados en una tarea específica.

- Se requiere un proyecto centralizado y de fácil acceso, administrado en Ecuador,  para que las configuraciones, mejoras y desarrollos nuevos, realizados por la comunidad y el estado, puedan ser incorporados y posteriormente utilizados de una manera simple y ágil, sin depender de la aceptación o no de empresas extranjeras.

- Odoo está enfocado en el desarrollo de un sistema multinacional, dispone de localizaciones para una gran cantidad de países y sus prioridades hacen que sus configuraciones por defecto tengan una gran cantidad de información (campos, modelos, vistas) que son innecesarias en la realidad ecuatoriana, así mismo, debido a su enfoque internacional, las configuraciones e idiomas por defecto están pensadas para funcionar con personas de habla inglesa.

- Odoo es un sistema ERP, diseñado y desarrollado con un objetivo genérico y aunque puede ser usado como base y las funciones tienen similitud con las requeridas por el gobierno en algunos aspectos, distan diametralmente en otros, por lo que, el esfuerzo de configurar y adaptar Odoo para funcionar con instituciones gubernamentales o empresas ecuatorianas, es un esfuerzo significativo, que necesariamente debe consolidarse en un espacio independiente, en este caso, el proyecto LibreGOB.

- Odoo es un proyecto desarrollado y mantenido por una empresa extranjera, que, con justa razón, tiene intereses económicos y por lo tanto mantiene dos versiones: la empresarial (enterprise) y la comunitaria (community); y, a pesar de que han demostrado un fuerte compromiso con el software libre y la versión comunitaria es de gran calidad, en cada lanzamiento existen nuevas funciones "exclusivas" de su versión empresarial, lo que es necesaria la existencia de un proyecto independiente, enfocado en mantener y asegurar la libertad del código utilizado por el estado.

- La empresa desarrolladora de Odoo mantiene una cantidad limitada de módulos disponibles. Fuera de su repositorio existen cientos de módulos creados por distintos actores como la Odoo Community Association - OCA y desarrolladores independientes que, a pesar de funcionar con Odoo, no son parte de la instalación estándar. Al crear un derivado, estaremos en capacidad de incluir los módulos independientes que, de acuerdo a las necesidades de las instituciones gubernamentales, sean indispensables para su funcionamiento, mismos que podrán estar instalados de manera predeterminada o estar disponibles para su instalación de manera sencilla.

- Como todo software de calidad, Odoo se mantiene en una constante actualización y mejoras, tanto en sus versiones estables como en sus versiones de desarrollo. Sin embargo, el precio del desarrollo continuo es la inestabilidad y la potencial pérdida de compatibilidad con los módulos externos, elaborados por terceros, que no son considerados dentro de las pruebas realizadas por Odoo para cada lanzamiento, ni en las actualizaciones ni en las nuevas versiones. Por este motivo, es importante la existencia de un proyecto independiente, estable, que previo a la incorporación de las actualizaciones liberadas por Odoo para su versión estándar, realice pruebas de compatibilidad y asegure que los cambios introducidos no tendrán un impacto negativo en los módulos externos incorporados; y, en caso de tenerlo, realice las correcciones necesarias para lograr un correcto funcionamiento.

- Lograr homogeneidad en el software utilizado por el estado. Al utilizar Odoo directamente, cada institución utilizará distintos lanzamientos "releases" de Odoo, tanto en versiones mayores (v9, v10, v11), como en sus lanzamientos intermedios (v9 de julio o v9 de diciembre), lo que puede generar conflictos en la colaboración entre instituciones. Al trabajar sobre la base de LibreGOB, existirá la seguridad de trabajar sobre la misma base de código, el mismo lanzamiento, por lo que la probabilidad de incompatibilidad se reducirá al mínimo.

Al utilizar un derivado "fork" de Odoo, en lugar del proyecto base, ¿Corremos el riesgo de quedar relegados en la tecnología?.

Muchas veces los proyectos derivados se generan para tomar un camino opuesto al del proyecto base, como es el caso de LibreOffice con OpenOffice o de Tryton con Odoo. Sin embargo, el motivo de este derivado, expuesto más en detalle en el apartado anterior, es generar una base especializada en un caso de uso particular. Creemos que la empresa propietaria de Odoo, así como su comunidad (OCA), están realizando un trabajo excepcional según sus objetivos, por este motivo, el desarrollo de LibreGOB tendrá como prioridad mantener compatibilidad con los módulos de Odoo y de la OCA, para ello, nuestro desarrollo se basará en los siguientes criterios:

- Solamente se eliminará código que se haya verificado como innecesario y potencialmente perjudicial, al hacerlo, siempre se eliminarán módulos completos (l10n_ru, l10n_fr) a fin de evitar que exista una base distinta entre los módulos de LibreGOB y los de Odoo, la OCA, o cuaquier otro repositorio del cual se utilicen módulos.

- Las modificaciones que pretendan corregir errores (bug fixes) serán realizadas directamente sobre el código original, serán compartidas públicamente en los repositorios de LibreGOB y serán propuestos como cambios en el repositorio original a fin de que el desarrollador pueda utilizarlos e incluírlos en su código. Se buscará que el código de los módulos usados en LibreGOB tengan la menor cantidad de diferencias con los módulos originales. Este tipo de modificaciones, directas sobre el código base, deberán hacerse en la menor medida posible y de preferencia en coordinación con el desarrollador original.

- En caso mejoras y de cambios que pretendan cubrir una necesidad específica de una institución y todos los módulos que adapten el código base deberán realizarse a través de módulos con dependencia del módulo original, mortificándolo a través de herencias y siguiendo los lineamientos de desarrollo del proyecto LibreGOB, de la OCA y de Odoo.

Con estas pautas, podremos mantener el código utilizado de manera eficiente y los procesos de migración a versiones más recientes de Odoo podrán ser evaluadas y ejecutadas de una manera coordinada, permitiéndonos un equilibrio entre estabilidad y actualización.

¿Cuál es la licencia del proyecto LibreGOB?.

LibreGOB utilizará principalmente la licencia AGPLv3, que es la licencia estándard de la OCA, sin embargo, se respetará las licencias de cada uno de los módulos que se utilicen dentro del proyecto, se utilizará módulos liberados con una licencia libre aprobada por la Free Software Fundation y todos los módulos desarrollados serán publicados con la licencia AGPLv3 o superior.