- LedgerSMB
Infobox Software
name = LedgerSMB
caption = LedgerSMB login screen
author =
developer =
released =
latest release version =
latest release date =
latest preview version =
latest preview date =
operating system = AnyUnix-like ,Mac OS , Windows
platform =Cross-platform
language =
status =
genre = double entryaccounting system
license =GNU General Public License
website = [http://ledgersmb.org/ LedgerSMB]LedgerSMB is a
free software double entryaccounting system. Accounting data is stored in anSQL Database Server and a standardweb browser can be used as itsuser interface . The system uses thePerl language and a Perl database interface module for processing, andPostgreSQL for data storage.LedgerSMB is distributed under the terms of the
GNU General Public License .History
LedgerSMB began as a fork of
SQL-Ledger . It has, however, diverged rapidly and the future architecture has very little to do with its ancestry.Forking controversy
The project began when Chris Travers, dissatisfied with the handling of security bugs in
SQL-Ledger , partnered with Christopher Murtagh to produce a fix for CVE-2006-4244. [cite web |url=http://www.securityfocus.com/archive/1/445512 |title=The Full Disclosure of CVE-2006-4244 |accessdate=2007-07-08] This bug was apparently reported to the SQL-Ledger author, Dieter Simader, several months prior [cite web |url=http://sourceforge.net/mailarchive/forum.php?thread_name=1156815772.6324.6.camel%40sybaws2.office.sybaspace.com&forum_name=sql-ledger-users |title=Tony Fraser's mention of previously reporting the bug |accessdate=2007-07-08] to the Chrises working on a patch. The initial release of LedgerSMB has SQL-Ledger 2.6.16 with the fix for CVE-2006-4244 as its base. This release, along with full disclosure of the bug on the main mailing list, [cite web |url=http://sourceforge.net/mailarchive/forum.php?thread_name=20060916162611.14497.qmail%40oak.oeko.net&forum_name=sql-ledger-users |title=Full disclosure thread on the SQL-Ledger mailing list (some posts may be hidden) |accessdate=2007-07-08] strained relations between SQL-Ledger supporters and the members of the nascent LedgerSMB project.The forking of LedgerSMB is considered by some [cite web |url=http://yro.slashdot.org/article.pl?sid=07/04/15/1759254 |title=Slashdot discussion of the SQL-Ledger licence change of 2.8.0 |accessdate=2007-07-08] to be part of the reason for the anti-forking clause [cite web |url=http://lwn.net/Articles/230828/ |title=Linux Weekly News article about the licence change |accessdate=2007-07-08] in the short-lived SQL-Ledger Open Source License, the licence that was used for SQL-Ledger 2.8.0.
Next few releases
The 1.1.0 release merged in many patches that had been done for other customers but did not change the structure of the code in any significant way. By this time, however, most of the core members were unhappy with the current architecture and had decided to work on refactoring the code.
The 1.2.0 release included a number of very deep security fixes and the beginnings of the refactoring process. The tax and price matrix code was centralized. This release was quite problematic and the core team ended up pulling 1.2.0 and 1.2.1 from public distribution due to a number of issues in integrating old and new code. Many members of the core team have expressed frustration at the level of problems, but Chris Travers has generally likened the problems to those of Apache 2.0, [cite web |url=http://lwn.net/Articles/236467/ |title=web-based accounting |first=Chris |last=Travers |date=May 31, 2007 |accessdate=2008-01-25] where changes in architecture have caused problematic releases. While it may be too soon to tell, the general hope is that 1.2.x will be the most difficult and problematic release, perhaps of all time.
At the same time, it cannot be denied that a number of the problems in 1.2.0 were the result of trying to do too much too quickly without adequate review. It is difficult to fault the project for this in some cases (removing
SQL injection issues) but it remains to be seen whether the project is able to continue to move forward in such a way as to prevent this from being a problem in the future.Future architecture
The original codebase of the project had a number of shortcomings. The Perl code generated both database queries and web pages by concatenating or printing portions of the text so that it came out as a distinct page. While this functioned reasonably well, it made the interface very difficult to modify, and interoperability with projects written in other languages was particularly difficult.
Faced with these challenges, the LedgerSMB team developed a new architecture which addresses these issues by adding support for templates in the user interface, and moving all database calls into stored procedures. Although closely resembling
model-view-controller (MVC) in structure, it is not broken down in precisely the same way as other MVC implementations. [ [http://www.ledgersmb.org/node/41 The New Architecture Overview] ]1.3 will move several important parts of the software to the new architecture including contact management and administrative interfaces.
ee also
*
Comparison of accounting software References
External links
* [http://www.ledgersmb.org/ Home site]
* [http://labs.miys.net/ledgersmb Demo] dead link?
Wikimedia Foundation. 2010.