Archive for June, 2009

Stoke my ego some more

Tuesday, June 30th, 2009

Last week I gave a talk at an NOiV event (NOiV is the Dutch government agency created to oversee the motion to prefer Free Software in government procurement) and today the speakers got back the evaluation results. I’m happy to have gotten good marks (7.5 out of 10) and to have had “Adriaan’s enthusiasm for Open Source” named explicitly by two different respondents as a cool thing about the event.

Now I need to change my style for any speaking I may be doing at GCDS. I’ve promised to bring the traditional (?) speaker-motivation instruments for Akademy, and I’ll need to lay off the buzzwords a little.

C#, see submarine

Tuesday, June 30th, 2009

There have been two posts about C# and mono on PlanetKDE this week (e.g. Richard and Andreas). The comments on Andreas’ entry are quite cogent, as are those replying to Richard, but it deserves a wider audience. As far as asking RMS at Gran Canaria this weekend, it’s worth a shot if you abstract the question away from specifically-C# and specifically-mono.

At issue is the notion of a Free Platform. Or perhaps an unencumbered platform. The latter is a weaker term because it does not stress the Freedom aspect of the software we write, but it might better express the uncertainty around what constitutes such a platform. There are many things that might encumber a software program or software platform. Dictionary check:

encumber 1. weight down, burden 2. to impede or hamper the function or activity of 3. to burden with a legal claim (as a mortgage)

Here’s a non-exhaustive list:

  1. Technical inadequacies (functional)
  2. Technical inadequacies (maintainence)
  3. Poor documentation
  4. Lousy management structure
  5. Licensing troubles
  6. Copyright management trouble
  7. Patents

To phrase the first four even more informally, that’s “it doesn’t work well”, “the code inside it sucks”, “i can’t figure out how to use it”, “the people working on it are jerks”. They are technical or organizational and well outside the scope of what the FSF (and sister organizations FSFE, FSFI and FSFLA) are normally involved in. Comparisons between C# and other languages on the first three points (Objective-C has a defrobnicator and C# doesn’t, nyah nyah nyah) miss the point. Project management is, I think, largely a personal choice and unless there are other indicators, I don’t think you can say “community management is better than having a single entity”. So contrasting Java’s Sun^WOracle^WJCP management process with whatever C# / mono uses misses the point again, except where it touches on those other indicators.

But then we get to licensing, copyright consolidation and patents, and these are the relevant indicators for determining whether a platform or software program is encumbered (vs. Free). For licensing, the question to ask is “is this a Free Software license?”. If you’re cheeky, you could check the Open Source definition as well. Mono is under a mix of GPLv2, LGPLv2.0 (not 2.1!) and MIT/X11, so the code of Mono itself and its derived works is Free Software (by this measure) and works linked to the libraries are not encumbered.

Copyright management is one of those topics close to project management style, but I believe that a project with a clearly stated management style — almost regardless of what that style is — is better-off than one with a confused, ambiguous or stupid copyright management style (an example of the latter being: publish all the source with no attribution and no copyright headers). In any case, the Mono project with its mandatory copyright assignment (to Novell) is clear.

Which is when we come to the last item on the list, patents. Software patents per se do not exist in the EU, but they do in the US. Other parts of the world I am insufficiently aware of. There is the notion of the “submarine patent” (a term whose use has mutated over time, see this article for instance about long-pending patents). In current use, it seems to be a patent that is not-well-known, but applies to some piece of technology that is incorporated into a standard (either official through a standards organization or as a de facto standard). That’s odd from a patent perspective, because the whole point of patent (dict: shown, open to public inspection, well-known) is to make sure that knowledge is pushed into the public domain at some point (that’s the social contract around patents). In any case, Aaron phrases it quite well:

there is a rather higher than zero chance of Microsoft taking advantage of its patents and coming down on C# implementations when and if it feels like it. they have an agreement with Novell, and Novell thinks it covers everyone but Microsoft seems to disagree. and that’s their public position.
however, we don’t know for sure. so it’s “only” a risk, not an absolute.

You will find similar statements about the risk entailed in using the possibly-patent-encumbered Mono .net framework in the comments to Andreas’ blog entry (the first comment, by STiAX, in particular).

So the whole issue isn’t about licensing, management or technical features, but purely about the risk involved with using a platform that is encumbered by patents. This is an issue on which the Free Software developer community has been either split or ambivalent for years. GIFs? MP3s? .NET apps? All encumbered at some point or in some way.

