A follow-up to my previous post on the Apache Incubation proposal to move OpenOffice.org over to Apache and continue the project there. In that post, I described how Apache projects are run via a meritocracy, that members gain additional rights and responsibilities based on the approval of their peers, etc. But I have received a variety of questions related to this, and I’ve done my best to track down some answers. So here are what I found out, in my words, paraphrasing the questions and giving answers, possibly with my mistakes, but I’ll correct them as they are identified.
Question: How do I sign up to be a project member?
Answer: For now, since we’re in the proposal stage, and the project has not officially started, we don’t have a website, mailing lists, a repository, etc. So there is no direct project work to do yet. However, anyone who wants to “get in on the ground floor” with Apache OpenOffice, can sign up by adding their name to the “Initial Committers” table at the proposal wiki. If you don’t have a login for the wiki (and you probably don’t) then you can quickly get one by clicking “log in” and then following the instructions to create a new account. If you have interest in this, I’d encourage you to sign up. Even though we can’t code yet, we can edit the proposal itself, and there are thin spots there that we could certainly use help filling in. If you want to contribute you should also sign up on the incubator general list. This is where the proposal is being discussed.
Question: This meritocracy sounds very programmer-oriented. But OpenOffice.org, as an end-user, mass-market application, involves a broader community of contributors, from test to translation to documentation to marketing, etc. Do they fit into this meritocracy at all? Is a marketing person or an event organizer or a build engineer a valued contributor?
Answer: Yes. Absolutely. Each Apache project determines the criteria used to identify those members whose sustained contributions to the project warranted recognition and advancement. I think that in the case of an end-user facing application like OpenOffice.org, contributions come in many flavors. It is not limited to coders, or even to those who check in “assets” like translations and test scripts. We’ll need a wide range of contributors with a diverse set of skills to take OpenOffice.org to the next level.
Question: Do I need to sign a copyright assignment to contribute to Apache? I heard a lot of bad things about the paperwork that Sun required from OpenOffice contributors.
Answer: In Sun’s case it was the JCA by which the copyright of all code contributions was assigned to Sun. Instead Apache has a “Contributor License Agreement” which they have in both individual and corporate forms. This agreement does not require copyright assignment to a single entity, not even to Apache. It does not aggregate copyright. But it does require that you agree to license the copyright to Apache as well as to anyone using the software. IANAL, but this sounds like a good thing. If you are comfortable with the Apache 2.0 license, I can’t see why you would have a problem with the Apache iCLA, since it pretty much restates those same terms.
Question: What kinds of contributors are you looking for? What roles and skills?
Answer: If you look at the range of skills and contributors that went into making OpenOffice.org, you will have a good idea of what is involved:
- C++ and Java programmers — same thing really, any programmer over 40 ;-)
- Testers, both manual as well as those able to help with test automation
- Translators — I’d especially like to see some OOo National Language Projects sign up.
- Documentation / technical writers
- Accessibility
- Web admin /server admin — We’re going to take over the OpenOffice.org website, but we’ll need to migrate to our own server
- Build engineer / build management
- Community development
- Event organizing
- Marketing / brand development
- Education / training / certification
- Package and liaise with Linux distros
What we don’t need, at least not at the project level, are things that are more in the nature of foundation-defined roles, like fundraisers, board of director members, membership committees, press release authors, etc. In this sense Apache OpenOffice is different from the OOo under Sun/oracle or from LibreOffice. We’re imbedded in a very capable and well-respected open source foundation. Apache has governance already established. Certainly individuals can get involved in that if they wish, and more importantly if they have the support and votes of their peers to advance to that point, but this is not something we need to reinvent for the project. We can concentrate on the project work itself. 100% of the effort will be on improving OpenOffice.
In particular, I’d welcome existing contributors from the OpenOffice.org community, including those from Oracle Hamburg (check with HR first, of course), from the Symphony team and from other parts of IBM (send me a note if you have questions), from companies with desktop Linux distributions (you need a strong story for productivity applications to be viable in the enterprise), from those other companies with downstream business based on OpenOffice (consultants, trainers, authors, migration experts), and of course members of the large and vibrant LibreOffice community.
And remember, contributing to an Apache project is not an exclusive thing. You as the author of code, documentation, translations, etc., own the copyright to your original work. You may choose to license your work under Apache 2.0 and contribute it to Apache OpenOffice and then attach a different set of licenses and contribute it to LibreOffice. This is a good way to get your work out to the maximum number of users. And who knows? You might find out that you like Apache and decide to move your tent over there. That’s your choice. If you do that, you can contribute just to Apache and then have LO suck down the changes from the Apache project. This is because Apache 2.0 and GPLv3 are compatible in that direction. So you still can impact both projects by contributing code to one place, namely Apache. But it does not work in the other direction.
I may have misunderstood but it seems to me that we are headed for a situation where apache licensed Open Office feeds code into Libre Office, Oracles Star Office and IBM’s Lotus Symphony.
In that case there would be an incentive for each of those daughter projects to donate code back where this improved interoperability but keep code related to editting and user interface to themselves.
Does that make sense to you? How do you think IBM sees the relationship between Lotus and OOo developing?
Looks a bit like a reinvention of the wheel. I wonder who would want to participate without further committments. Would IBM also take over Oracle core staff?
@Joe, That is certainly one likely model that could work, a hub and spokes model, with Apache at the center. But before assuming that there would or should be separate communities for Apache OpenOffice and LibreOffice, it is worth asking whether they have a divergent technical direction? Or feature goal? Or different in any other product-related features? Or is this merely a license debate. It is quite reasonable to have a fork and for the forks to diverge if the communities have a different vision for the *product*. But I’m not so sure this is the case here.
@André, I think TDF trying to create a foundation is the reinvention of the wheel. Come to Apache and spend 100% of the time on the project and 0% on writing a new constitution. Who benefits from the effort to create a foundation? The users? Does it make it easier for your developers?
Ok, I can see I’m going to have to go into details as to why I think
that giving the changing the OpenOffice code license to
Apache and running it under the Apache Foundation
is not as good a choice (IMHO of course) as donating it to the
TDF under LGPLv3 would have been for users and developers.
Note that I’m *extremely* happy Oracle donated the code somewhere, and
chosing a permissive license is much better than many alternatives.
They could have just let the project die or left it with Sun’s
copyright assignment policies in place, so this is a massive
improvement. Also the Apache Foundation is a fine home for
many great projects, so please don’t take this as a slur on them
or the Apache license.
However, I don’t think this specific code will do as well under Apache
as it might do under a copyleft license. Let me compare it with Samba.
Both Samba and OpenOffice/LibreOffice are competing in a market dominated
by a monopoly (from the same vendor, but that’s immaterial for the discussion).
What that means is that compatibility with the monopoly application is of
utmost importance. You have to be as close to 100% compatible as you
can get. Every percentage point of compatibility counts in gaining
market share. 80% is better than 70%. 81% compatibility is better
still. In other words, tiny technical changes can make a big
difference in how your application does in the market.
Now consider commercial interests. If you can tweak the OO Apache code
to improve *your* compatibility with Microsoft Office, there is no
incentive to share that change back to the original codebase. In fact
there’s a massive disincentive in doing so, as it will help the other
minority competitors who you’re also competing with.
In a market not dominated by a monopoly this effect doesn’t come into
play. In a more competitive market it doesn’t matter if you make
proprietary or even incompatible changes because interoperability
pressure will come naturally from your customers using other solutions
and needing yours to work with them.
So this is where copyleft works really well. The original LGPLv3
license forces sharing of code changes to ensure all minority
contributors (which in the current office suite market all products
based on the OO codebase fall under) work together to increase the
market share of all. That’s not to say there’s no room for commercial
vendors who might want to keep parts of their solution proprietary,
it just makes it harder to do for core parts of the code like file
format interoperability.
Samba is widely used in proprietary situations and we’re full GPLv3,
not LGPLv3, but the places that people make proprietary changes aren’t
in the interoperability code, as that would make working with the
dominant platform harder, and thus weaken the product.
IBM is a great example of this. They have a massive scale-out NAS
product that uses Samba (SONAS), but their value add is in the proprietary
filesystem (GPFS) that they ship underneath the Samba SMB/SMB2 protocol
implementation. I hope Rob doesn’t mind me giving IBM a plug on his blog :-).
But as a commercial entity if IBM could improve the interoperability parts of
Samba without giving back, they’d be fools not to do so (or just a more charitable
entity than most corporations :-). OpenOffice is in the same boat.
I understand why IBM is so keen on working with an Apache licensed
OpenOffice codebase, as I’ve explained above, but I think that’s good
for IBM, not neccessarily good for OpenOffice.
That’s why I’d recommend users and developers to contribute at TDF and
LibreOffice, where they can guarantee that future modifications to
their work will be shared back to them under the same terms they
donated them. Until there’s a competitive Office productivity market
again this just makes more sense to me.
I am really glad for ODF in general that the code is going to the good hands of Apache, but I am sad for OOO.org, for LibreOffice and for the divisive effects on the community.
If I open the newly launched LO 3.4 and try “SHIFT+F3” I can alternate between the different modes of capitalized letters. Ten years of OpenOffice.org couldn’t give me that. Within months, LibreOffice and TDF were able to do so, and only because they accepted true and open contribution from community members.
I sincerely don’t see how this same spirit can flourish in the absence of copyleft. This is not “merely a license debate”, this is about giving your time and effort to a project and then having the code (your sweat) becoming proprietary in the hands of others.
In any event, good luck to both projects!
@Jeremy, LibreOffice already has the code under LGPLv3. They need nothing more from Oracle for LO to continue doing what they’re doing. I wish them every success. What I don’t see is why it is improper to have another project, with a different set of developers working on it. Surely there are other productivity editors out there in open source, some even copyleft, e.g. Gnumeric, AbiWord, KOffice/Calligra Suite. Are they also “splitting the community” by running a separate project and recruiting developers? I don’t think so.
In the end, successful competition against Microsoft comes from product features. Relatively very few end-users care or are even aware of open source versus free software debates. The product that wins is the product that serves the users best. So it comes down to how do you produce that kind of product? You clearly are recommending one way. I’m recommending another, incompatible way. Anecdotes are not particularly useful. I think we can both point to successful and failed open source and projects and successful and failed free software applications.
@Tardoproto, this fear you express is not familiar to me. I do a lot of work in open standards. We have many individuals who volunteer their time and expertise on technical tasks that are fundamentally as difficult or more so than coding. But with standards, one of the greatest joy we have is when a company successfully uses the standard and makes money from it. We make no demands like, “You can only use our standard if you agree to give away your product’s source code for free”. But still, we don’t seem to lack for independent volunteers to help make open standards, in OASIS, in the W3C, etc.
“What I don’t see is why it is improper to have another project, with a different set of developers working on it.”
It’s not. But this is not another project, and it is not an abstract concept as you keep trying to argue. This is you claiming to now be the king of OpenOffice.org, taking assets Oracle is dumping at your request, going to Apache and seeking to establish a project that’s taking over its distribution points, forums, the right to define what functions OpenOffice.org will deliver, and in the process comprehensively rubbishing all the work that the non-Sun OpenOffice.org community has been doing and forcefully arguing its members should join you.
Given IBM’s track record of strip-mining the OpenOffice.org codebase and using it in Symphony without ever giving back (yes, apart from that code-dump IBM did of code from an out-of-date release), there are many of us who believe your motivation for driving this so hard on IBM’s behalf is not the best interests of the FOSS community or even of Linux but rather a desire to perpetuate easy access for IBM of the upstream components you need for Symphony.
We expect you won’t care much about Apache OpenOffice as long as the easy access to editor core code keeps flowing, and that when it’s expedient you’ll drop your support for the project just like you did for Apache Harmony. We expect you will have little interest in the quality or functionality of the Apache OpenOffice distribution and will recommend to everyone they use Symphony instead. We expect that, as Jeremy suggests, any success you have making Symphony more compatible with Microsoft Office probably won’t get contributed upstream.
In other words, plenty of us have been paying close, objective attention to IBM’s actions over the last decade and while there’s a great deal that’s laudable, there is also good reason to believe your aggressive attempt to seize control of the OpenOffice brand and code base from the community by springing a take-over on them in a vacation week is not based on anything more than opportunism. So far nothing you have said here or on the Apache mailing list has done anything to contradict this impression.
@ copyleft zealots
You guys have to understand that some people actually *like* to share their code with everyone, including commercial entities. It has been that way with the BSDs, with MIT’s X.org, with Apache’s httpd, and it will now be like that with OpenOffice.org. LIVE WITH IT!
Now moving on to some real development. Will the replacement of the restricted licensed code occur in Apache or is Oracle expected to clean up the code on their own and deliver it? I suggest replacing GNU regex with Google’s Re2: it would be a very consistent move and it would actually be an improvement.
@Pedro, it will be up to the Apache project to review all 3rd party dependencies and bring them into conformance. If there is a dependencies on a component with an incompatible license, e.g., GPL, then we will have a range of options to deal with it. The options are listed in the ‘external dependencies’ section of the proposal.
FWIW, we use PCRE in Apache httpd, and I was going to suggest that (after seeing Meeks point out the regex issue). I haven’t looked at RE2, so I have no opinion. When I worked at Google, I helped to move some patches from internal to Google upstream to PCRE, but if Google has since built a regex library… interesting.
@Greg
Re2 is written in C++, it does support PCRE-like features but it also has a POSIX mode so adapting it should be easy. It’s also very fast.
http://code.google.com/p/re2/
(If it were not C++ we might have considered it for regex in FreeBSD, for the time being we are testing/enhancing TRE).
I guess we also need to replace dmake … Cmake? I hope there is a mailing list soon to discuss alternatives, these are actually opportunities for improvement!
Oh I forgot… for spelling : ispell is BSD licensed.
I guess a lot of other stuff can simply be made optional.
dmake is a build tool, and not shipped as part of the source release, so its license doesn’t matter. This is similar to projects’ reliance on the GNU toolchain which states the the build *outputs* do not fall under the toolchain’s GPL license.
That said, I’m not generally in support of a custom “make” tool. I would much prefer some kind of automation that produces something to feed into more widely-used tools like (g)make, scons, or cmake. I’ve been interested in scons lately, but a friend said it falls over for big projects. And OO.o kinda *defines* “big project” :-)
I have no idea why, but on FreeBSD’s port I don’t see any reference to dmake (I do see imake) but there are build dependencies on some specific GNU tools:
GNU cp
GNU patch
bash
gperf
it also uses it’s own cppunit, it won’t use the pre-packaged one.