Openbiblio is a low cost software option for libraries

Submitted by peter on Wed, 09/19/2018 - 11:47

Openbiblio is free open source software and can run on very low cost Web hosts. This could be the lowest cost first option for your library.

Read the documentation at obiblio.sourceforge.net. Look at the different versions and the alternatives before choosing where you will invest your time.

Versions

Version 0.7.2 from 2014 is the current version. Version 1.0 is one of those great big rewrites that might not be released for some time. There should be one smaller release each year instead of the giant gap.

My opinion is based on looking at all the versions. For a library without access to developers, I would probably choose something other than Openbiblio and pay for support. As a developer, I would not install any version that does not run with PHP 7. Looking at the state of the code, it is easier to fix 0.7.2 by applying the known changes for PHP 7.0.

0.7.2

0.7.2 is stuck on an old release of PHP and, through the old PHP, is also stuck on an old version of MySQL. There is code is available to update the MySQL part of the PHP code and should be released immediately as 0.7.3 or a 0.7.3 beta. Many users could then update to a later version of PHP using the MySQL interface module named mysqli instead of the obsolete interface module named mysql.

The same code update allows the use of PDO and would be the starting point for a 0.7.4 version based on PDO. This would bring Openbiblio up to a mainstream release of PHP.

There is a modified 0.7.2 in a different repository complete with fixes for MySQL and PHP 7.0 but there are still problems in other parts of the code and this is blocking the release of a 0.7.3.

After developing the mysql/mysqli/PDO update, I would consider offering some help with other problems but the lack of steady releases suggests any contributions I make would be buried under "just one more fix". They need to release a beta version to encourage more participation by developers.

Another problem is the versions scattered all over the place, sourceforge and bitbucket, with more than one repository in bitbucket, plus the use of Mercurial instead of Git. Put everything in Git on github.

0.7.2+

There is an updated 0.7.2 with some fixes applied but this version is off in a different repository and the important updates are locked away pending one more fix. The components of 0.7.2+ should be a branch of 0.7.2 ready to merge into 0.7.3, 0.7.4, etc. One update per year instead of nothing for years.

1.0

1.0 is also stuck in some sort of development swamp. There are people contributing changes but the code is locked up in Bitbucket, bitbucket.org/mstetson/obiblio-1.0-wip. If it was Git based in Github, I would look at working on the 1.0 release. I expect there are other developers like me who would contribute if the code was in a Git repository we all used.

1.0 has all sorts of fancy code including lots of Javascript and "plugins". Given that the previous release of Openbibilio was four years ago, version 1.0 is delayed too long by reaching too far. Some of the features should have been put aside years ago, a release made, then added back through 1.1, 1.2, etc.

The 1.0 code includes some design faults. For example, a theme contains a header code file that includes a configuration setting. You should not have configuration in a theme. The theme also has asymmetrical HTML, another big fault for a theme or anywhere else in the code. There is at lease one place where Javascript is used where they should use PHP. Javascript errors hide underlying PHP errors.

Download

You can download Openbiblio from sourceforge.net/projects/obiblio but you will need a patch for the MySQL mysqli interface. Openbiblio desperately needs a new release with the patch applied.

The download is only 0.5 MB and the patch is only 0.09 MB.

There is an updated version at bitbucket.org/jgvdweij/obiblio with an unknown set of other changes.

Support

Openbiblio needs someone transferring all the code strains into organised branches on one common popular Git based system. If you have someone who is an expert with Git and Github, you could volunteer some people time in place of the commercial support fee you would pay for alternative software. Once the development process is organised, version 1.0 should be easy to complete.

I had 1.0 installed in just one day with about seven code changes. 1.0 could then be released as an alpha or beta release.

Alternatives

Competitors include Evergreen, Koha and PMB.

Evergreen is a free open source library management system using the GPL but developed in a strange mixture of C, Perl, and other languages. The database is restricted to PostgreSQL due to the use of the PostgreSQL version of SQL. If you choose Evergreen, you would include commercial support as commercial support would cost less than hiring someone with the right special skills.

Koha is free, open source (GPL version 3), but is written in Perl, a language that went out of fashion for Web development back in the previous century. Koha development started in 1999 when people still used Perl. The overall development of Koha is excellent with more features than Openbiblio. Koha can use the Zebra indexing software for faster searches. Koha could be your next choice when you need more than Openbiblio and are happy to pay for commercial support.

Invenio is a free open source framework for storing digital assets. You could start with Invenio if your whole library is purely digital and you do not have the public accessing your system. Invenio is written in Python and Javascript, two potential problems for a Web based system. You would use commercial support and pay for some integration.

PMB is library management software written in PHP, a good choice, and originally offered under the GPL, another good choice, but is now under a CEeCILL license, a license specific to the French legal system. You would have to look at the license in detail if you are not in France.

The future

The 1.0 version looks good in many ways and has some old ideas built in due to the slow development. The developers should have released a 0.7.2 replacement three years ago using the new code and no new features. They should be up to 1.2 based on a yearly release of new features.

1.0 is designed on the basis of not using a framework so that the code is independent of outside suppliers. But they use libraries including jquery and Tcpdf, which makes them dependent on outside suppliers. If they had selected an open framework, like the previous version of Zend Framework, they could select just the components they need. Their development might be faster. It is hard to say what would have worked best back when that version of ZF was mainstream.

1.0 uses too much Javascript. Some of the Javascript is unreliable without adding anything special. When you select an option from a list then hit the back button to return to the list, you might end up at something completely different. I do not know of a Javascript library that would fit neatly in between 1.0 and jQuery to handle the menu processing. There is probably a jQuery add on solution.

The problem with jQuery is the latest version. To get the full features of jQuery and all the jQuery add on modules, you need a recent version of jQuery. The most recent versions are monster frameworks competing in the "we do everything" market instead of the traditional jQuery "we do one thing really well" approach. jQuery are also dropping support for important Web browsers for no known reason. Why remove support that is already developed and working?

One change would be to remake the major areas as separate pages in PHP and only use Javascript within an area where all the displays are substantially the same.

There are hints of modern organisation within the PHP but the improvements are not consistent and the inconsistencies are too widespread to fix before release. Get a beta version out there then work on the code cleanup.

Conclusion

Openbiblio is locked in the development swamp created by the old waterfall development approach where major improvements are blocked by unrelated changes. If they do not turn their development cycle around, you are stuck with the cost of modifying code or merging modifications. Openbiblio could be a good choice when you have PHP, Javascript, and Git/Mercurial shills in house. In that case, dive in, use 0.7.2+, and contribute to the development of 1.0. For everyone else, you have to pay for commercial support and one of the other products could be the better choice.