A similar kind of encumbrance would be if MIT (or Xorg) could retroactively re-license the X11 libraries to something proprietary (note: they cannot), thereby removing the platform upon which all Free Software X11 applications are built; it would be a risk, and given the importance of Free Software, a risk where the expected value of a manifestation is huge.

This isn’t to say there’s not other submarines in the water. We don’t know. Maybe we should. The known submarine should be treated with caution. And the side of caution is to treat C# as a non-Free platform to be avoided.

Postscriptum and prescription of the FLA

Monday, June 29th, 2009

The Fiduciary License Agreement (FLA) between KDE contributors and KDE e.V. is one that assigns those assignable rights derived from authorship from the original author to the fiduciary (i.e. KDE e.V.) and then assigns, non-exclusively, the rights on that work to (0) use, (1) study, (2) modify, (3) distribute and (4) authorize third-parties for the same, back to the original author.

Ugh, that’s a lot of legalese, but that is also why my slogan for the KDE project is “I talk to lawyers so you don’t have to.” It’s a wonderful thing that Sebas has been talking to KDE contributors at LinuxTag and has obtained a number of signed FLA documents. That means that a good chunk of important KDE code is now actually owned — in the sense of copyright — by KDE e.V. Sebas quotes our friend Carlo Piana (he received the pineapple fortune cookie award for Coolest Lawyer, once) describing an FLA as follows:

The fiduciary licence aims at simplifying this process, by assigning the copyright to an entity as KDE e.V. which is not “scalable” and therefore provides sufficient safeguards as to the possible hijacking of the project for nefarious reasons.

Now, I’m not entirely sure about that “scalable” there. KDE e.V. is scalable, in the sense that with individual donations and supporting members we have the resources to support the growing developer and contributor communities as well as serve users in general though efforts like UserBase. I think what Carlo meant is “saleable”, in the sense of “you can’t buy a community.” I’ll have to ask him, next time we meet.

So you can’t buy a community and you can’t buy a non-profit association with strong checks and balances in its constitution. This is good, and having a strong copyleft Free Software license applied to the software as well ensures its long-term availability (don’t let that link fool you, though: the KDE platform libraries are LGPL licensed, so you can, if you really feel it is necessary, write proprietary applications on top of it — but consult your local counsel for license advice). The main issue that the FLA tries to solve is really one of license and responsibility fragmentation.

When multiple authors work on something, then each author has a share of the copyright on the creative work — at least, each author who contributes something original and creative enough to be considered a creative work. This leads to multiple authors and the requirement to agree on copyright matters between all the authors in a particular work. This fragmentation can consume considerable resources if ever there is a particular need to deal with all the rightsholders for one particular work.

Note that KDE contributors — all of them — have traditionally been rather lax in maintaining the copyright headers in our sources. We do not maintain a comprehensive list of authors in each file, nor do we follow GPLv3 article 5.a very well, in general. Figuring out exactly when 5.a applies is something I’ll leave for the real lawyers and another blog post. In any case, a consequence of the signing of the FLA’s by a number of authors is that for their work the copyright header should be changed to

Copyright [years] KDE e.V. <>

Ideally we would include a postal address (of KDE e.V.) as well; the whole point of this exercise is to make it really darn clear who to contact for licensing information and to make sure that we clearly claim the copyright on these files.

Note also that the KDE licensing policy is lacking in some details and allows poor licensing hygiene by potentially mixing incompatible licenses: we have had license checks (Tom Albers has now and in the past been instrumental in moving that forward). Just because we’re not doing things optimally now doesn’t mean we can’t move forward and improve things (this applies in many fields of endeavour).

The FLA used by KDE e.V. has a big blank where you can fill in which works are covered by the FLA. There is also a pre-filled form (PDF, 50kB) which identifies the works using standard language referring to your SVN account name. That should make filling things in easier. If you didn’t sign up at LinuxTag, you could print that, fill it in, and mail the form to the KDE e.V. office. We maintain a list of signed FLA’s as well, to keep track of who has done so — let me emphasize that the signing of an FLA is optional and the choice to do so rests entirely with the individual whose creative work is covered (or would be covered) by such an FLA.

So, by concentrating the copyrights held we reduce fragmentation; given that we have a strong basis to build on with careful checks and balances in the consitution of KDE e.V., this is an improvement for the currently-hypothetical case that we would want to (or have to) relicense large parts of KDE to some other Free Software licence.

