I believe that most people already know that on June 1st, Oracle announced the donation of the OpenOffice.org source code and trademark to the Apache Foundation. Initially the project was received by the Apache incubator, and the the discussion started there shortly after the announcement.
I’m following and participating in discussions since the first day at the Apache Incubator mailing list, and I signed up as a committer early in the project. To have a better idea of what it means to “follow” the discussion list of the Apache incubator, the list had a peak of nearly 400 emails per day during the first weekend of discussions (yes, almost 800 emails to read over a weekend).
After several days of discussion, on last Monday (06/13) of the project was accepted by a large majority at the Apache Incubator and it’s now an incubated project (named podling at Apache), and we have many people working hard out there for it to become a graduated project. The project’s proposal can be accessed here, and the incubated project page here. As you can see, we’re still setting up all the infrastructure of the project over there, and many of commiters cited in the proposal doesn’t have yet their accounts, a process that should take a few days to be concluded.
I’m happy to see that we now have many “new people” in the project and willing to help, but also many experienced contributors, working with the software since the 90’s, former employees of the Star Division (where StarOffice was created), Sun and Oracle, now contributing individually. These are people who spent much of their lifes working on this project and therefore it isn’t “just another project” for them… I believe that the level of knowledge sharing will be very high, and this will greatly reduce the learning curve for “newbies” in the project (like myself).
I will not discuss here the Oracle’s decision to donate source code and trademark to the Apache Foundation rather than to any other foundation (such as The Document Foundation, which maintains LibreOffice), much less on speculations that IBM were behind this decision (these topics were discussed during the first days of discussion at the Incubator mailing list, mostly because many people were caught “off guard” by the announcement ).
I’ll not enter on these details, because I believe that, at this point, discuss the past it’s a waste of time and I prefer to look at things this way:
- Oracle has donated the OpenOffice’s source code and trademark to the Apache Foundation, and that’s a fact.
- From what I know about the decision-making structure within Oracle, the only law that applies there is the “Ellison’s Law” and therefore I doubt that IBM or any other company has as much power of influence over them.
Speaking of Ellison, I wrote an article several months ago with my impressions about him and “evil” that he could do the whole FLOSS ecosystem, and for me the donation made here minimizes the damage. If we look at the possibilities, Oracle might well have decided to simply bury the project and its trademark.
Leaving the past aside, avoiding discussions that literally will lead us to nowhere and cause us a loss of time and talent (and leave some complicated scars), I would like to talk a little bit here about the reasons that makes me believe that Apache OpenOffice.org may indeed be good news for the whole community.
One article that pretty much sums up some things that I think about the whole issue, was written by Rob Weir in his blog, and the message there can be summarized quite rapidly: A real market dispute isn’t in between the FLOSS office suite in A, B or C, but between the FLOSS office suites and the proprietary office suite that still reigns in the market. Ultimately, the dispute here is between the proliferation and worldwide adoption of the ODF standard versus proprietary standards and our old friend OpenXML (which incidentally is now at a very complicated stage, since Microsoft lost the i4i law suit at the US Supreme Court a few days ago).
I believe that Apache OpenOffice.org (AOOo for now on on this blog post) may soon become something like an office suite “kernel” the that can be reused “as is” or complemented with other features by people in various companies and organizations around the world.
I can imagine AOOo in a future acting much like the Linux kernel itself, maintained and developed collaboratively by a foundation, used by communities and businesses worldwide to create “distributions” for each specific need (or market).
I will not here enter into the philosophical discussion about the Apache License versus the GPL because as I said, OOo in Apache is a fait accompli, but I understand that the market outcome of that will be the participation of more companies in the ecosystem and the return of the real competitiveness at the office suites industry.
BTW, this is to me something inedited at the IT industry, because due to the de facto monopoly actually lived at the market, we can consider that the office suite industry was almost extinct a few years ago, and OpenOffice was probably “the thing” that avoided the complete extinction. OpenOffice.org move to Apache, in my opinion, will act as a catalyst on this process and will enable the real competition again in this sector, now reborn from the ashes through a Open Source “core”.
Finnally looking at the project, I believe the AOOo source code can be restructured so we may have in the future an architecture that allows reuse by other projects (as the LibreOffice) in a modularized fashion. It’s like an electronics store, where you choose the components you want (or need) to use, integrates them to meet your needs (or the customr’s needs) and do whatever you want with the final product. I like the Apache license permissive approach, because the vast majority of developers who are out there working at the project actually want just one thing: See the software being used worldwide!
Based on this idea of a modularized software, I worked out the diagram below that is my vision of where we can go one day with the project. I’ll reinforce here that this is my view and in no way the view of other members of the project, and once one of the rules at Apache is “is easier to apologize than to ask permission” I’ll publish my idea here in my blog without have discussed it with anyone there.
I believe a core with the core capabilities of the office suite is extremely obvious, and it is also obvious to imagine that this core is not a monolithic block as represented in this diagram, but the idea here is to show that all functions and objects of the document processing remain centralized in one location.
I like the idea of separating UI design (GUI) of the rest, since there may be requirements or use cases where a simplified interface or a different one is needed.
The existence of a mechanism for extensions and plug-ins is critical to complement the software with any extent necessary, and usually these extensions meet the requirements of a specific group of users, such as the Portuguese language grammar checker. It is through this mechanism that we will see innovations being incorporated into the project with the speed of light, and I have full confidence that the FLOSS community will benefit from this, since the technical knowledge and time required to write an extension is infinitely smaller than knowledge and time needed to modify the “core” of the office suite.
Scripting languages are widely used today, and I’m sure the scripting language “on fashion” in five years hasn’t yet been created. For this reason I believe that a mechanism for scripting support is interesting, because it will be possible through the use of scripts in various languages to manipulating objects and functions within the AOOo.
The UNO is already at OOo, a set of APIs widely used by many developers, and I believe it should be continued and complemented, as there are currently several use cases where its usage is crucial (eg: use OOo as a server for documents conversion).
I like the idea of having the ODF Toolkit developed within the Apache OOo, but this decision has yet been taken there. For those unfamiliar, the ODF Toolkit is a set of tools and libraries developed to handle ODF documents without relying on an office suite.
In order to read and write documents, filters are more than necessary, and it is worth remembering that functions as a Digital Signature and Encryption can be done in this layer.
We still need to have a well prepared project documentation, to keep the multiple languages support and I enjoy the possibility of having an easy way to do the “rebrandind” of the software. This idea of “rebranding” is basically to centralize all strings with the product name (eg “OpenOffice.org Apache”) in one place, and if tomorrow I want to use it to generate the “Jomar’s Office” or if the TDF decide to use AOOo as the basis of “LibreOffice,” everything is done in a simplified manner.
When I thought about this architecture proposal, I also thought in how we organize the software development, seeing that each of these boxes there are specific knowledge and expertise needed and thus, we can keep developers focused on specific points of development (each one gives his best where they fell comfortable and capable to work) and we still being able to keep everything running seamlessly.
I didn’t put there any activity related to marketing, training and support, because I believe that these are specific functions of each country and each use case of the suite, being features heavily dependent on local culture and language, and therefore I think in a model where national projects are kept “as is” and they could have liaisons working within the Apache. The same reasoning applies to localization efforts of the product.
To conclude, I believe that we are arranging the new house to be able to work in the coming decades with OpenOffice, and I believe that the entire industry will benefit from this new arrangement. I understand and respect the annoyance of some people and groups in this transition process, but I have no doubt that common sense will prevail and we will join forces to continue our battle.
Some people have asked me what exactly I want to do there, and the answer is simple: I’ll do what I can and what the project needs. To help means to meet the needs of others and not act according to our own will (if you manage to achieve both, perfect !).
I will be speaking at FISL 12 later this month in Brazil, and I couldn’t get a space in the event to handle the Apache OpenOffice.org specifically (timing issue), but I’ll be there throughout the event ready to discuss the project with those interested in participating. I am also available here on the blog for any necessary clarification, and I invite everyone to join us in this project.
PS.: No, I will not answer philosophical questions about the “whys” of the past in the comments. If you plan to touch on these issues here, please read this before you do. I’ve learned a valuable lesson in Apache: there, troll wins a cool badge real quick!
UPDATE: The page with the instructions for people that would like to join us on the project can be found here.