Older blog entries for mjg59 (starting at number 52)

Hacked on netapplet, that fine and outstanding piece of work from Rob Love and Joe Shaw. For code that's touted as being Suse specific, there are only three functions that need any amount of hacking at all. I've put a Debian compatible version here. It seems to work well for me - it'd be nice to know how well it works for others.

Frankly, with code like this it's easy to see why Rob's book broke so many sales records, and why Joe is not only Novell employee of the year but tipped as the outside chance in the US presidential race. Regardless of the outcome, I look forward to seeing him on the Gnome foundation board next year.

Debian-legal continues to fascinate me. On the one hand, it's done a massive amount of good work - large sets of software have been relicensed under Free licenses, and in some cases licenses themselves have been rewritten in order to avoid unintended reductions of freedom.

On the other hand, many of the regulars seem unhappy with the makeup of the Debian Free Sofware Guidelines. One thing that's often overlooked about the DFSG is that they aren't purely a list of freedoms that Debian considers necessary. The document also contains a set of explicit compromises - points which we can look at and say "Yes, it would be nice if that weren't the case, but that level of freedom is good enough anyway". Clause 4 is an explicit compromise based on the fact that patch clauses make life awkward but don't really prevent you from doing anything (anyone who claims that they do isn't being imaginative enough when it comes to build systems). Clause 1 has a fudge for the Artistic license.

Now, oddly, while it would obviously be socially unacceptable to say things like "I think DFSG 3 should be removed", the same doesn't apply to DFSG 4. I find this interesting. I agreed to the DFSG because I believe they strike the right balance between freedom and pragmatism. And, fundamentally, as an operating system Debian depends on both of these things equally. Until the point where there is a clear consensus that the DFSG's line is drawn in the wrong place, we should reject efforts to compromise these practicalities to the same extent as we would reject efforts to compromise the freedoms that we consider so important.

There are already signs that this is a problem. It's been suggested that copyleft licenses (such as the GPL) are only free because they're explicitly mentioned in DFSG 10. While I see the DFSG as defining a fairly straight line, others see that line as being somewhere further out to the side with clauses 4 and 10 being bulges that stick out to grab certain items that were considered strategically useful at one point.

Part of the problem is that it's not clear where the majority of developers do see the DFSG's free/non-free line as being. I'm inclined to think most would be closer to my viewpoint, but I have no way of telling. When Debian was smaller, it was more practical to establish this - the original Social Contract discussion only generated a couple of hundred or so emails. Nowadays people don't want to talk about it, which is fairly unsurprising given that any mention of the DFSG nowadays is fairly doomed to spark a few hundred mails with approximately no information content. I'm not sure how to solve this. Bruce's attitude would probably have been to just write a policy statement and get people to agree to it - is that sort of thing still possible? Is Debian too big for us to get a majority of people to say "The line is here, even if I don't necessarily think it should be"?

20 Aug 2004 (updated 20 Aug 2004 at 13:33 UTC) »
Jeff mentioned that Canonical have decided not to ship any non-free drivers as part of the main distribution. That makes me happy - I'd managed to get the opposite impression at one point, so knowing it's not the case is good.

Something I didn't really emphasise in my previous post and which I probably should have done is that large quantities of the work being done by Canonical is going straight back into Debian. This isn't something like Xandros where any cool stuff they produce gets kept for their pay-ware distribution. Everything I've seen so far indicates that they're good community players, and it is genuinely exciting to see a company try to fit in so well. Under no circumstances are these people the bad guys. Canonical will be raising the standard of Debian-based distributions - it's Debian's job to keep to (at least) the same standards. Exciting times lie ahead.

What have I been up to, then?

I went (along with about half the planet, it seems) to the Canonical conference for a few days. On the plus side, they're working hard on producing a slick Debian system that just works. I'm glad I was able to contribute something towards that goal while I was there. On the down side, they have less of a commitment to free software than Debian. Not in itself a problem, but unless Debian actually gets its act together they're going to have all our users and free software will possibly suffer as a result. Debian is only an effective lobbying organisation because we have users. If we want to be able to represent the area between the FSF and the OSI (and, for better or for worse, that's what many people do see us as - we're the acceptable face of free software without straying into the realms of letting people getting away with whatever insane license terms they want) then we need to think about why people would rather use a branched version of Debian than Debian itself.

Fundamentally, Debian is vulnerable to anything that is actually a better Debian. The Debian-based distributions have mostly failed in this respect because they're fairly commercial and don't attract the developer community. Fedora failed because they underestimated what has to be done to actually create a community at all. Canonical have the benefit of immediate buy-in ("We're Debian, so you know how to work with us") and an already existing developer community. If anything is going to kill Debian, it's this.

Strange as it may seem, I don't see this as a bad thing. If we can't actually get our shit together and demonstrate that our development model works, we deserve to lose. And regardless of what happens to us, Canonical are putting money straight into free software development. It's nice to see so many people with such an obvious commitment to producing the best OS they can.

Debian