There are additional checks placed on any relicensing attempt on the part of KDE e.V. They were added as a sort of backup guarantee that KDE e.V. cannot do evil in relicensing code. However, at the same time these relicensing restrictions (written down in the Fiduciary Relicensing Policy) reduce the effectiveness of the FLA itself, because the FRP says that we at least have to try to get permission from the original author before relicensing. However, it does mean that we get to judge “reasonable effort” ourselves instead of letting someone else do it. So in the end we (as in KDE e.V., representing the KDE community as a whole) do have a stronger grasp of the code in order to be able to defend it if needed.

And, since the rights are transferred back in a non-exclusive license to the original author, the original author may fork or relicense if that’s really absolutely necessary. I should point out that that should be a real last resort and that working with the rightsholder (i.e. KDE e.V.) should be preferred. Remember, KDE e.V. exists to support (“we exist only to serve”) the development of KDE software, including the KDE workspace, KDE platform, and KDE applications. If there is some perceived need to fork, then somewhere there’s a misunderstanding of what the constitutional aims of the association are.

But I digress. There is an FLA, and it is signed by many people. Perhaps many more will do so at Akademy this year.

So where do we go from here? Maybe next weekend, we can take over the world.

The answer to this question actually depends on which hat I’m wearing. The KDE hat says: continue to consolidate licensing, pursue license checking and accuracy across the entire codebase and behave as an exemplary community software project with regards to legal matters.

My FSFE hat says that we need to take the concrete experience with KDE and with Bacula and introduce other projects in Europe and the rest of the world to this kind of lightweight legal housekeeping. The FLA has been translated into many languages, but I feel that having used it in KDE it could use a little extra precision. Also, any legal document intended for use by non-lawyers probably needs an implementation guide and HOWTO. And most importantly, those need to be well-known to projects who might need such documentation.

Upcoming Conferences (n+1)

Monday, June 29th, 2009

Gosh, I go on about upcoming interesting Free Software conferences all the time, don’t I. But there’s just so many of them. I got four to pimp out today, and all of them have the word “Open” in their name — which reminds me I really need to deal with that word at some point in the near future. If you’re in western Europe or the middle of the United States (you may apply geography lessons to me, but it will cost you a plane ticket), harken:

  • OSDevCon is in Hamburg, september 23-25 2009. It’s an OpenSolaris developers, contributors and application porters conference. The CfP closes july 26th. I suppose I should try to get something about KDE in there, although since I’m also on the programme committee there’s definite conflict-of-interest. And if you don’t particularly care about OSOL (it really does have a cool package manager), you might want to try the co-located Linux Kongress.
  • Utah Open Source Conference is in Utah (which contains interesting cartoonists) from october 8-10. I can see — given the current list of abstracts — a real need there for Desktop or Free Software talks.
  • The NLUUG fall conference on the Open Web, october 29th 2009. Officially the CFP closes today, but I think I can give you an informal reassurance that abstracts will continue to be accepted for another week or so. Frank Karlitschek, this means you.
  • Open Rhein Ruhr is a regional conference (closer to where I live than Amsterdam is!) november 7th and 8th. All things Free Software considered, and the CFP is open until august 23rd. No reason not to submit your “stuff that will be cool in KDE 4.4″ talk now, though.

That’s it for now, and until next week, when I try to explain why the 2009 Maemo summit isn’t on my list yet.

Women in Dutch IT

Friday, June 26th, 2009

I’ve written about women in Dutch IT before — on the old bobulate, which no longer exists. I can point to women in IT in Switserland / Brasil and Denmark and lots of other countries and even the Netherlands, but the Netherlands on the whole remains a problematic area. Since 1994 or so — possibly earlier — the participation of women in IT and university IT education in particular has been very low. I usually cite numbers around 3-5% of the students. A new EU study (PDF, 4.7MB, reported in Dutch as well) reconfirms this dismal view: the Netherlands is down at the bottom.

CCOSA Results

Friday, June 26th, 2009

