Propuesta de proyecto para Administración de Contenidos

Hola a todos, recién nuestra empresa cumplió 10 años y siempre estuvimos alrededor de la Administración de Contenidos, empezamos desde servicios de digitalización, pasando por muchos y múltiples productos que en el día de hoy se ostentan como ECM (Enterprise Content Management).

Participamos en organizaciones como:


Como parte de ese proceso hace varios años creamos una herramienta en casa llamada Net Brain, la cual tiene algunos módulos de ECM, fundamentalmente está hecha con JSPs. Con la cuál en base a prácticas documentadas la hemos utilizado para manejo de documentos, control de gestión, administración de expedientes, gestión de proyectos. Al cumplir los diez años queremos ejecutar algo que tenemos en mente y llevarla a ser un proyecto de Open Source sustentada por una comunidad.

Como es un camino que aún no hemos recorrido, y percibimos que una buena forma debe ser a través de una comunidad, queremos invitar a un grupo interesado, y en primer lugar para discutir las acciones que se deben seguir para armar un plan de actividades y ver si podemos emitir una primer versión en un esquema de Open Source para la herramienta, a los interesados les proponemos hacer una reunión en unas dos o tres semanas, o ver que proponen.

Cualquier comunicación la pueden mandar a la cuenta cyberatl1@gmail.com.

Saludos

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

BIEN!

Pues primero que nada, permitanme felicitarlos por la decisión.

Me parece que lo primero que deben hacer es escoger qué cosas quieren abrir y cuáles no. En paralelo a eso deben decidirse por una licencia de distribución, ya que existen varias y cada una tiene distintas ventajas y restricciones. GPL, LGPL, BSD, ASL, etc.
La decisión no es solamente por la que más les guste a ustedes, sino que también la puedan utilizar según el software de terceros que utilice su sistema. Por ejemplo si están usando cosas de GPL pues de entrada significa que estuvieron violando esa licencia durante todo el tiempo que vendieron ese sistema como propietario, y que ahora que lo quieren abrir pues se tiene que hacer GPL, pero si tienen puro LGPL, Apache, BSD, etc entonces no hay problema, pueden elegir alguna de esas. Yo no recomiendo BSD porque es demasiado libre (permite que se integre con software propietario y lo cierren y no tengan que darle nada a nadie, ni cambios ni tu software ni nada, por eso Microsoft se aprovechó y se robó todo el código del stack de TCP de BSD, y nadie les puede reclamar porque la licencia se los permite).

Si estuvieran en USA habría un paso importantísimo que es revisar que no infrinjan ninguna patente de software, pero afortunadamente las leyes de propiedad intelectual en México están a nuestro favor en este caso porque en México el software no es patentable así que no tienen que preocuparse por violar ninguna patente ya que no existen.

Si deciden que no van a abrir todo sino solamente algunas partes, tienen que hacer cierto refactoring para poder tener lo que va a permanecer como propietario (si es que puede permanecer propietario, eso depende de la licencia que hayan elegido para abrir el software). La parte que van a abrir no debe tener ninguna dependencia con lo que van a mantener como propietario.

Luego tienen que ponerle un texto con lo de la licencia al principio de cada archivo de texto (jsp, clases de java, etc). OJO: recuerden tambien que open source y software libre no significa dominio público. El copyright sigue siendo de ustedes; el disclaimer que ponen en los archivos es para indicar bajo qué licencia se distribuye ese código y lo que alguien puede y no puede hacer con él (no ponen toda la licencia, solamente indican cuál es, algo muy básico, una liga a la licencia completa y algunos datos de contacto de ustedes).

por último, asegurarse que el software no tiene dependencias con ningún software propietario, ya sea de ustedes o de cualquier otra persona (librerías de objetos que hayan comprado, etc). Las dependencias que tengan con otras librerías de software libre (como de Jakarta por ejemplo) ahi tienen que ver la licencia de cada una, para poder definir cómo van a distribuir su software; hay librerías que no permiten redistribución con software que contenga licencias distintas, por lo que hay que darle la vuelta incluyendo algun script que baje esas librerías (o indicarle al usuario que las baje directamente, en cuyo caso deben indicar libreria y versión, y cualquier otra dependencia que haya con eso).

Finalmente hacen su script de Ant o Maven para construir todo el sistema (o librería o lo que vayan a publicar). Con eso ya está listo para su distribución. Pueden subirlo a SourceForge o algun sitio similar, o bien hospedar ustedes todo (finalmente, ya tienen el repositorio de código, así que es cosa de configurar su sistema de control de versiones para permitir acceso público de sólo lectura).

También tienen que pensar en cómo van a controlar las contribuciones; hay quienes piden una carta a los contribuyentes donde ceden su copyright a los autores del software (como Asterisk; eso a mi no me late pero en fin cada quien), y hay quienes dan crédito a los contribuyentes. Hay quienes permiten que quien sea le meta mano (nada recomendable) y hay quienes controlan quiénes pueden hacer contribuciones y cómo. Esto es algo que ustedes deben decidir, pero pueden leer acerca de proyectos similares para ver cómo le hacen para esto.

Otra cosa que deben tomar en cuenta es que no tienen que abrir todo el sistema como un monolito; tal vez les convenga ir abriendo módulos poco a poco, y así le van agarrando la onda. Por ejemplo si tienen alguna funcionalidad en su sistema que creen que se puede sacar del mismo y servir en otro lado, entonces la pueden reescribir como una librería aparte que su sistema usa, y abrir solamente dicha librería. Posteriormente irán abriendo otras partes de manera similar, como más librerías, y finalmente ya abren la aplicación completa.

Given the choice of dancing pigs and security, users will choose dancing pigs, every single time. - Steve Riley

Imagen de ezamudio

FSF

Por cierto algunos lugares para que consulten todo acerca de las diversas licencias y escojan la mejor opción:

Given the choice of dancing pigs and security, users will choose dancing pigs, every single time. - Steve Riley