Currently working on documenting various parts of Debian (the project, rather than the OS) and dealing with SPI over what needs to be done to get the open use logo under a DFSG-free license. It'd be nice to get this sorted out in a way that can be used as a model for other projects - currently people are excessively keen on using copyright law to protect their trademark rights. Grngk. Packaging goes on as normal. There's a distressingly large quantitity of dreadful code out there.

Gnome

gnome-about now produces names in a random order and doesn't dump garbage to stderr. I win.

ME

I now have quality tat available. Show how much you fanboy rml or disliked the Matrix sequels by buying my excellent merchandise.

7 Jul 2004 (updated 7 Jul 2004 at 10:42 UTC) »
MJ Ray wrote in http://mjr.towers.org.uk/blog/2004-6.html#qplmjg:

QPL specifies Oslo

The copy in libcwd doesn't. Given that there's no permission granted to modify the license, that's a more obvious problem with the package than the license itself.

the desert island test is commonly also linked to DFSG 1 (as it costs to notify), 6 (because private study is often accepted as a field of endeavour), 7 (because we may be able to send to people who cannot send back)

We can happily construct a fringe case that would render the 4-clause BSD license to fail the same criteria. Bobby BSD-zealot obtains a nice new copy of Debian. He thinks it's so great he engraves an advert on a large sheet of metal that also happens to be covered in solar cells on the other side. The advert makes great claims about how wonderful Debian is (as it bloody well should do), and lists several of the features. One is how the included libdb1-compat package makes it easy to run obsolete applications on a current Debian system.

Poor old Bobby gets shipwrecked and ends up on a desert island. Thankfully his laptop washes up alongside him, along with a pile of blank CDs and his large metal advert/solar panel (obviously God is a Debian user). Overjoyed by this, Bobby is even happier to find that there are other people on the island, and they all have laptops too. Sadly, they're all running Windows. But thankfully Bobby can burn them copies of Debian and the world can be a better place.

Or can it?

Because the libdb1-compat package contains a copyright file that states:

3. All advertising materials mentioning features or use ofthis software must display the following acknowledgement:

This product includes software developed by Harvard University and its contributors.

Oh no! Bobby's advert doesn't display that acknowledgement. And, even worse, he doesn't have the tools to fix it (all the people washed up seem to have arrived with laptops, but nobody got a screwdriver. Poor Bobby). In order to comply with the license, Bobby must be able to fix his advert. But he can't. Ok, so he can destroy it instead. Except that his laptop will no longer have a power source, and he still won't be able to distribute Debian to all his new-found friends. The disappointment in the poor Windows users is so great that they rip Bobby apart and eat him. Ironically, the bone shards remaining afterwards would have sufficied to modify the advert. Bobby's death has made his software distributable.

Damn you 4-clause BSD license! Damn you!

Now, obviously, this is a stupid example. But should it be taken as meaning that the 4-clause BSD license is non-free, or should it be taken as meaning that the 4-clause BSD license is a silly license that we shouldn't recommend to anyone?

The GPL's 2c requirement that programs that emit copyright information when run interactively continue to do so discriminates against the blind, since they're actively forced to read (via braille) or listen to it, whereas those who can see can skip straight over it. I'd call that a fairly onerous restriction ("I have to listen to three lines of boilerplate every single time I want to look at a postscript file?")

If I end up on a desert island with a pile of GPLed binaries and the written offer for source I had has been eaten by sharks, how can I legitimately pass those binaries on? Stuck on a desert island, wanting to bring free software to the masses (well, one or two other survivors), and I can't. Bugger, eh? If a plane flies overhead and drops a note claiming that I'm infringing a patent and instructs me to stop redistributing at once, I can't engage in further distribution. Shame I can't actually fight the case because I'm stuck on a desert island, but still.

We can always find arguments about why individual licenses aren't free. The question is where the line gets drawn, and for the past few years that line has been moving. Should it be?

the FSF's four freedoms

Oh. Have we started listening to the FSF when it comes to freeness again?

there is no evidence given to favour debian-legal changing standards over debian-legal increased effort and increased capacity to investigate border cases instead of just leaving them to the "no consensus" catch-all.

Of course there is. A post to Debian-legal in 2000 says

In my opinion, the biggest conflict isn't 6c (though 6c could be a problem to someone doing a local distribution in a "third-world" country).

So 6c had been analysed back then. The issue was understood. But this didn't result in claims that the QPL was non-free, despite the fact that we were already shipping it in main. At time A, we appear to have decided that it didn't matter. At time B, we appear to have decided that it did matter. How is this not a change in standards?

I should really make it clear that I don't necessarily think that a change in standards is a bad thing. What I think needs answering is whether there's any sort of consensus on whether these tighter standards are a good thing.

6 Jul 2004 (updated 6 Jul 2004 at 20:25 UTC) »

Fun time at GUADEC, culminating in the advisory board meeting and a rather nice lunch. Arrived with a bottle of whisky, left it empty and sitting on a table about halfway through. Handy tip for conference attendees in Norway - bring a bottle of duty free and use it to buy friends and influence people.

