Stuff Michael Meeks is doing |
Older items: 2023: ( J F M A M J ), 2022: ( J F M A M J J A S O N D ), 2021, 2019, 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2009, 2008, 2007, 2006, 2005, 2004, 2003, 2002, 2001, 2000, 1999, legacy html
Somewhat amazed to finally notice this insight from Rob Weir (cf. reply to Maxei). In one short block of text he manages to malign The Document Foundation's governance, vendor neutrality, insinuates SUSE collusion with Microsoft (to not compete in the office space) and suggests LibreOffice will be mainly a Linux product. So lets deal with some of these:
ROP_XOR
nastiness, either that or abandon
X rendering of most things in favour of basegfx
and just chuck
pixels around. Pushed the prototype to master:
--enable-gtk3 --with-system-cairo
fun.
The existing OpenOffice.org code-base should be made available under our preferred (dual) license: MPL / LGPLv3+, with Oracle retaining the copyrights. We believe that the MPL (over say an Apache license) as a copy-left license, is crucial to community growth and acceptance, and has proved itself with Mozilla.ie. the idea that we require an entity in place to use a copy-left license effectively is nonsensical. Furthermore, the idea that we would treat a single large player as a special case requiring them to assign code, when our other contributors continue to own their part of the franchise is odd.
I think that you may be missing some key points. Apache represents a mature, established, and stable home for OpenOffice with a respected governance model.So far so sensible.
It costs a lot of money to create and support a new foundation and maintain a high volume download site. These are not insignificant considerations.
Indeed these are useful considerations - so lets look at these questions:
Does this need to break the bank ? As previously discussed, TDF's income from donations and sponsors is rather less than an order of magnitude smaller than ASF's entire budget. So by inspection this seems an unlikely contention, bearing in mind that most of our download bandwidth cost (for our huge binaries) is (kindly) carried by our extensive mirror network.
We can look at other organisations serving web-pages, say the Wikimedia foundation to get an idea. It seems that they serve 10bn+ page views each month, at a cost of less than $10m per year (which seems to include some real staffing cost). This gives a very upper bound guesstimate of 1k page views per month per dollar. If we have 100m users that visit us once per month, that gives an outside, upper bound of $100k pa. That looks reasonably affordable, with suitable sponsorship. A wikipedia page hit I assume is some very funky database interaction, with rich media and image contents coming from hugely concurrent read/write access of tens of thousands of disparate pages. The TDF website has some quite simple static-izeable pages with typically a very simple flow through to the download page so my guess would be at some fraction of this cost. Perhaps I made a numerical blunder ? Our current spend is of the order of rather under $10k per annum.
Another good question, thus far, not very much. The number of excellent Free Software lawyers, willing to donate their time on a pro-bono basis is most encouraging. Our preferred jurisdiction takes some time to incorporate in, otherwise this is not (thus far) a real cost.
Nobody wants to spend time money and energy on legal, adminisetrative, and political overhead when they could be coding.
Personally, I love that attitude, though there is a rich seam of irony in hearing it from the political, non-coding department. Of course there is the issue of show me the code ! - so far nothing; only blogs, E-mails and hopeful looking statements. (ie. administrative and political overhead). Perhaps when we see code, more informed decision making will be possible. Having said that, being encouraged to be just a coding machine - while devolving the tricky issues of licensing and governance to other higher minds, can lead to real problems. Licensing matters.
Furthermore, There are likely interests involved who have an interest in doing real innovation in the document space involving such things as rich semantics and analytics. Think of what Watson could have done if it had access to "smarter" documents.
Some sadly unspecified likely interests who would want to innovate in the document space - so that Watson: a bit of proprietary software (albeit built using a lot of open source) from a single vendor can do better. At least, this possibility is not something that motivates me to work harder, or to contribute code under a non-copy-left license. I for one, would not like to live in a star-trek future if it was built on proprietary software.
The powers that want to invest in and evolve OpenOffice will be much more comfortable in Apache, as will their customers. The various parties including Libre office and the Linux distos need to seize upon this opportunity to reconcile and drive value creation from a collective investment. With the Oracle developer subsidy gone, to both both OpenOffice and LibreOffice, the remaining parties need to work together and make a concerted effort to recruit new parties with new ideas. This could be a great outcome!
More hidden powers that want to invest, but just can't if they cannot sit inside Apache (or is it proprietise?) - show me the powers! might be a good riposte. It is hard to make a balanced judgement on the basis of likely hidden things. As for working together - I can only applaud the idea. Step one for working together is, I would hope not starting and supporting a competing project. As for recruiting new parties with new ideas - who can argue with that ? It is the old ideas such as demanding the right not to contribute in a timely and constructive way that stick in my throat. Indeed, arguably a major motivation here is to get the politics around contribution, its extent and timing out of the project, permanently.
[three+ years ago]: IBM's contributions will include 35 dedicated programmers as well as editing, accessibility, and other code ... We've been investing in creating many complementary things in Notes that aren't in the core OpenOffice code, such as the SmartScreen filters and iAccessibility2 ...While in fact I applaud IBM's lack of engagement with the (highly unreasonable) Sun regime that was OO.o - it is interesting to note the exaggerated claims of dedicated developer numbers never really materialised (or perhaps there was just an effectiveness problem). Also IAccessible2 integration is still one of the (great) promised distinctive new features they plan to finally contribute for Apache Office (much improving accessibility for the impaired on Windows, analagous to SUSE & Sun's integrated work on atk integration for Linux - an unfortunate feature to politic with). The code was re-promised to the community in 2008 in an IBM keynote, and eventually dumped vs. a very, very obsolete branch (1.1.5) and left; and is still not integrated to this day, hence re-appearing as a new value-add. Of course times change, and strategies morph and some commitments are un-sustainable, no doubt it happens to us all.
Employers with the most hackers (total 214) (Unknown) 138 (64.5%) Oracle 45 (21.0%) Novell 18 (8.4%) Known contributors 7 (3.3%) Canonical 4 (1.9%) Redhat 2 (0.9%)
I'd be absolutely giddy with joy if LibreOffice developers would come over to Apache and run their project under the Apache 2.0 license under the Apache process. I'd even be open to calling it "LibreOffice". But this is much more an issue of organizational capabilities than it is the rather narrow gulf between the current OpenOffice and LibreOffice source codes. I want an organization that will last, not something that will fall over in the next storm.
Ignoring the red-herring about naming; the question is: is Apache really that vast, stable, storm-proofed and well funded as an organisation ?
First I should say, that I think the Apache governance rocks in many ways, and this is no critique of them. They are a voluntary organisation, and they kick some serious ass. More amazingly than that they achieve so much on a fairly limited budget If I read it right:
Attachment AE: Proposed 2010-2011 Budget ASF budget for FY May 1 2010 - Apr 30 2011 ------------------- ... INCOME Total : $541,200.00
Today we released 3.4.0, there is a great list of new features, specific to LibreOffice available (expertly assembled by Marc Pare and others). Each should also be credited so some of the depth of the (code) developer community is apparent, this is of course in addition to our extensive credits page (kept up to date by a volunteer of course). This is the first major release containing code from many of our new volunteers which is exciting. Of course, there are some great improvements there, I like the named range / data-pilot work that makes it easy to extend the data range you're working on without manually editing perhaps ten data-pilots depending on it but there are a load more. Some of the changes are invisible, and/or behind the scenes - so I thought I'd expand on them here.
First - ridding ourself of sillies - there is lots of good work
in this area, eg. big cleanups of dead, and unreachable code, dropping
export support from our (deprecated for a decade) binary filters and
more. I'd like to highlight one invisible area: icons. Lots of
volunteers worked on this, at least: Joseph Powers, Ace Dent, Joachim
Tremouroux and Matus Kukan. The problem is that previously OO.o had simply
tons of duplication, of icons everywhere: it had around one hundred
and fifty (duplicate) 'missing icon' icons as an example. It also duplicated
each icon for a 'high contrast' version in each theme (in place of a simple,
separate high contrast icon theme), and it also propagated this effective
bool highcontrast
all across the code bloating things. All of
that nonsense is now gone, and we have a great framework for handling
eg. low-contrast disabilities consistently. This also reduces run-time
memory consumption (we have to cache the .zip theme's directory), and of
course binary installation and download size shrinks (we ship several
themes to taste) - here is a pretty picture:
When we first released LibreOffice, in place of the individual install set per language - duplicating the code, artwork, templates, etc. many tens of times on each server we switched to bundling lots of languages (and also the run-time adapted BrOffice branding) into a single package. That shrunk our mirror load from 76Gb down to 11Gb for 3.3, which is now for 3.4 down to 7.6Gb a handy win (of ~70Gb) for mirror admins, making us more agile, and appreciated by our fantastic mirror network I hope. To achieve this, in consultation with the l10n team, Kendy worked hard to split out our help to the wiki - so you can browse it on-line at http://help.libreoffice.org. That of course helps Linux users' space-constrained live-CDs more useful too.
With that work in-place, we managed to cram the top fifty languages into only 225Mb on release, which (sadly) left the remaining languages in a rather larger 265Mb download. In 3.4.0 down to improvements such as the them work above, sharing templates, dropping the BrOffice brand (at the Brazilians request) and more importantly Kami's gret msi packing improvements we've managed to pack all our languages, and many more dictionaries, and more functionality into a single download at 197Mb. That is clearly still too big, but smaller than a MS Office service pack. We are still some 40Mb larger than the original single-lang packaging (which it is our goal to match), but there is plenty more room for improvement (eg. gutting the megabytes of pointless ICU code we ship), and we'd love more help, (cf. scale offset of 150Mb):
I'm not an expert here, but our fantastic l10n team, swelled to 200 contributors is doing some great work on getting the latest translations into the product. They're using pootle for that, but better (thanks to Andras) we've switched from storing our translations in SDF format, instead using native gettext .po files compiled to various odd other formats during the build. Bjoern has a prototype patch coming to allow run-time .po file translation, to allow post-ship translation and better integration with Launchpad.
One of the huge, invisible tasks for 3.4.0 was the merging of Oracle's code changes. Luckily, of course we use git - and several split repositories, such that merging should be easy. Then again, we have done lots of widespread changes, many hundreds of thousands, if not millions of lines of diff, stripping dead code, translating thousands of comments, touching every single file, as well as more substantial API and code changes.
One of the things that made the merge more tricky, was that
(after decades of inactivity), some Oracle developers decided now
(post fork) would be a great time to do some long overdue large-scale
code cleanups. One of those was replacing every instance of TRUE
with
sal_True
, same for FALSE
, all instances of
legacy types like BOOL
to sal_Bool
, for
each of UINT16, ULONG, LONG
etc. etc. Unfortunately, not
an easy 'sed' either, as witness to some of the bogus
"sal_True"
type strings that popped out of the works.
While a valuable, and much needed cleanup, this results in the kind
of multi-million-line patch (touching all the dead code too) that
has the effect of obfuscating their other valuable changes, and
takes a certain determination to merge and reconcile.
The effort, spearheaded by Norbert with many straight days of mindless grunt work from myself, and able assistance from Thorsten, Kendy, Kohei, Noel and others - hopefully highlights a triumph of determination and survival against the odds, the tedium and some RSI. Unfortunately, due to some comic, transient technical hitches (that resulted in having to do much of the work twice) this merge rather delayed the code freeze and our first betas for 3.4.
With the rush to get 3.3 out, and the stabilisation releases after it, as well as the one-shot fun of migrating many Linux distributions over to use LibreOffice there was not enough spare bandwidth to get many tinderboxes or build-bots building. Unfortunately, this had quite an impact on the QA teams particularly after the merge completed, which was sad. The good news is, that we have mostly fixed this now, and have much more recent (the aim is daily) install-sets for most platforms available for testing - a great way to get involved is to help with re-testing old bugs against the latest stable releases.
A chunk of this is down to better tooling and scripts to drive tinderboxes, though we still struggle with unreliable Windows builds, cygwin's sh.exe, or perl.exe or dmake like to wedge intermittently some hours into the build. On the Mac front, Norbert had a breakthrough to shrink the build time. An all-lang Mac build used to take 15 hours (13 inside helpcontent2) - he managed to get this down to under 30 minutes using a ramdisk - substantially improving our agility and ability to turn around builds quickly: getting the latest code to QA fast. One of many great build performance improvements - with other much appreciated packaging acceleration wins in the tangle of badly written perl by guys like Jan Darmochwal, Julien Nabet and Steve Butler.
Then of course some QA stars like Rainer, Alex, Cor, Andre and many others have been working hard at finding, cleanly filing, triaging, prioritising and marking bugs, critical work.
One of the key features of LibreOffice, from my perspective, is its time based release process. Italo has done a great write-up with several nice pictures of this, one of these is this:
To me - having a predictable, and time-based release is such a key concept, that shipping 3.4.0 as a carefully labeled, point-zero release on time is more important than shipping an incredibly bug-free product, at a future, undefined point. This avoids a deeply political process of deciding when and if to release, and whose pet bug is worth waiting for and why, and why is his worse than mine, and oh ! I just found another one, lets delay another week. The alternatives to a time based release seem to have lead only to long (multi-month) slips.
Clearly, we have learned a lot this cycle, and improved our processes to make future releases even better. Obviously our succession of point releases: 3.4.1, 3.4.2 etc, will incrementally improve quality: indeed we are confident of that, since we already have a lot of fixes in-place for 3.4.1, however the fact remains that 3.4.0 is buggy (in fact all software is, but it is more so than usual, and we found a lot of bugs rather late). The bright side, is that our future point-zero releases, build on our improved infrastructure will be better in future. This is why we are continuing to advertise 3.3.2 (and the soon to be available 3.3.3) as the primary download build for now (thanks Christian for all your hard Javascripty work to make that fly). Please do - check-out 3.4.0 and get stuck into helping us make the Free Software Office world even more fun, fast-moving, and exciting. A great way to start as a developer is to get stuck into an Easy Hack.
Of course, lots of people got stuck in already, and continue to do so. We like to graph statistics of commits by affiliation - charting how many people of what affiliation commit at least one patch per month, that gives us a pretty graph like this:
Which (I hope) shows the strength and diversity of the contribitor base, as well as its extraordinary growth since we launched. Sadly, some like to denigrate and despise contributors that only come up with small changes, personally I started off in Free Software as a contributor like that - and we love to help encourage, and mentor contributors from small things - to greater ones.
Well, of course so many others have been involved in making LibreOffice the success it is today, tirelesss work by many Steering Committee members, like Italo and Florian writing and co-ordinating multiple press briefings concurrently, and many helping translate and promote the software. The design team, being patient as we get the basics right before getting too stuck into fixing the UI (while producing some beautiful, much improved artwork), and no-doubt many others I forgot. And please take note - this is just some of the features you can't see, there are plenty that you can"
It seems that IBM and the ASF are encouraging individuals from the LibreOffice world to sign on as 'Initial Committers' to their new project. I have a few thoughts on that. It seems that there is a gulf between where the Apache Software Foundation is and where we, as a community are. Bridging that may prove difficult, and the main stumbling block is non-copy-left licensing.
One thing that I think is clear, is that sticking together is more important now than ever before. While we are a young team of hackers I hope we're a friendly one, and have built some kindred spirit. We are not (to use Rob Weir's reply to Jeremy Allison) "something that will fall over in the next storm"). I would hate to see us divided which is a real risk. Consider a question you can ask a group of people, that seems reasonable: eg.
"Can everyone who was -not- bullied as a child, please raise their hand ?"
Unfortunately this, if acted upon, has the effect of isolating and identifying all those who sadly were, yet without their consent. The best course of action is to reject the question, and the second best is to not raise your hand.
Whatever we do, needs to be done together as a community. Perhaps you personally, have no concerns about licensing all of your code to corporations who have no intention to reciprocate, and who care nothing for working constructively (some with us with a track record to match). If so, can I ask you to consider your actions in the wider context: of the rest of the team you've enjoyed working alongside, particularly those who may not feel the same.
All of which is to say, I would strongly prefer to see either all of us as initial committers, or none at all, and that is a decision we need to make collectively; clearly I have a strong personal preference for the latter option.
Both Oracle and ASF agree that the OpenOffice.org development community, previously fragmented, would re-unite under ASF to ensure a stable and long term future for OpenOffice.org.or how about
The initial set of committers include people from the community of OpenOffice.org Technology projects .... The initial group of developers will be employed by IBM, Linux distribution companies, and likely public sector agencies. Localization resources are expected to gravitate to the new project, as well. Ensuring the long term stability of OpenOffice.org is a major reason for establishing the project at Apache.Amazing to see Andrew Rist and Rob Weir as the initial committers - I'm unaware that they have ever committed a single line of code to the codebase before: but ... there is always a first line; a whole new sense of initial committer perhaps. I was encouraged to read somewhere that: "The first step along the road leading to committership is to become a developer".
Instead of IBM loving and leaving ASF in an attempt to outmaneuver Oracle, we have IBM, with help from Oracle, proposing to love ASF to outmaneuver an open source foundation. It all looks like fox-hunting to me. (The unspeakable in pursuit of the inedible.)
My content in this blog and associated images / data under
images/
and data/
directories are (usually)
created by me and (unless obviously labelled otherwise) are licensed under
the public domain, and/or if that doesn't float your boat a CC0
license. I encourage linking back (of course) to help people decide for
themselves, in context, in the battle for ideas, and I love fixes /
improvements / corrections by private mail.
In case it's not painfully obvious: the reflections reflected here are my own; mine, all mine ! and don't reflect the views of Collabora, SUSE, Novell, The Document Foundation, Spaghetti Hurlers (International), or anyone else. It's also important to realise that I'm not in on the Swedish Conspiracy. Occasionally people ask for formal photos for conferences or fun.
Michael Meeks (michael.meeks@collabora.com)