Andrew Hodgkinson

Email: <>




I'm a senior software engineer and have worked for Novell for the past 11 years. For most of that time, my efforts have been focused on improving and supporting the FLAIM database technology. My brother-in-law once asked me, "You've worked on FLAIM for a long time. Isn't it done yet?" That's the most amazing part of working on a fundamental technology like FLAIM; it seems like there are always new platforms and distros to target, improved technologies to integrate, optimizations to implement and so forth. FLAIM continues to provide new challenges and opportunities.

Daniel Sanders (another Novell engineer) and I are the two official maintainers of the FLAIM and XFLAIM (XML variant of FLAIM) projects. I also participate as a developer on the Bandit identity services project, as a member of Novell's Open Source Community of Practice board (focused on improving Novell's inbound and outbound open-source activities), and as a member of Novell's security and export compliance board.


FLAIM is a FLexible Adaptable Information Manager (database engine) for traditional as well as volatile and complex information. Even though FLAIM provides many traditional database features (e.g., transactions, recovery, reliability, scalability), it was conceived with a broader view toward the greater flexibility and adaptability that is offered by an XML data model. FLAIM is not new; various products have used FLAIM for over 15 years. For instance, Novell’s scalable, reliable directory and collaboration products, eDirectory and GroupWise, both use FLAIM as the data store, with user licenses totaling well into the hundreds of millions. FLAIM is also used by the iFolder and Hula open source projects.

XFLAIM is an embeddable cross-platform XML database engine. It is written in C++ and provides a DOM-like interface for creating, modifying, deleting, indexing, and searching on XML documents in a database. It extends traditional XML with the addition of non-text data types (number, binary). XML Documents may be of any size. The DOM interface virtualizes documents, bringing nodes into memory on demand. There are all of the traditional database features: transactions, indexing, queries (using XPath), backup, restore, caching, etc. It is designed to be very reliable and scalable. An XFLAIM database is, itself, portable to multiple platforms.

FLAIM and XFLAIM have been ported to a wide variety of 32 bit and 64 bit platforms, including various flavors of Linux (SUSE, Redhat, Ubuntu, Debian, etc.), various flavors of Unix (Solaris, AIX, HP/UX, Mac OS X, etc.), Windows (2000, XP), and NetWare 6. There is 64 bit support for all of the Linux, Unix, and Unix-like (Mac OS X) platforms, as well as Windows versions that support 64 bit application development.

Recent Activity

I have recently created native Ubuntu packages for FLAIM and XFLAIM. They can be downloaded here, but I would like to see them included/updated in the Ubuntu Universe. Martin Meredith (MartinMeredith) added FLAIM 4.8 to Dapper in early 2006, but it hasn't been updated since then. I would like to volunteer to maintain the native Ubuntu package.

Technology Interests

Aside from my obvious interest in FLAIM and XFLAIM, I also enjoy learning about various technologies. Recently, I've been spending a lot of time experimenting with SANs. It's awesome to find Brocade switches, EMC drive arrays, and all sorts of interface cards on eBay for a fraction of what they once cost. My wife gets a little peaved when FedEx drops off massive shipping boxes filled with computer equipment, but I just remind her that it's one of the hazards of being married to a nerd. Smile :)

I've also taken an interest in running Ubuntu on SPARC-based hardware. Although I'm a big fan of Solaris, I've found that Ubuntu works as well on Sun hardware as Solaris for my FLAIM development work.


AndrewHodgkinson (last edited 2008-08-06 16:35:59 by localhost)