My report of the stuff that's relevant to Debian is here, but I thought I'd add some commentary.

To a first approximation, we suck.

We're alienating ourselves from our users by taking so long to release, and we're alienating ourselves from our developers and the community at large by holding software to a higher standard of freedom than any other body on the planet. These two problems aren't desperately related, but they're both fundamentally tied to the fact that whoever shouts loudest and longest in an argument still tends to win, because most of our developer body is still concerned with development. Which means that it's the extremists who tend to win unless the matter is actually taken to a vote, at which point we tend to discover that the developer body is actually fairly moderate.

The release cycle argument tends to be made through repeated assertion - people often claim that our slow release cycle is what wins us friends in the corporate world (Netcraft had a story on Debian being the fastest growing Linux distribution a few months ago. Despite our last release already being 18 months old at that point), which I generally interpret as meaning that we might as well give up on anything that makes us superior in any technical respect because people will use us anyway. I'm more inclined to think that long-term support is more of an issue, and on paper we really don't deal too well with that at the moment (we're saved by virtue of the fact that we release so rarely...). Fixing that so we can support a distribution for ~2 years even if we've released another one in the intervening period is hard, but not impossible. We ought to start thinking about what would need doing and then work out how practical it is rather than pretend that it's never going to happen.

The legal situation is more fun. Looking at the past 3 GRs, we can see that:

  • Developers want to keep non-free
  • Developers want the DFSG to apply to everything in Debian...
  • ...but they would rather release Sarge than delay it until that's been achieved

Which, to me, suggests that the set of the developers who care enough to get involved think that a DFSG-free distribution is a good thing (so we're not mostly made up of warez-bunnies) but that releasing a distribution is also a good thing (so we're not mostly made up of DFSG-extremists).

So, why is there so much of an issue with debian-legal at the moment?

As an example, let's take the QPL. The QPL contains a couple of problems. 6c requires that you provide patches back upstream if somebody asks for them, and the license states that disputes shall be settled in Amsterdam City Court. 6c is a problem if you receive a request from upstream but get shipwrecked on a desert island before you get to carry this out - arguably this would break DFSG 5 ("No discrimination against persons or groups") because we'd be discriminating against people who've been shipwrecked. Requiring people settle disputes in Amsterdam also discriminates against those who can't be represented there (lack of money, for instance).

So, problems.

But is this what we meant?

The QPL was previously declared free, not so much because we didn't read the license properly, but because our standards have changed. Or, at least, debian-legal's standards have changed and they're currently the closest think we have to an arbiter of freeness (strictly speaking it's ftp-masters' problem, but still). This hasn't caused a great deal of discussion elsewhere, mostly because every time someone tries to bring it up they rapidly lose the will to live after being hit with a barrage of "Chinese dissident" stuff. debian-legal contains rather a large number of people who are willing to argue, which is sort of the point, but if developers as a body disagree with the standards currently being used then they're going to have to make a stand at some point.

Which is, really, the point I'm trying to make. Lots of people disagree with various things about Debian, but nobody's taking a stand at the moment. I know what my standards of freedom are, and I know what my opinions regarding releases are. The problem is that I don't know how many other people feel the same way. I have suspicions, but I have no idea how accurate they are. Do debian-legal represent the mainstream opinion? Do we think that releases should be more frequent? Should we ignore the mainstream opinion and do the "right" thing anyway?

Buggered if I know.

Mono is potentially awkward because chunks of it are potentially under a bunch of patents that nobody will actually point at and which are owned by a company that wants us dead. Java is almost certainly awkward because chunks of it are potentially under a bunch of patents that are owned by a company that behaves in a massively schizophrenic manner towards us and would probably be reasonably happy if we fell off a cliff or something as long as our code didn't vanish. Oh, and we don't actually have a free compiler that implements all of the standard language functionality or some such madness and we can't actually call it Java unless we agree to let Sun molest our cat whenever they want to. And Python is, well, Python.

Now. Here is a question. I want you to think carefully about it. The answer is written on the line below the question. Do not read it until you've decided on your own answer. Cheating will lead to loss of marks and may result in pointing and laughing.

Question: Is the appropriate response to this situation to accuse each other of being worse than child molesting Nazi terrorists?

Answer: No. No, it isn't. GET A FUCKING GRIP, PEOPLE.

mathieu:

The only driver I've actually checked this in is the Orinoco one, but it reports link status by printk()ing something. This is fairly useless. I can't see any reason for the drivers /not/ to report this kind of thing in a useful way, and it'd certainly be nice to have userspace be able to do DHCP when I move within range of an access point rather than when I bring the interface up. You could probably hack something by looking at signal strengths, but it doesn't sound ideal.

In further news, I successfully hacked the BIOS of my X40 and now have a working wireless card. http://www.srcf.ucam.org/~mjg59/thinkpad/bios.html has some details.

I've written a page providing all information I have regarding the Thinkpad wireless card situation. Further information (compatibility with other models, for instance) would be helpful.

43 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!