LedgerSMB

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
LedgerSMB
Desarrollador
Diversos desarrolladores
http://ledgersmb.org/
Información general
Diseñador Chris Travers
Última versión estable 1.3.31
12 de mayo de 2013; hace 1 año (2013-05-12)
Género Planificación de recursos empresariales, Contabilidad
Programado en Perl
Sistema operativo Multiplataforma
Licencia GPL

LedgerSMB es un sistema de contabilidad por partida doble en software libre. Los datos contables son almacenados en un servidor de base de datos SQL y un navegador web estándar puede ser usado como su interface de usuario. El sistema utiliza el lenguaje Perl y un módulo de interface de base de datos Perl para el procesamiento, y a PostgreSQL para el almacenamiento de datos.

LedgerSMB es distribuido bajo los términos de la GNU General Public License.

Historia[editar]

LedgerSMB comenzó como una bifurcación (fork) del SQL-Ledger. Sin embargo, se ha bifurcado rápidamente y la futura arquitectura tiene muy poco que ver con su ascendencia.

La controversia de la bifurcación[editar]

El proyecto comenzó cuando Chris Travers, descontento con la el manejo de los errores (bug) de seguridad en el SQL-Ledger, asociado con Christopher Murtagh para producir un parche para el CVE-2006-4244.[1] Este fue aparentemente reportado al autor del SQL-Ledger, Dieter Simader, varios meses antes[2] a Chrises trabajando en un parche. El lanzamiento inicial de LedgerSMB tiene como su base al SQL-Ledger 2.6.16 con el parche para el CVE-2006-4244. Este lanzamiento, junto con el acceso completo del error en la lista de correo principal,[3] hizo tensas las relaciones entre los partidarios del SQL-Ledger y los miembros del naciente proyecto LedgerSMB.

La bifurcación del LedgerSMB es considerada por algunos[4] como parte de la razón de la cláusula anti bifurcación[5] en la licencia de breve duración SQL-Ledger Open Source License, la licencia que fue usada para el SQL-Ledger 2.8.0.

Próximos lanzamientos[editar]

El lanzamiento 1.1.0 combinó muchos parches que habían sido hechos para otros clientes pero no cambiaron la estructura del código de ninguna manera significativa. Para ese entonces, sin embargo, la mayor parte de los miembros principales estaban infelices con la arquitectura actual y habían decidido trabajar en refactorizar el código.

El lanzamiento 1.2.0 incluyó un número de profundas correcciones de seguridad y los principios del proceso de refactorización. Fueron centralizados el código de la matriz del impuesto y el precio. Este lanzamiento fue muy problemático y el equipo principal terminó quitando las versiones 1.2.0 y 1.2.1 de la distribución pública debido a un número de problemas en la integración con viejo y el nuevo código. Muchos miembros del equipo principal han expresado frustración al nivel de problemas, pero Chris Travers generalmente ha comparado los problemas a los de Apache 2.0,[6] donde los cambios en arquitectura han causado lanzamientos problemáticos. Mientras que puede ser demasiado pronto de decir, la esperanza general es que la versión 1.2.x será el lanzamiento más difícil y más problemático, quizás de todos.

Al mismo tiempo, no puede ser negado que un número de problemas en la versión 1.2.0 eran el resultado de intentar hacer demasiado, demasiado rápidamente, sin la revisión adecuada. Es difícil criticar el proyecto para esto en algunos casos (como la eliminación de los problemas de la inyección SQL) pero queda por ver si el proyecto puede continuar moviéndose adelante de tal manera de prevenir que esto sea un problema en el futuro.

Arquitectura futura[editar]

El base de código original del proyecto tenía un número de defectos. El código Perl generaba tanto solicitudes a la base de datos y páginas web por concatenación o por impresión del texto de modo que saliera como una página distinta. Aunque esto funcionaba razonablemente bien, también hizo a la interface muy difícil de modificar, y la interoperabilidad con los proyectos escritos en otras lenguajes era particularmente difícil.

De frente a estos desafíos, el equipo de LedgerSMB desarrolló una nueva arquitectura que aborda estos problemas agregando soporte a plantillas en la interface de usuario, y moviendo todas las llamadas a la base de datos a procedimientos almacenados. Aunque en estructura se asemeja estrechamente al Modelo Vista Controlador (MVC), no se divide en precisamente la misma manera que otras implementaciones MVC.[7]

La versión 1.3 moverá varias partes importantes del software a la nueva arquitectura incluyendo las interfaces de la gerencia del contacto y administrativa.

Referencias[editar]

  1. «The Full Disclosure of CVE-2006-4244». Consultado el 08-07-2007.
  2. «Tony Fraser's mention of previously reporting the bug». Consultado el 08-07-2007.
  3. «Full disclosure thread on the SQL-Ledger mailing list (some posts may be hidden)». Consultado el 08-07-2007.
  4. «Slashdot discussion of the SQL-Ledger licence change of 2.8.0». Consultado el 08-07-2007.
  5. «Linux Weekly News article about the licence change». Consultado el 08-07-2007.
  6. Travers, Chris (31 de mayo de 2007). «web-based accounting». Consultado el 25-01-2008.
  7. The New Architecture Overview

Enlaces externos[editar]