Arrey Bhits from BIT (Blekinge Institute of Technology) has written a case study about the SQL-Ledger Community as part of his course work for his Masters Degree in Innovation and Entrepreneurship. We are grateful to Mr. Bhits for sharing his work with us.
AN OPEN SOURCE COMMUNITY Case study THE SQL – LEDGER COMMUNITY, by Arrey Bhits
An open source community is a term that describes a broad-reaching association of users, developers and those who support the use of open source licenses for some or all software. The phrase “open source” requires that no one can discriminate against a group in not sharing the edited code or deter other people from editing their already edited work. This software development approach allows anyone to obtain and modify open source code. Any alterations are distributed back to the developers within the open source community who are working with the software. The goal of an open source community is to promote the production of high quality programs as well as working cooperatively with other similarly minded people in view of improving open source technologies.
Open source software is software whose source code is published and made accessible to the public, enabling anyone to copy, modify and redistribute the source code without paying royalties. Open source code evolves via community cooperation. These communities are made up of individual programmers but very large companies also. Some examples of open source initiatives are Apache, Mozilla, Linux, Eclipse, and SQL - Ledger.
SQL-Ledger is a free Enterprise Resource Planning (ERP) double entry accounting software with a rich set of management information features. It supports multiple users, multiple companies, multiple currencies, point-of-sale entry, accounts payable, accounts receivable, and stock tracking. It is a cloud computing application that can be run in up to 30 languages and enables business management and administration from all around the world. Any web browser can be used as its standard user interface. This makes SQL - Ledger platform independent and usable on basically any operating system.
It is a software project that is developed by a community that sprung from the invention of Dieter Simader. Over a decade ago, Dieter Simader started working on a project to found an Enterprise Resource Planning soft ware. In 1999, he succeeded to launch the SQL – Ledger.
2.1 Usability and Programming Language
The SL is the ultimate free ERP and accounting solution for small and medium sized businesses. It is written in the programming language Perl, runs on any modern web server like Apache and stores all related business data in an SQL database such as IBM, DB2, or PostgreSQL. Packing Lists, Invoices, Balance Sheets, Sales, Income Statements, Work and Purchase Orders, Statements, Receipts and Checks are generated from templates and can be changed to suit individual needs. The templates come in html, tex and text format. The tex templates are processed with latex to produce PDF documents and prostscript. Documents can be sent to a file, printer, or fax, emailed or displayed on screen. The foreign language templates and translation mechanism for items make it possible to invoice in any foreign language.
2.2 Solution Areas of SQL Ledger
The SL is suitable for Very Small Businesses (Less than 50 employees) and Small Businesses (50 to 99 employees) and offers all standard professional Accounting & ERP templates and reports.
2.3 Competiveness of the SQL Ledger
If software is to eventually attract users and survive, the presentation and branding must convince prospective users that the software does something significantly better than the competition. The SL has been able to live up to the challenges because; The SQL-Ledger is a highly efficient, cost-effective and flexible accounting system. The SL also costs less to run and therefore produces better return on investment than any equivalent proprietary software with a license fee. SL offers specialized modifications to a code base to accommodate specific technical or business requirements. The SQL - Ledger is the corner stone from where the SQL Ledger Community was built from.
The SQL – Community is an example of an open source community. It is so considered because it is made of members who are empowered to use and alter the source code of the software. The source code of the SQL Ledger is the entity that gives meaning and substance to this community.
3.1 Development of the SQL – Ledger Community
The SQL-Ledger is the result of the amazing genius of Dieter Simader, and thus the resulting SL community that sprung off can be traced back to him. He succeeded to launch the SQL – Ledger in 1999. However, although the SQL – Ledger Community is grateful for his tremendous invention, he has not been subsequently very community oriented and unfortunately runs a parallel “non-free” or proprietary version of this software with some extra features.
Meanwhile, the initial work of Dieter Simader, was tremendously supported by Armaghan Saqib. Together with Dieter, both of them are considered as the two main developers of SQL – Ledger. However, unlike Dieter Simader, Armaghan is very open to community work and sharing with others, and he mainly develops his version within the SQL - Ledger Network. Armaghan has developed an “enhanced” version of SL and is very open minded in regard to free software and community driven development. He uses the GitHub tool for his developments.
In order to be considered sustainable, open source communities must have the ability to outlive their founder’s original interest in them. If they rely profoundly on the ‘benevolent dictator’, they risk fragmenting and falling apart when their leaders move on or retire. Such has been the case with the SQL – Ledger Community. Surviving the tepidness of founder Dieter Simader, Armaghan Saqib has been proactive in this community, and has even developed an “enhanced” version of SQL Ledger. Other notable contributors have been Tekki (Rolf Stöckli) and Maytalous (Gabriel Reyes).
Within the last few years, several other developers and users dispersed around the world have been engaging in the SL project and their combined efforts have immensely improved SL, making the SQL ledger more reliable and capable of attending to a larger array of issues. Their efforts have been supported by, and have been within the umbrella of the International SQL-Ledger Network Association.
3.2 The International SQL-Ledger Network Association
The International SQL-Ledger Network Association was founded by Sebastian Weitmann and Thomas Brändle. It is a forum offering an infrastructure for better communication amongst different SL users and developers. Developers use this forum to share ideas, and also attend to issues from users. One way that this platform helps the SQL - Ledger is that by sharing this real time communication with users, developers are abreast with not only the short comings of SL, but certain professional changes that happen at the work place. Such interactions between users and developers continuously reposition the SQL Ledger as a leading free international ERP software alternative and thus placing it at the edge of a vastly changing world. At the crux of what the International SQL – ledger Network Association was founded, is to support further open source development of the SL project on a joint basis.
Other notable functionalities of the International SQL-Ledger Network Association include: Pulling development resources and deploying them in the best interest of its members; Advocating the GPL as the license for all further developments around SQL-Ledger; Processing members' requirements and issues in a coordinated and a structured way.
The original version of SL is maintained by Dieter Simader. However, a reoccurring disadvantage of free software is that once a project is well established, other perils come into play. One is the ominous possibility that someone might take the code and set up a competing project. Such an eventuality, otherwise known as a fork, is detrimental because it dissipates and divides the developer community. However, the reverse has been the case with the SQL – Ledger community. Following the founding of the SQL - Ledger, Dieter Simader, sustained and developed a degree of passivity, and irresponsiveness, which was very unfriendly to the growth and survival of an open source community. The result of this was a fork that was set up by Armaghan Saqib. The current SQL – Ledger community revolves around the fork that was created by Armaghan Saqib and is now supported by the company called Ledger123.com. As well as Armaghan Saqib, other maintainers of this fork include Tekki (Rolf Stöckli) and Maytalous (Gabriel Reyes).
Memebers of the SQL- Ledger community contribute to the enhancement of this product through; Software improvements, Paid and unpaid support services, and By providing feed back upon using the software.
4.1 Software Improvements
The SL as well as all other open source software is in a version control system. This is a system for remembering who made what change, comparing changes, distributing changes and reverting changes (i.e., undoing what was not necessary).
The SL community is optimized for action. It is important to have an interesting problem and an infrastructure to support people to work on it. People are invited to work on the project without any prior scrutiny of their capacities. They function under the principle that recovery is better than protection; they don’t set up gates. They just set up ambulances.
The developers can make a change, changes, or even additions to an existing source code by creating a patch file. This makes it easier for Ledger123.com to see what has been changed or what addition has been made. They then submit the patch file online via a program called ‘contrib’ making sure to disclose the version that the patch is for.
In the SL Community, Armaghan Saqib is like the patch manager. He watches mailing list to see if anybody has posted a patch and wait for about two days if anybody has responded to the patch. If nobody has responded to the patch, he follows up with a message reminding everyone about the patch and persuades developers to take a look at it. Most of the time, the person who posted the patch sees the message as well as all other developers, and this message often urges them to follow up on the patch. In this context, the patch manager serves as a human alarm clock. At the end, the developers need to convince the different maintainers to accept new developments and insert them into the code and if such is not accepted, they can also create a fork and become a maintainer themselves.
Working on the source code by different developers across the world who speak different languages is made possible by the usage of the text editor, and then working on the translation file by running the 'perl locales.pl -a' from the command line in order to make required file translations.
4.2 Support Services
The SQL community also comprises of people who implement the software for clients and help such clients get started with SL and also support the further development by supplying front line feedback from the users to the developers. Paid support also is obtainable at particularly reasonable rates. An extensive variety of support options are available, and a good number of them come with a copy of the SQL-Ledger user’s manual. Some examples of support options include; Standard support package, and Development support package. Nevertheless, this software can still be used without support. However, as with all GPL software, if it is broken, both pieces have to be kept. As such, paid support is the assurance that it doesn't break. A support option is offered to import older data from accounting packages that can export tab-delimited text files.
4.3 Providing Feedback upon Using the Software
The International SQL Ledger Association makes it possible for all users and developers to have their say by providing a forum where development issues are discussed in a mailing list and through their website. By sharing this real time communication with users, developers are brought au courant with not only the short comings of SL, but certain professional changes that happen at the work place as well. People who provide support services to the clients also serve as the interface between the users and the developers by providing feedback to the former from the later.
The SQL – Ledger is licensed under the GNU General Public License commonly known as the GPL. The licensing of SL under the GNU GPL means that users and developers have the freedom to run it, to study, change it, and to redistribute copies with or without changes. In this context, the user’s essential freedoms are respected. Richard Stallman describes this freedom as the freedom as in ‘free speech not free beer’.
However, one can argue that the GNU General Public License which requires the source code for modifications that you distribute to be made available under GPL, limits intellectual property and can be characterized as viral.
Armaghan Saqib is the leader of the SQL - ledger project. His style of leadership is active, informal, and low-key. In other words, he is the benevolent dictator of this project. A focused leadership style of the open source “maintainer” is critical. It encourages momentum and direction, and generally helps keep the project moving towards the right direction. Developers will only remain if their leader can make the project a place they want to keep coming back to. The kind of leadership that Armaghan Saqib provides in the SL project is a serious consideration for its survival and success. He rewards hard work by giving credit where it is due and offers extra responsibility for more significant pieces of work to those that want it. This has been for the most part, a significant source of motivation for many developers.
Since the SQL - Ledger is a free software, the obvious puzzle is how do the developers get rewarded and thus motivated. While money is an important consideration, the passion to do challenging work and create something new is the overwhelming motivation for the developers. However, the developers get some financial recompense from those who implement the software for clients. There are some people who implement the software for clients and help them get started with SL. They support the further development by supplying front line feedback from the users, and then passing on a part of the income derived from the clients to the developers. The developer/s also offer/s support contracts, which are mostly reasonably priced. This software is of high quality, and its offerings comprise data conversion, pay-as-you-play support, as well as support for the development version for those who need the more advanced features. They also sell the software manual that explains not only how to use the program, but also how to customize screens for all users or for some users, using SL's application programming interface (API). These features that add value are worth the price and are essential for any business.
SQL-Ledger utilizes a single ’id’ sequence across many tables. Nevertheless, it is expected that these tables do not contain identical id values in their records since they are used as a kind of pseudo-foreign key by the acc trans table which stores the ﬁnancial transaction information. As such, it is possible that if the integration solution doesn’t keep this in mind, a situation can be created where the account transactions are ambiguously associated with several different types of financial transactions. This would lead to a huge array of problems.
The SQL – Ledger community is a vibrant community with users and developers who are dispersed all around the world. The success of this project polishes the golden edges of globalization, and adds more vigor to the merits of collective work. Leveraging collective action for a single purpose has come to stay, and as the world continues its uncertain path towards an enhancing dynamism, we shall not seize to realize the increasing value of the ideal of having many eyes set on a single task.