Bobulate


Archive for March, 2010

Freedom (from lawsuits, to a point)

Wednesday, March 31st, 2010

Today (yesterday? timezones are confusing) the jury in the long-long-long-running case of SCO vs. Novell returned a verdict. on the question whether the copyrights (to UNIX) were transferred to SCO. The jury answered “no”, which bring to a sort-of-close the whole lawsuit. You can find more coverage at Groklaw (kind of gloaty, though), Ars Technica (annoying with Konqueror though) or The Register.

I say it’s sort-of-closed, simply because the decision and final verdict belongs to the judge, not the jury (as the parties in the suit had requested — see Groklaw). So things could still change around. In any case, this means (modulo final decision, appeals, and whatnot) that the copyrights to UNIX still reside with Novell and SCO has no case to bring copyright infringement suits against contributors to Linux. Novell has the copyrights, so it would be Novell’s prerogative to do so if such claims had any merit.

To put it more simply still: the spectre of suits “against Linux” on the basis of copyright infringement from UNIX is now banished. That’s a form of freedom.

[[ Another case, Palm vs. Artifex, has its first hearing today if I read the court schedules right a ways back; that's the suit brought by Artifex against Palm for Palm using the mupdf (GPL) libraries but not shipping the sources of the PDF viewer application. A suit that, to me, exemplifies yech, gross on both sides of the suit: Palm for not doing the usual compliance move, Artifex for shipping wretched source for mupdf and bringing suit from a licensing rather than compliance angle. ]]

EBN Down

Wednesday, March 31st, 2010

The English Breakfast Network — which hosts the KDE code checking site, vizzzion.org, an anonsvn mirror for KDE, my irssi-in-screen instance and a bunch of other stuff — is down following a power outage at the university. While the older CodeYard machine came back up with no problems (yay FreeBSD 6.1!? too bad about the 3 years uptime, maybe) the EBN is stuck somewhere. I’ll have to fiddle around to find the ILOM password, I guess, or in worst case go over there and sort it out at the console (which is not a little trip I would look forward to, as it’s hella stormy today). Expect medium to major delays.

Freedom! (Document-wise)

Wednesday, March 31st, 2010

Today, March 31st, is Document Freedom Day. It’s a day in which we (for some fuzzy meaning of “we”, but including at least Free Software developers) stress the importance of Open document formats. Those are formats which are documented as an Open Standard, which is to say that their syntax and semantics are both described in a fashion that is available to the public and well understood. Plain text is such a format, and it works well for certain kinds of unstructured documents — stories, essays, etc. Well, assuming you know what character encoding is used and that the hardware encoding is understood as well. If you want a little more structure, then something like LaTeX can get you markup and layout and whatnot. However, LaTeX can be a terrible mess and understanding just what a given document does can’t really be decided except by running LaTeX over it and waiting for output.

A really Open document format has a standards document attached to it, one that defines exactly what the syntax and semantics are. Preferably a standards document that is controlled by a trustworthy standards body — one in which procedures are documented and followed and where the public interest is served. That way, you end up with a document standard that is stable, well-defined and useful.

In theory, anyway.

So of course this is all hinting at ODF (OpenDocument Format), which has a specification (v.1.1) and a process for updating the specification when needed. I believe the specification itself has its issues — it really is difficult to specify syntax and semantics with rigor — but it gets the job done and, most importantly, is written in good faith and available for everyone to implement on a royalty-free basis. The latter is important because we want to play by the rules but also need to enable current and future implementations of tools that use the document format without restrictions.

Document Freedom Day focuses on ODF, but it’s about all Open document formats. And about implementations — for ODF, we have OpenOffice.org and KOffice and the GNOME office tools. There are also command-line tools and applications that process ODF files without being WYSIWYG editors. Or consider OfficeShots, the side-by-side comparison tool for ODF applications. Again something that is enabled by royalty-free use of the standard.

As I’ve been writing this, Document Freedom Day celebrations have been kicking off in various places — for instance, in Baarn, not 80km from where I live (but I’m in no state to travel there) or Slovenia.

You can find other (brief) comments on DFD from Julia Klein or Carlo Piana.

In sickness and in health

Monday, March 29th, 2010

It’s a tale any parent would recognize: now that my sniffles are nearly dried up and I no longer sound like Tom Waits and can speak several sentences without a coughing fit, my daughter Mira has come down with something and is in bed with a fever. Not only that, but the left mouse button on my trackpad has stopped working (what, you think I’m not attached to my machines?) and the EIFv2 has come back with a weakened constitution and atrophied muscles.

Blam!

Sunday, March 28th, 2010

Continuing drought of tech, KDE or legal related posts from me. At the advent of spring, though, our little dead-end-street organized a Guys/Dads Day Out. The six of us (it’s a dead end street with six houses in a row) went shooting, then BBQ, beer. We cancelled the “chop down a tree” bit because the sequence “beer before chainsaws” didn’t quite seem safe. In any case, lots of stereotypical guy stuff. First time I’d handled a shotgun, too (the same applies to the other guys, although some had shooting experience from national service in the army).

Skeet shooting is surprisingly fun, even if you shoot only 40%.

Printemps non O Lent

Wednesday, March 24th, 2010

Back from Vienna: check. Presentation for FSFE successful: check. Gift for MOMC given: check. Color of Danube HTML-ified: 6093D1. Health: still not there. While it’s getting to be severely spring here, I’m still wrestling with the tail end of the epic cold / pneumonia / general malaise that I picked up mid-january.

So I’ve seen a number of things go by that I feel I should have commented on, or reacted to, or written critiques of, but didn’t. Things like Aaron’s 10 challenges for the year; or Jos’ Freedom series; or the how-and-where-to-critique-most-usefully blogversation (ugh, cut out the neologisms, plzkthx). The EIF2 has been updated (in draft form, still) and ACTA has been leaky. The MPL is being re-vamped. The NLUUG spring conference is coming up. Akademy and GUADEC calls for participation have been published.

Running behind terribly on everything, that is.

Oh. Vienna!

Thursday, March 18th, 2010

Huzzah, time to use another Ultravox song title in a blog post. What’s that you say? Mid-80s music references indicate a midlife crisis? Right. But for the first time in my life I’m in Austria for non-skiing activities, and I’ll be doing a little workshop today on Free Software licensing, copyright assignment, business alignment and whatever else I can cram into a few hours and which the participants are interested in. Afterwards, I’m looking forward to meeting some of the Austrian Fellows of FSFE and – who knows – gazing out over the Danube.

What midlife crisis?

Wednesday, March 17th, 2010

I’m in a train, listening to old Metallica on an iPod while reading government documents about software procurement. Was this ever a career choice my ninth grade teachers gave me?

It’s a time of change for me in Lent, as the MOMC is going back to work as a manager and organizer for an NGO that promotes mathematics to schoolkids — that means I’ll probably blog a little more about elementary schools and maths here. But when she’s working, that means I need to shift my schedule a bit to bring kids to school and swimming lessons. Fewer late nights for hacking, which means it will just have to move into the day.

Let a Thousand Licenses Bloom

Tuesday, March 16th, 2010

A software license lets you do something that you otherwise would not be allowed to do, given the limited permissions granted by Copyright law. That is, it changes the “all rights reserved” into “some permissions granted and all other rights reserved.” Which permissions those are depends on the license; which exceptions to “all rights” exist depends on the jurisdiction under which you’re operating (e.g. while “Fair Use” is something you can do in the United States, that concept doesn’t exist everywhere).

There’s lots of software licenses. There’s even lots of Free Software licenses. The Free Software licenses all grant you permission to do at least four things: use, study, modify and share. Sometimes they allow more. The BSD license allows proprietization. The Apache license allows the use of patents embodied in the software (important in jurisdictions with patents). The GNU General Public License allows you to format shift (e.g. you may publish a GPL licensed program as a T-shirt).

The flip side of permissions is that of conditions: often the permissions are granted provided that you do something else. For instance that you pay for the permission (a proprietary, commercial license would require that). Or that you give the source code of the program to recipients of the binary (as the GPLv2 says). Or that you send your modifications to the original author if you distribute the code in modified form.

The conditions may also include a condition that the same license applies to derivative works. The GPLv2 has such a condition. The EUPL has such a license (plus an escape clause). The CDDL has one. This kind of condition creates an “species” around a single license of like-licensed software. Such a species has software individuals that can be freely combined and modified and shared, since it all falls under the same license.

This kind of condition also creates a division, one between species, because you can’t “breed” between species. The conditions of licenses of two different species cannot be satisfied simultaneously, so you can’t do it. As a consequence, we see that the same functionality is developed multiple times under different licenses. Some might call that wasteful. It’s out in the open, though, and reimplementation only needs to happen once for each species, so the waste of effort is limited. Who knows how much sloth and useless duplication occurs behind closed doors? In any case, we find that a license with conditions creates its own species and that most software combination works within that species.

So-called “permissive” licenses can cross the species divisions, simply because they do not have any conditions that prevent them from being integrated into another species.

If you’re a software developer who is combining pieces of software which are under different licenses, you need to be aware of the species differences. Indeed, sorting out which code can be combined with which can be a considerable effort. The FSF lists dozens of Free Software licenses and whether they’re compatible with the GPLv2 and the GPLv3 — and even the GPLv2 and GPLv3 are different species.

So we have two problems with having lots of species: that of duplication of implementation effort (yes, I too have had to ignore an available Free Software component that did what I needed and had to re-implement it badly because of license incompatibility) and of effort involved in checking for compatibility.

The underlying problem — that of having many license species — is what we call license proliferation: there’s lots of licenses, and more show up all the time. Black Duck software identifies some 1200 of them. The OSI has 60-odd licenses. That’s a lot of extra effort.

So when people ask the FSFE about software licenses, in particular about creating a license with new conditions or that varies an existing one, we say “don’t do it.

That bears repeating:

Do not write a new (Free) software license. Just don’t. Really. Pick an existing license that does what you need. And if there isn’t one, then what you want is probably not a good idea.

I’m aware that’s an argument from authority. That’s not always a good kind of argument to use. However, you need to be aware that in creating a new species (by creating a new license) you’re committing yourself to the whole rigamarole of re-implementation, and excluding people from outside the species.

Now, as with almost every rule (except rule 34), sometimes the rule is just a guideline. People who know what they’re doing can bend the rules.

There can be really good reasons to bend the rules. For instance, new dangers show up that threaten the Free Software ecosystem. These dangers may be a reason to introduce a new license to counter them — patents, for instance. Who would have though, too, of valuable trademarks in Free Software? They’re explicitly mentioned in the more modern licenses. A simple permissive license that disclaims warranty might not be sufficient if regulatory frameworks change. And in some areas of business, existing regulations might require things of a software license that the existing ones do not provide.

So there can be good reasons to change. And in spite of my position that license proliferation is bad, I’m going to applaud the Mozilla Foundation for choosing to look into updating the MPL (coverage from the Register here).

The MPL is a file-based license, not a work-based license, so it creates species in a different way. Clause 6.2 of the existing MPL allows a transparent upgrade procedure, so I think the proliferation aspect of this license update doesn’t need to be stressed. They’re doing the right thing. The content of the license change isn’t firmly fixed yet: Mozilla is still in the comment phase. Results are expected later in 2010. I’m looking forward to meeting some of the people driving the process in Mozilla next month, for a chat over a glass of wine as to which bits of compatibility are the most important.

So here’s to licenses; let a thousand choices bloom.

PS. Ideally, I think that each license would make a clear statement about what it means in each of the essential areas of licensing. Unfortunately, those “essential areas” have changed over the years, so many do not do so. I hope for a clear new world where we have a small collection of modern licenses (say, Apache v2, GPLv3, MPLv2 and a new permissive license) that define the main species of Free Software.

PPS. Although I think that this applies to every blog post, I think I should add explicitly here: this post does not reflect an official FSFE position on the Mozilla license.

KDE 4.4.1 and OpenSolaris

Friday, March 12th, 2010

Oracle has confirmed that they’re doing something with OpenSolaris, it’s not being sunk to create a diving reef or anything, so the folks who have been putting effort into KDE4 on OpenSolaris can carry on a bit. There’s KDE 4.4.1 packages available (that link, which includes a specific port number, may be valid only through to mid 2010). A number of crashes has been fixed. Debugging information has been improved. There’s still a little weirdness in q_atomic_decrement every now and then, but on the whole it’s good to use.

It’s also usable on Sun Ray 5 (which has version 4.2, I think). My OSOL machine runs SRSS (following the installation instructions on the Sun Ray wiki for OSOL 2009.6) and I can run a KDE4 session both on the local display and on the Sun Ray DTU, quite acceptably.

I took a look at the “Come out as part of KDE” guidelines, those for distro’s in particular, and find that for the distributions we should (?) be writing something like this:

OpenSolaris 2010.03 comes with either GNOME 2.2.26 or Plasma Desktop 4.4 and many applications like the GIMP 2.10, Amarok 2.3.3, F-Spot, Digikam and many more.

I’m not sure why we’re putting words about the available GNOME components into our distro’s mouths, and the sudden (maybe I haven’t been paying attention) appearance of “Plasma Desktop” is a little strange. My initial response is “that’s nice, Thomas, but I wanted a Bud Lite^W^W^WKDE.” Certainly because GDM’s session manager is going to say “KDE” as session type, not “Plasma Desktop” for the foreseeable future.