In a move reminiscent of SCO's lawsuit over Linux source code,
FireStar Software has sued Red Hat over patent violations in Hibernate3, saying that it violates a process for employing a relational database with object oriented software. The patent seems unenforceable for a lot of reasons, but it's still there.
The patent, specifically, is
U.S. Patent #6,101,502. You can (and should) look it up for specifics, but here's a summary from the patent:
In accordance with the present invention, a mapping between an object model and a relational database and a runtime engine are employed to facilitate access to a relational database. The object model can be created from database schema or database schema can be created from the object model. Further, the mapping can be automatically generated. The database schema, object model, and mapping are employed to provide interface objects that are utilized by an object oriented software application to access the relational database.
The present invention provides transparent access to the relational database. The interface objects and runtime engine perform read and write operations on the database, including generation of SQL code. Consequently, neither programmers nor software applications need have knowledge of the database structure, the database programming interface, database security, or the database transaction model in order to obtain access to the relational database. Further, changes to the relational database do not always necessitate additional mapping.
This is an interesting patent to have, in the first place, and in the second place, it's interesting that FireStar should file for patent infringement against Hibernate, for a number of reasons.
First, prior art: as Richard Monson-Haefel says in "
Hibernate Law Suit will be Dismissed":
FireStar submitted the patent in September 1997, but commerical O/R mapping system products (e.g. NeXT Enterprise Objects Framework) predate that filing. Also, you can find references to the design of O/R mapping going back even earlier. In the United States its the first-to-invent that matters; not the first-to-file as is the case in most other countries. The folks at FireStar didn't invent O/R mapping they were just the first to file a patent, which doesn't count. The Patent Infringement Suit against Red Hat over O/R mapping in Hibernate is not enforceable.
The claim that previous art exists is actually
understated by Mssr. Monson-Haefel. Such systems have existed for other languages (predating Java) including C, C++, Turbo Pascal, and others, although there are certainly specifics in this patent that may not apply. In addition, such a suit would have been triggered by Hibernate2, EJB 2, and other such products; a lawsuit
now rather clearly implies that FireStar was waiting for an aquisition by a company with deep pockets before progressing with a lawsuit.
Even considering the specifics, the patent mentions a DLL by name: RtCore.DLL. This implies that the FireStar product is implemented with native code, specifically for Windows, and according to the
ObjectSpark technical requirements, this is indeed the case. Given that Hibernate, et al, are implemented in pure Java and are cross-platform, there are certainly huge elements of the lawsuit claiming damages that aren't relevant: deployments on any and all non-Windows systems
cannot have harmed FireStar, because FireStar has no product or support structure for those operating systems.
It's pretty clear to Your Humble Editor, even considering he is not a lawyer and won't pretend to be one (or play one on TV), that this lawsuit is an attempt to extort money through frivolous damages, much as SCO is attempting to extract damages from Novell over Linux source code.
While either (or both) lawsuits may still have some success, either suit's success would be a huge loss for the programming community at large, implying that object models that are persisted to a relational datastore are held hostage by a company that few are aware of.
For another view on the lawsuit, check InfoQ's post:
Red Hat Sued Over Hibernate 3 ORM Patent Infringement Claim.