One of my favorite quotes these days is from “Sideshow” by Sheri S. Tepper: “Evil comes from unchecked power.” Oracle's recent lawsuit against Google over their use of Java in the Android operating system is ample proof of this if there wasn't enough already in the world at large.
How does Oracle get away with this? Java is mostly open source, isn't it? Well, actually, software can be open source and still be proprietary - and Oracle, now that it owns Sun, defines the specification for Java. Open source or not, Java is Oracle's intellectual property. They have taken a phenomenal technological development that millions of people depend on, and have turned it into a weapon against their foe(s) - and by doing so are endangering the stability of the entire Java ecosystem. Are you surprised? As Lord Acton said: “Power tends to corrupt, and absolute power corrupts absolutely.”
Fortunately for the xTuple community the PostBooks project rests entirely on foundations that are rooted in not only open source projects, but international standards not owned by any corporate entity.
C++: Our client binary is built with C++ a language originally designed by Bjarne Stroustrup that is now defined by ISO/IEC 14882, an ISO standard, which is published by the ISO/IEC JTC1/SC22/WG21 committee. It is a proven and ubiquitous language.
JavaScript: That same client can be extended using JavaScript which, by the way, has no technical or legal relation with the Java language at all. Originally developed by Netscape, JavaScript was only given its name as a marketing gimick to piggy back on the popularity of Java. The formal name for JavaScript is EMCAScript which is defined by the EMCA-262 specification and ISO/IEC 16262.
PostgreSQL: Originally a research project at the University of California Berkeley, the database platform we use is now developed by an enormous global community of developers and is not owned by any single company. It has its own Berkeley-style open source license that is so permissive, it makes Postgres public domain for all practical purposes.
SQL: The most popular implementation of the relational database principles outlined by E.F. Codd, and originally developed by IBM, SQL is now defined by a series of international standards. Though no database in existence conforms 100% with SQL standards the PostgreSQL community, as the name implies, strives for conformity with these standards including the latest: SQL:2008.
What does this all mean to our fellow xTuplers? Well, it means that the basis of our project is not subject to the tyranny of any particular individuals or companies who decide that the enlargement of their empire is more important than the users of their product.
Now it is true that xTuple in its current form is fairly dependent on the Qt C++ library that was recently acquired by Nokia, the largest maker of cellphone handsets in the world, which is indeed a large corporation. Fortunately for us they have turned out to be an exceptionally good steward of the Qt project, first and foremost by re-licensing Qt as LGPL, which again is an extremely permissive license. Also, they have increased their engagement with the Qt user base dramatically over the last year or two in all the right ways.
That said, even if somthing changed with Nokia, we still have a variety of other options with C++ because, as previously stated, C++ is not owned by anybody. We could write our own implementation if we wanted to. However, there are plenty of other open source C++ libraries out there including but not limited to Boost, Asio, QuantLib, Apache, and Wt the last of which has particularly caught my attention as of late.
It's likely that you are here reading this because you have an interest in open source software and that interest is fueled by a frustration with the capriciousness and arrogance of traditional business system software vendors. If that is the case we're glad to have you here looking at xTuple and our open source brethren. Considering the aforementioned Oracle lawsuit, and the fact that Oracle has also co-opted MySQL as well (the “M” in LAMP), I urge you while evaluating your open source options to not only look at the quality of the open source project and community itself (see my blog on trust), but consider the openness and ownership of the technology on which the project relies as well.