GSOC 2013: LibreOffice Firebird SQL Connector

Yesterday I found out that I’d been accepted into the Google Summer of Code 2013 to work on LibreOffice! Many thanks to the Mentors for accepting me!

My project involves implementing an SDBC driver for the Firbird SQL Database for LO Base, with a view to having this replace the current default of HSQLDB, which depends on Java, meaning that Java could the eventually be removed as a fixed dependency for full LibreOffice functionality. Further to this I’d also be looking at migratiom of files from HSQLDB to Firebird, and also implementing some unit tests for the database functionality, something that has been previously been missing from LO Base. (Currently .odb files use HSQLDB for their internal database, although it is also possible to use other external databases — this connector would mean that future .odb files would use Firebird internally.) There are a number of other developers who are also working on this at the moment, meaning development should be fast and exciting!

I’m currently concentrating on exams which finish at the end of the next week, after which I’ll be free to work on this full time. I’ll also be continuing with the Firefox OS Impress Remote which I started work on some time ago (but this will be completely independent of the GSOC). I now have a Firefox Phone meaning I can get on to testing things on actual hardware, and have also been doing some experimentation on implementing the UI using jQuery mobile, meaning something testable/usable isn’t too far away.

Continuing on from my GSOC project last year, there are two fellow students working on the Impress Remote this summer: Artur Dryomov will be working improving the Impress Remote / Current app, Siqi Liu will be working on an iOS version of the remote app.

Tagged with: , , ,
Posted in GSOC2013, LibreOffice
8 comments on “GSOC 2013: LibreOffice Firebird SQL Connector
  1. Hi,

    Great to hear :) have dun coding :)

  2. Just curious … why Firebird and not some other FLOSS database? Was there any testing, research involved in the decision? Is it documented somewhere?

    • ahunt says:

      Licensing is the main reason as most databases are GPL — meaning they can’t be embedded into LO (LibreOffice is LGPL/MPL) . There’s a discussion on the choice here: https://bugs.freedesktop.org/show_bug.cgi?id=51781 Essentially the choice was between a newer version of HSQLDB (but that needs Java, which we’d rather get rid of), SQLite (but that doesn’t have the desired functionality) and Firebird.

  3. Allan says:

    I’m anxious to see LO ( and OO ) finally get a serious database. It would be an incredible marriage ( or perhaps love-affair ) to be able to use the other apps in the LO suite in developing a front end for useful applications for my customers. The only thing which has been holding me back has been that the apps I develop are Database apps, for vertical markets, and “base” isn’t multi-user. Here’s 3 cheers for all who’re working on making FB more available / usable w/LO !!!

  4. Juarez says:

    What are the plans?
    – Use the new c++ API from Alex Peshkov ?
    – Embed libfirebird.[so|dll] and create *.ofdb files?
    – Connect to a remove (or local) firebird instance?
    – Use the firebird 2.5 or 3.0 file format?
    – How will be the migration between firebird file formats?

    Good luck with your project.

    • ahunt says:

      - Not decided, but probably sticking with Firbird 2.5 and using C for the moment. (Firebird 3 is at least a year away according to their devs).
      – File format will still be .odb, but with firebird replacing the hsqldb file inside.
      – For that it’ll be usinng firbird embedded (with 2.5 this involves more than a library however — we need to bundle a full firebird install), however the database driver will be written to also be able to use remote instances.
      – No firebird migration planned yet — we are however looking at hsqldb->firebird migration at the moment for older hsqldb files.

      Thanks :)!

  5. Juarez says:

    Take a look in the new C++ API.
    It will support 2.5 and 3.0 database version.

  6. raj says:

    please please please make Libreoffice Base as MULTI-USER with login and password, just like MS-Access