This year’s CCOSA was done without me, as I no longer work for CodeYard — and anyway, I was speaking elsewhere. Ah, CCOSA: The CodeYard Capgemini Open Source Award, which is awarded each year to the coolest CodeYard projects. It’s a cash prize for the students involved and their school (split fifty-fifty) rewarding their dedication and talent. The two winning projects were OpenOffice Share and FretsWeb. I’ll let their websites speak for themselves, as they testify to the professionalism of the students involved. FretsWeb has since moved on to SourceForge (let’s face it, CodeYard serves as an incubator for the “big time”).

It’s the OpenOffice Share project that particularly piques my interest. Adding a collaborative editing workflow to an application like OOo is a big feature win. OK guys, now do it again for KOffice, ok?

Enlightened Self-Interest

Thursday, June 25th, 2009

Yesterday I gave a talk at an NOiV event (the NOiV is the Dutch government bureau leading Open Systems, Open Standards and Open Source adoption). You can find the schedule here where you’ll find I was the closing keynote speaker (warning: both sites in Dutch). I never got around to blogging this in advance, possibly because I assume readers of my blog aren’t IT managers at Dutch local councils. It’s quite interesting talking to people in this area, because they do have long-term societal responsibility — which is something that the four Freedoms of Free Software address — and yet at the same time are stuck with interoperability and transition questions from decades of proprietary software use. So I seized the opportunity to learn more about the tax office, libraries and the police and they way they operate their IT infrastructure and software selection process. On the whole it was a pretty successful day, and I was glad to hear from several folks that they appreciated my talk. I’ll probably end up at the NOiV again in September at one of their inspirational events. That’s enlightened self-interest on my part, too :)

[[ As an aside, I found today, which seems to have a pretty complete view of IT events in the Netherlands. I'd never heard of it before, nor have I checked if it actually lists all the Free Software events in the Netherlands or any of the non-commercial offerings, but it seems fairly complete. There's a DrupalJam going on tomorrow, for instance. ]]

Changing of the guard (2)

Thursday, June 25th, 2009

At the Free Software Foundation Europe general assembly, I was accepted as a member of the association. Like KDE e.V., the FSFE is a German association with fairly strict rules on becoming a member (I should mention that becoming a member of KDE e.V. isn’t all that hard, and that you can support FSFE by becoming a fellow of FSFE). This means that I have an additional FSFE hat to wear, on top of NLUUG and KDE.

I am also discarding some hats. On the cusp of summer, I have informed the University of Nijmegen that I am leaving the place where I’ve studied and worked for the past 19 years (that’s longer than KDE exists, and longer than some valued contributors to KDE have existed, for that matter). This means that I will no longer be working on CodeYard (a project to have Dutch high-school students produce Free Software with modern tools) or Sprint-UP (closing the gap between high schools and universities). CodeYard occupies a special place in my heart, as it has produced some really neat software and gotten students to build beautiful things — something I think is really important when writing Free Software. I’ll continue to watch CodeYard from the sidelines, though.

The FSFE hat represents some additional responsibilities, too, and answers the “how do you eat?” question. In the coming months the Freedom Task Force will transition from the capable hands of Shane Coughlan to mine; Shane has spent the past two years building up a unique group of technologists and legal representatives to discuss law-and-technology matters on neutral ground and provide services to Free Software projects that need a little help getting their legal activities in order. The FTF created the Fiduciary License Agreement, for instance, for dealing with copyrights in distributed development projects; KDE uses a modified version (PDF, 40k). It continues to grow, and I hope I’ll be able to follow some of the path that Shane has charted.

I may need a captain’s hat, after all.

Changing of the Guard (1)

Wednesday, June 24th, 2009

Last weekend was the annual general meeting of the Free Software Foundation Europe, which was the reason I was in Spain. It was very much fun to meet the people who have been working on Free Software at a European level for the past eight years. Much like every Free Software conference or meeting I’ve ever attended, there was a “work hard, play hard” atmosphere. Plans for the next year were made, schedules set and many tales were told. The main result of the meeting is the changing of the guard: after eight years, Georg Greve has stepped down as president of the FSFE. I cannot hope two write something to compete with the words of thanks for Georg’s work pronounced elsewhere. So I will round up with some typical KDE words: “dude!”

Rushing about (nth edition)

Tuesday, June 23rd, 2009

Back from Spain. Speaking in Utrecht tomorrow (managers). Dancing and organizing dinner in Lent thursday (square). Speaking in Nijmegen friday (high school students). Weekend. Mopping up KDE-Solaris stuff. Organizational matters monday and tuesday. Gran Canaria wednesday. And then the real rushing about begins.