Thu, 08 Dec 2005

ccontrol 0.6: ccontrol controls harder.

Ccontrol 0.6 (as announced on Freshmeat). Using it daily now, have become addicted.

If you're a developer, please try it and give feedback. I'd like to do a 1.0 release.


[/tech] permanent link

Mon, 05 Dec 2005

ccontrol 0.5 released

Get the goodness here. Great for ccache and distcc. At least two satisfied users now!

[UPDATE: 0.5.1 released. Tony spotted a disabled-for-debugging blotch in ccontrol-init.]

[UPDATE: 0.5.2 released. Martin Schwenke reported a bug because he used it as root.]


[/tech] permanent link

Sat, 19 Nov 2005

Overstating the Legal Problem, Missing the Real Problem

Lawyers see online distribution as a legal problem: there is a base assumption that people are thieves only restrained by the law. This means that "copyright is doomed" and radical change is required for "the digital age". The two economists who spoke on the second day of the Copyright Symposium seemed to find this legal-centered thinking baffling, as do I.

Given the number of my friends who collect DVDs rather than renting them, I believe people really like owning stuff. There is clearly a premium they will pay to own something. This is one reason why legitimate online provision of content can be successful when attempted. Yet when the industry does provide, they place unnatural limits on content which weaken the ownership of the purchaser, undermining their key advantage. Lack of resalability is the least of these: in a practical sense, you have more ownership of an illegally-downloaded MP3 (which you can put on your iPod) than the same song purchased from Telstra's music service. Add in the lack of competition between online outlets, overpricing and dismal range (which should have been another great strength of online distribution), and the pattern seems clear to me. More stick is poor replacement for carrots.

The industry has failed to provide for over seven years now. The longer this goes on, the more customers learn that all legitimate offerings suck, and the only real way to enjoy content is to get it from unauthorized sources. From a policy point of view, copyright holders are not holding up their end of the copyright bargain, and it's damaging us all.


[/IP] permanent link

Biennial Copyright Symposium 2005 Copyright-o-rama

I spoke on the copyleft model in software, for 10 minutes as part of a panel. I was particularly careful to stay within the bounds of software, and leave it to others to draw any analogies to other industries. (Many attendees here work for "big copyright" or the collecting agencies).

I was, perhaps, too gentle. Michael Fraser of CAL finished with the "copyright is property just like any other property" extremism which has served them so well ("People are stealing our stuff! We need stronger laws!").

Nonetheless, I learned many things. Some minor, like what sui generis means. But more about how lawyers think.


[/IP] permanent link

Fri, 18 Nov 2005

Japan Outside Tokyo

Alli and I spent 6 days in Japan, getting back this morning. As always, I really enjoyed my trip (although I finished my talk very early and had to tread water for some time on the last slide). The Japanese are always such excellent hosts, and this seems to have rubbed off on the foreigners living in Japan as well. This trip was especially great because Alli was with me, and because I got outside Tokyo. We spent a couple of days in Kyoto. Would have loved to do some hiking around there; should have spent more time.


[/self] permanent link

Tue, 08 Nov 2005

ccontrol 0.4: time flies when you're procrastinating!

Thanks to some patches and excellent feedback from the Big Cool Guy in the office, 0.4 is out, about 11 hours after 0.3.

And it breaks everyone's config files! Change "[global]" to "[*]" and "parallel" to "cpus" (or even better, delete the line if you've only one CPU).


[/tech] permanent link

ccontrol: Control your compilations

After some years(!) of being an inside-Ozlabs project, the Tridge-inspired ccontrol has been released. This version has no GUI, but a helper script to write your first config file (now ~/.ccontrol/default rather than just ~/.ccontrol).

I find it useful for controlling distcc and ccache centrally. Bug reports welcome.


[/tech] permanent link

Fri, 04 Nov 2005

iTunes on Linux!

I installed the Open Source SharpMusique on the weekend (gory tech stuff here), and for the first time browsed the iTunes store. I entered my credit card number, email address and password, and bought a song fine. After some tweaks, bought another single and "The Sound of White" (Alli is a Missy Higgins fan).

So I have only two gripes remaining with iTunes itself. One is fairly superficial, in that I'd like FLACs (although with my ears, a complete waste of bandwidth) or OGGs, instead of the open-but-less-prevalent AAC format. Alli's Rio Karma doesn't play AACs, so her songs have to be recoded. I only listen on my laptop, so it doesn't matter to me.

Second gripe is the lack of range. Of course we know that Sony isn't present in Australia because they're trying to encourage piracy (or some such madness?), but even looking at the US iTunes site (you can browse any country's iTunes site with SharpMusique), it's a damn long way from having everything you might want. With shelf-space not an issue, this is not really excusable: an online store should really shine here. I wanted to get Jean-Michel Jarre's classic Oxygene. Nope. What's interesting is that I probably wouldn't search the CD bins for it, even though it might be less that $17 these days.


[/IP] permanent link

SharpMusique

I installed the Open Source SharpMusique on the weekend (installing the Ubuntu .deb file fine on my Debian unstable system). Two problems: View Album didn't work, so I had no way to buy a whole album, and the song I bought was saved as

" -  - .m4a"
. Played fine under Totem, so I renamed it correctly and bought another. Same deal.

I reported the problem in a comment on Jon Johannsen's blog entry announcing the 1.0 release, and there are now two fixes available in the further comments: a trivial one which fixed the Album problem, and a larger patch (munged from being entered into a comment box) which fixes the name problem.

Rebuilding the deb from the arch repository was non-trivial though, but the 1.0 tarball doesn't have the debian/ subdir. So: grab source as per the web page, using baz, install libtool, run ./autogen.sh, then run dpkg-buildpackage -rfakeroot. You must be online for the ./autogen.sh, as it downloads and unpacks stuff.

Tried to send a donation, but PayPal took away Amex as an option when I got down to setting my country to Australia, and then refused to accept by Visa. Sorry Jon, maybe later.


[/tech] permanent link

Mon, 31 Oct 2005

'clinging to constitutional arguments'

Thoughtful and insightful commentry from Kim Weatherall on potential constitutional issues of over-aggressive para-copyright laws (summary: don't expect a deus ex constitution).

Copyright is a removal of property rights. A derivative. Not just "a negative right" in legal terms, but a real economic extraction. You can demonstrate this in many ways, chiefly that the value of this copyright is directly proportional to the value of the copies themsleves. The concentration on "a copyright" as a form of legal property has overshadowed consideration of the more mundane form of property it relies on: the book, the CD, the program, the film. So much so, that when academics lament increasing copyright powers, where do they say these powers are coming from? The ethereal "public domain". Or, to quote Kim again: the "touchy-feely lefty politics of the public domain".

And yet, if these new para-copyright powers were simply extracted from the ether, the government would have the perfect right to assign them in almost any way it desired. You might not like them mining these newly-found islands, but you can't argue direct harm.

However, giving copyright holders more power inherently means taking power away from owners; strengthening copyright law inherently weakens property law, because that's where copyright comes from. Back when we were talking about removing your right to publish copies of books you bought, and placing those rights in the hands of the author, this was all academic navel-gazing. The extraction was so small you probably didn't notice the burden: I'm guessing you don't own a printing press anyway. There's a believable argument that this small tax created better books over the long run.

The "free-money" model of longer and stronger copyright powers with noone having to foot the bill has led us to arguing about removing the right to play PlayStation games. Or DVDs, or CDs. And all future formats. (Worse, we're removing the right to create independent DVD-playing software, etc). The removal is non-trivial, burdensome and directly a result of para-copyright laws. This clearly disturbed Kirby J in Stevens v Sony .

Imagine a scenario where a remote landowner says "with the invention of the internetcar, my area is more accessible. More people are trespassing on my land: that's stealing!". So our parliament passes a law which says rural landowners can put up fences on the approaches to their land (ie. beyond their actual borders), and shoot any unauthorized person who crosses them. Now, you have a small farm, and you need to use those same approaches to play DVDsaccess your land. And that's about where we are with anti-circumvention law today.


[/IP] permanent link

Tue, 25 Oct 2005

The Economist on Patents in IT

As Kim Weatherall points out, the Economist is running a special on IP (really, patents) in IT. While acknowledging that there are issues with current IP law, they like the phrase a "market for ideas". (BTW, Kim, The Economist have endorsed 14+14 copyright twice that I am aware, the second time as an aside).

The Economist, despite vigilance, does sometimes stray from pro-capitalist (free market good) and pro-capital (current incumbents good), and this is one of those cases. While they offer the usual commentry about the patent system not working well, they don't weigh in on what to change; without this analysis, they seem to feel the problems are cosmetic. They don't see anything wrong with patent trolls: they like the concept of idea factories, and who wouldn't? Too bad noone seems to be actually doing this. One interesting point is their belief US & Europe will balance their IP policies once India and China start to become "IP producers".

The actual market, of course, is not of "ideas" but of "exclusivity of ideas": an extremely perishable product which requires significant infrastructure. In other words, high costs are inherent, not cosmetic. You need lawyers and a government warrant to create one, and you certainly need lawyers to trade in them. "Deep markets" need many players and much trading, not high barriers and increasing costs which are the current trend.

Ideas are currently traded, in existing markets, encased in real products and services. The "idea market" is parasitic on this market: ideas are extracted and sold separately on the patent market. Note that this is the important market: unused ideas are useless. The migration from a fairly well-functioning marketplace with decreasing barriers, to a poorly-functioning marketplace with inherently higher barriers is attractive for businesses, but should be extremely concerning for everyone else, such as the Economist.


[/IP] permanent link

Wed, 19 Oct 2005

"It's like there's a party in my mouth. And everyone's throwing up."

That was how Michael Neuling described the indescribable taste to the new "Passionfruit Mint" Tic Tacs. Alli discovered them and purchased them. I handed them around the office. I can only hope that somewhere in the headquarters of TicTac Inc, the executive responsible is being flayed alive as a warning to others.
[/self] permanent link

Wed, 12 Oct 2005

A Well-Tuned Crap-o-meter

One thing I gained from working on the kernel: a good sense of when code is crap. If my code is good, it is not because I am smart, but because I refuse to release stuff which stinks, so I'm forced to spend time cleaning it up. The harsh environment of the linux-kernel mailing list trains you to do this yourself.

I'm reluctant to harshly criticize the code of others, because I am aware how hurtful such words can be. On the other hand, without such harshness, you end up, say, using a helper thread in the implementation of a library. Not because you're stupid, but because you haven't developed a pavlovian shudder at the thought of releasing such a thing.


[/tech] permanent link

Tue, 11 Oct 2005

Netfilter Workshop / Summit

Good weather in Savilla. I imbibed a little too much on the Friday night celebrating the cluefulness of the Australian High Court, so was less effective on the second hacking day than I would have liked.

Some points included:

  1. A solution for Peer-to-peer NAT and BEHAVE: Jesse Peng provided the idea. Basically, a P2PNAT target which keeps a hash table to ensure we don't allocate the same source IP/port to two NAT connections. This allows us to do hairpin NAT (it probably needs to set up an expectation to catch these). Also needs to set a flag so TCP window tracking will allow simultaneous open, and not drop immediately on RST (the latter can happen if the other end firewalls).
  2. Nfsim seems to be attracting more of a following in the core team. Joszef committed window tracking tests! Harald wants netlink support, and also an actual nfsim release. I applied updates for 2.6.14 (thanks to Max Kellerman), and cleaned up the tests a little.
  3. More thinking on the use of a hash trie and progress. There are several benefits for speed and scalability, although the are still fairly sizable tuning questions. Martin Josefsson is playing here.
  4. Possible simplification and scalability improvements on the expectation code. It's more general than it needs to be at the moment.

[/tech] permanent link

Sat, 08 Oct 2005

Sony Stevens Surprise

Unfortunately I am in Spain with no other Australians to celebrate with. But celebrate I will.

The best and most reliable information, as always, is found on Kim Weatherall's blog: I've read that, Matthew Rimmer's excellent points, and most of the decision itself.

I have previously expressed the opinion that the best outcome would be for the court could rule against Stevens, but in such a way that did not make mod-chips illegal. To do so, they could have decontructd the measures circumvented into one which inhibited copyright violation (a TPM), one which prevented backups from working (not a TPM), one which prevented one from playing third-party games (not a TPM), one which prevented playing overseas games (not a TPM), etc. The question then becomes: "did Stevens's mod chips have no significant commercial purpose other than circumventing the TPM" and the answer is "no". Do general mod chips have no significant commercial purpose other than circumventing the TPM? Yes. Such a decision would have neutered any argument that our laws are insufficient without the extreme overreach that Sony was proposing.

But I'm happy despite the coming shit-fight over the implementation of 17.4.7 of the FTA which this decision has guaranteed. I'm happy because one thing shines through: the highest court in Australia understands that this is a question of copyright trumping normal property rights (or rights over "chattels" as the court says, which I had to look up on dictionary.com).

Music and movie industries argue that copying == stealing, although it's obvious that the mere act of making a copy doesn't deprive anyone of anything. Removing the legitimate propery rights of others, however, is stealing, clear and simple. The courts have balked at supporting this theft; will the government?


[/IP] permanent link

Sat, 01 Oct 2005

Kater's Restaurant, Pepper's Manor House Sutton Forest NSW Australia

Fine dining, relaxed, traditional soft lighting. Had to stop Alli licking plate of entree. Warm bread rolls, a coke and a dry ginger ale. Alli had the Goat's Cheese Tart, wrapped in potato with pear jelly and balsamic drizzle, I the Pan Fried Praws with fennel salad, both small appetizers. Alli's main was the Beef (medium) with mashed potato and beans. I had the Crispy Skin Barramundi with asparagus and kipfler potatoes in a light tomato and butter sauce. Both meals standard fine-dining size. A glass of Wynns' blend for Alli and a South Australian Zinfandel for me. Mint icecream between thin chocolate layers, and a cheese platter (blue, brie and cheddar, with crackers quince paste, and sliced pear). Visa and Amex. $161.95
[/food] permanent link

Bushranger Hotel, Collector NSW Australia

Country atmosphere with recorded music in plain sheltered beer garden. Good pub food, we liked it. Lunch: two cokes and we split a Mixed Grill (steak, lamb, sausage, egg, bacon and chips with tomato chutney), and a Greek Salad. Visa no Amex. $36.60.
[/food] permanent link

Friendly Inn, Kangaroo Valley NSW Australia

Pub atmosphere, solid food, no surprises. Old solid wooden tables on stone floor at back of pub. Visa no Amex. 2 schooners of Coopers Pale, Chicken Schnitzel with chips and salad, Steak Sandwitch (scotch fillet) with onion marmalade (ie. fried onions). Mostly finished. $36.20
[/food] permanent link

Sammy's Kitchen, Civic ACT Australia

An old favourite for me, we both thought it was yummy. Noisy, crowded, quick, no tablecloths, licensed and BYO. Visa and Amex. Four of us: Alli had a lemonade, rest had water, Lemon Chicken, Chicken Tempera, Honey Beef, Curry Beef, steamed rice. A little left over. $54.00
[/food] permanent link

Sat, 17 Sep 2005

"I've tried to explain this a few times to you but you're simply ignoring the facts"

There are three things I've learnt, the hard way, about software. The first, and the root of the other two, is that you must fear complexity above all else.

The second is summed up in Worse is better: that simplicity is virtue in itself, and a greater virtue than anything else. This must be carefully applied to the whole system, however: if you create an API which is simple, and has a simple implementation, but forces complexity on the user, you're not winning.

The third learned from Linus Torvalds, who once said his job was to say "no". People always want to add features, but a maintainer's job is to weigh the environmental damage. This, too, stems from a fear of complexity.

The title quote is from an irritated user who believed I was ignoring all evidence that a feature was necessary. This happens reasonably often among programmers who weigh features as a virtue: any potential use justifies a feature. As it turns out, he actually produced a really good reason for the feature in that same EMail, so I will be implementing it.

Wasteful as this process might seem (yes, it would have been easier to implement the feature the first time around), it represents a hard-won understanding that I am simply not smart enough to get things right the first time. So, fearing complexity, I implement as little as possible: simplicity is easier to fix.


[/tech] permanent link

Fri, 16 Sep 2005

Pizzazz Cafe, Kingston ACT Australia

Mid-size cafe with outdoor chairs (only for the brave unless it's summer), our regular breakfast spot. Modern, lots of windows, casual but trendy, licensed. Visa no Amex. Alli had Orange Juice (fresh-squeezed, milkshake-glass), Peppermint Tea and Apple Ricotta Hotcakes with Rhubarb and Berry Compote, and I had a Cappuchino, Orange Juice and Eggs Benedict with Ham. Alli didn't finish hers (last time I had them I didn't either). $40.50.
[/food] permanent link

I can never remember, was this the place with the good Eggs Benedict? So I've decided to start writing up restaurants as I go to them: not really a review, just whether we liked it, what we had, how much it cost. Especially since I've been saying for a while now that I want to try more of the restaurants in Queanbeyan. Hopefully this means one place will appear per week...
[/self] permanent link

Soraya's Thai Restaurant, Queanbeyan NSW Australia

Open just 8 weeks, Alli and I both enjoyed it. Small (but with an outdoor area at the back), modern, tablecloths, simple menus, casual, BYO. Visa, no Amex. Alli had the Mixed Entree and the Pud Thai and a coke, I had the Crispy Fried Won Tons and Vegetable Chilli Jam Stir Fry (labelled Mild, and it was mild-to-medium) and we both took home leftovers. $43.20.
[/food] permanent link

Wed, 14 Sep 2005

Conferences Coming Up

I should get more organised in putting my travel plans up here; I often get interesting invitations from people when I do.

I'm in Spain (Savilla) for the Netfilter Workshop 3th - 7th October, then heading across to the UK 8th to 13th to meet with the Xen guys in Cambridge.

I'm in Wollongong 20th October to see the tradeshow of final year CS students and give a 20 minute talk to them. I have to think about a good topic for this one. Alli is coming with me.

I'm in Tokyo for Linux Kernel Conference 2005, 9 - 11 November. Alison is coming with me here, too, and she's never been to Japan before! This time I plan to see more of Japan than just Tokyo.

I'm on the panel of the "copyleft" session at the biennial ACC Copyright Symposium on the 17th November at the National Maritime Museum in Sydney.


[/self] permanent link

Tue, 13 Sep 2005

Linux Australia Draft Submission on Anti-Circumvention

As summarized in Kim Weatherall's blog the Standing Committee on Legal and Constitutional Affairs is holding a narrow review into exceptions needed for the anti-circumvention laws we must introduce due to section 17.4.7 in the Australia-US Free Trade Agreement. Since we're not allowed to introduce any exceptions for anyone who "manufactures, imports, distributes, offers to the public, provides or otherwise traffics", these exceptions don't help Open Source authors or businesses. So our submission concentrates on the missing language in our law, which has been effectively added by courts in the US (ie. Chamberlain v. Skylink).

It should be quite readable: here it is in LyX format, LaTeX format, Postscript format, or PDF format.


[/IP] permanent link

The Taken play Pot Belly, 23rd September 9pm

If OzLabs had an anthem, it'd be sung by The Taken. For two reasons. Firstly because they are cheap. But also because their last gug didn't suck!
[/self] permanent link

Mon, 12 Sep 2005

Fernanda Weiden on Women in Free Software

Groklaw ran an interesting article on Women in Free Software. Interesting, because in the five years since I last mentioned this, I've heard much speculation on causes, but not much on solid solutions. Fernanda is in a position to know what can work. Not sure that I can do anything to help, though.
[/tech] permanent link

Fri, 09 Sep 2005

Git: An Experience in Pain

I had the opportunity to try to use git today. Having used bzr and mercurial and been favourably impressed, I guess my expectations were fairly high.

As it turns out, far too high. There's no clean way to get git (apt-get would have been nice, but a tarball to compile would have been fine too), so was given Debian packages by Stephen. Set up an rsync repository to hold the .hg files. You can't use "git-push-script" on that empty dir, so rsync the original files across. Then you to use "git-pull-script" you have to add .hg to the URL: my mistake, should have just rsync'ed that dir.

Now try to push. The man page for "git-push-script" says what you'd expect, so you do "git-push-script rsync://machine/mydir/.hg". "Cannot push to rsync://machine/mydir/.hg". Er, ok, why?

AFAICT, grovelling through the scripts, the man page lies: it doesn't actually support push over rsync. Hell, maybe it doesn't really support push at all; seems you need to rsync upstream manually. Of course, doing this means you can't have more than one user pushing to a repository at a time, which might be fine for Linux, but simply won't work with any kind of core team.

Now I start to understand why the Xen guys chose Mercurial . Linus seems proud of the fact that he didn't write an SCM, just a content-addressable-filesystem, but there's a lot more required to turn that into a usable system than a handful of scripts.

So kudos for Matt Mackall for actually writing a system which is usable; it makes git look like a half-finished school project.


[/tech] permanent link

Sun, 04 Sep 2005

Rewarding Failure?

You're a widget producer, and 40% of the widget retail price comes from packaging and transporting widgets. A new technology comes along, and it can eliminate much of that: you'd jump on it, right?

Not if you're the music industry; they've been fighting against online distribution for over seven years now. People want to be able to download singles and albums, with lyrics and cover art; purchasing them in the same way they purchase CDs, but nobody lets you do that. It took a third party (Apple) to push online music distribution, and they still don't do what you want: you can't upload onto non-Apple MP3 players (except burning to CD and re-ripping, with the associated loss of quality), you can't sell "your" music.

The reason is two-fold: firstly, online distribution is a form of copying, so unlike trucking CDs around, you need permission of the copyright holder. This means, by law, they control the online market in a way they don't (or shouldn't) control the offline market. Secondly, having been given a monopoly on distributing copies, the music industry has come to believe they have a natural, inalienable right to control all uses of the music. They really don't believe you actually own music when you buy a CD. Most people will disagree with this, resoundly.

Sheltered from a free market for so long, the industry reacts to change with horror. Their instinct when the Internet became widespread was not "whee, we can cut costs and get control of distibution!" but, amazingly, "we can't put things online without stronger laws which allow us to control more uses of our music". To give the government credit, it might not have been clear at the time that furthur protectionism was simply rewarding failure, but it's become increasingly obvious. Legal or no, online copying is what the marketplace wants, and the industry has failed to supply, so unauthorised copying is the rule.

So, what's the solution? The Economist suggests 14 year copyright (with an additional 14 years on request). That would certainly work to create a healthy online music supply industry, but is extremely difficult in Australia due to our treaty obligations. Hence, for the specific case of online distribution, deregulation is required. A compulsory licensing scheme would promote competition among distributors (that a compulsory license is a deregulation of the market shows how extreme a regulatory framework we are currently suffering). My preferred method is that the prices be set by the online distributor, but a reasonably high (up to 80%) royalty be paid to the copyright holder. This high rate leaves room and incentive for direct negotiation, but still allows online stores to supply a wide catalogue from day 1.

The benefits from this are multiple. Firstly, the existence of a competitive market for online music is the best way of reducing unauthorized online copying. Secondly, the market can decide which formats to supply, ensuring that we don't indirectly lock customers into certain technologies (such as music which only plays on the iPod, or on Microsoft Windows). Thirdly, attractive online services promote the spread of broadband and infrastructure, giving Australia an edge over other countries in areas unrelated to music. Finally, the efficiency increases particularly help those in remote locations, who do not have access to huge (offline) music stores which only exist in cities.


[/IP] permanent link

Tue, 30 Aug 2005

Alli Gets a Horse

Horses eat about two bales of hay a week, and hay costs about A$20 a bale. In that time you can ride around 300kms. A car gets about 500km on 40l of petrol.

So clearly, Alli is betting that petrol will exceed $A1.67 a litre soon.


[/self] permanent link

Mon, 29 Aug 2005

Now with old links

Turns out you can just use "/<date>" at the end of blosxom URLs to get all entries on that date, so I hacked in the old links on the sidebar, including the pre-blosxom plain-html entries. So now you can browse freely...
[/tech] permanent link

Sun, 14 Aug 2005

Anti-Commercial Licensing and Wikipedia

Kim Weatherall picked up my comment on the unimportance of blog copyright, which was merely an amplification of her earlier point that most uses of blogs are fair, anyway. One clarification, though: when I said "blog licensing is much less important than software licensing to me" I was referring to this blog, not ones which contain useful information like Kim's.

Meanwhile, more support for my "anti-commercial licensing terms (CC-nc) are harmful", in this case the upcoming Mandriva publishing of Wikipedia. Wikipedia has an interesting array of different image copyright issues to deal with. Mandriva (ex-Mandrake) is a commercial entity which makes quite a good Linux distribution, and wants to put the English and French Wikipedias on their upcoming DVD. Sounds great; they're in the business of packaging, testing and distributing stuff you could assemble yourself, and it's good for Wikipedia.

Of course they have to remove all the images which are non-commerical, but also "Fair use images ... to comply with worldwide copyright standards, not US only.". Replacement images can often be found, but fair-use sound samples such as The Beatles' Yesterday are not so replacable.

Remember, friends don't subject friends to !


[/IP] permanent link

New Trivial Patch Maintainer: Adrian Bunk

Adrian Bunk pushed a pile of my old trivial patches through to Andrew, and so I offered to hand to him the time-honored position of Trivial Patch Monkey. I haven't read my mail to trivial for months, and he accepted, so I bundled it up, despammed it a little, and forwarded them to him. I also set the trivial patch monkey mailing address to forward to him. The reason I let it lapse was because Andrew generally performs the same job, but perhaps someone will still find it useful.
[/tech] permanent link

Wed, 03 Aug 2005

Licensing and The Knee-Jerk Reaction Against Commercial Entities

The blog licensing thing gets worse, as John Quiggin claims Attribution/ShareAlike/Non-commercial license is the "best default rule".

Please note that blog licensing is much less important than software licensing to me, since (1) most uses of my blog will be excepted from copyright anyway under fair use/dealing/reasonableness, and (2) a handful of people (hello to you both) read my blog, millions are touched by my code.

In a nutshell: the GNU GPL does not have a "non-commercial" clause. If it did, it wouldn't be an Open Source, or Free Software license. This latter link is particularly useful in this context.

The ecosystem built by this, with sellers such CheapBytes (who made their money selling $2 mail-order CDs in the early Linux days), magazine sellers, small consultants and large companies, has fuelled the growth of Free Software and put us where we are today. That's because the license says what you can and cannot do, and doesn't make restrictions based on your motive.

Consider this from Quiggin's blog:

But if Hollywood wants to use bits of the blog in the forthcoming hit movie Crooked Timber of Humanity, they are not confined to the CC license. They\u2019re free to fly me to LA, and make a stupendously generous offer for the commercial rights.

Without the Non-commercial clause, Hollywood could just take the blog without permission, that is true. Their movie would then be under Attribution/ShareAlike. Think about that for a while and realize that the Non-commercial clause is not stopping Hollywood, but it is stopping everyone else who might want to make a commercial contribution.

There's a knee-jerk reaction against commercial endeavor which tends to be worse in people with leftist-leaning politics. I made it for free, so no capiltalist pigs should make money from it! Only on deeper reflection do we see that the ShareAlike license requires collaboration, so if someone makes money doing so, they're helping us anyway, so why worry? That's how we got the Internet after all: telcos, ISPs, PC manufacturers and network equiptment makers didn't give it to us because they were feeling charitable. I'm disappointed that the Creative Commons have a non-commercial clause, but they are hoping to attract commercial publishers, who want to keep the blanket ban on competition. But it reinforces permission culture.

That Quiggin takes this path despite training as an ecomonist demonstrates either a lack of deep thought on this issue, or that he uses economics to justify his leftist dogma, rather than to examine issues. (This paragraph was about as polite as I could make it).


[/IP] permanent link

Mon, 25 Jul 2005

OLS nfsim Talk Slides

Tue, 05 Jul 2005

Creative Commons Licensing: Just Say Yes

So I've joined the Australian Blog Licensing Frenzy and formally licensed my blog under Creative Commons. (I realize that blogging about changes to one's own blog risks taking blog-masturbation to new levels). Note, however, that I've licensed under the most liberal terms available short of public domain: Attribution. I like attribution on works because it allows me to find other works by the same person; it's not arduous to ask other people to maintain this information as they copy.

Why not share-alike? Because I want to maximize the usefulness of my work, and others have chosen more restrictive licenses: this would block them from copying. They'd just end up wasting their own time because they can't just copy my work: it's unlikely to force them to change their license.

Why not no-derivs? Because that's not actually helpful: "you can mirror my work for me, but you can't actually change it in any way". In the Open Source world, this corresponds to the Raymondian (aka "free labour") school of thought.

Why not non-commercial? "Non-commercial" is a trap much freely-distributed software fell into before we congealed around a handful of licenses: Linux itself had this restriction before changing to the GPL. It reminds me of 1999 when a reporter asked if I was envious of how much money the founders and CEOs of IPO'ing companies were making relative to us techies. I'd honestly never thought about it before. People who think it's unfair become CEOs or found companies, I guess, and more power to them!

So to me it seems a strange line to draw: as long as you obey my license, why shouldn't you make money on it? You're not costing me anything, so why should I put any "ask me for permission" barriers in your way?

When your neighbour wins the lottery, do you complain it's unfair? After all, you might have won the lottery if they didn't! Or do you congratulate them and ask to borrow the Ferrari on weekends? If the latter, and you're not making money on your blog, I'd suggest dropping non-commercial from your CC license, and wishing those who try to make money all the luck in the world...


[/IP] permanent link

Fri, 24 Jun 2005

So I followed a link from Spinnwebe which is where I get my dose of oddball humor from since the Dysfunctional Family Circus days, and came across something which really impressed me. I'm not into comics, but New Gold Dreams is a really appealing webcomic. I hope he keeps it up, although it must be a real drain to produce three such pieces a week (shown by the large gaps in the timetable). I was hooked from the opening.


[/self] permanent link

Sudoku Revisited

Andrew Bennetts send Email pointing out that with Python 2.4, you can use the built-in set type, which speeds my sudoku program by a factor of more than two: indeed, a simple change makes it only 57x slower than the C implementation, vs 120x.
[/tech] permanent link

Wed, 22 Jun 2005

I might need this some time, please mirror.

Thanks.
log.asc:
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQBCuSPmmQB/awB95bcRAo8GAKDHeiNiRh+qqbdJA8sklVAJcaIVZACZAfmu
jIW/p/eeY5JKuzxHefUAspQ=
=swxL
-----END PGP SIGNATURE-----
Screenshot.png.asc:
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQBCuSPWmQB/awB95bcRAiZ8AJ0QtLD33ankXyS0G/TNALMMIZsVJACgv6Ht
eGsjNdsKd3Xz3x8lMCva9mM=
=0Vn+
-----END PGP SIGNATURE-----

[/self] permanent link

Tue, 21 Jun 2005

This IP stuff is complicated!

Spoke with Tim Gaden, free-lance journalist writing a short article to appear in September's APC magazine on Open Source IP issues. Discussion took an hour, and ranged over software patents, the swpat fight in Europe, anti-circumvention, and the AU-US Trade Agreement. They're separate and complex issues, but they're all potential threats to Free/OSS software. People who read this blog know that they're issues I feel strongly about, but here they are in sound bites.

Copyright provides overly strong protections on software (trade secret on source + copyright on binaries, world'd richest man due to software copyright, ongoing monopoly problems). It is hard justify additional incentives, such as patents, which imposing massive costs on small developers (rproxy, ffmpeg, landmine, no other industry gets both). Add in the flawed nature of the patent system (business method patents, hyperlink patent), and it's a nobrainer that software development is better without patent "protection". See my previous document on this.

Laws which seek to ban "digital lockpicks" (aka circumvention tools) should be focussed on things which have no significant purpose other than copyright violation. This encourages manufacturers to ensure digital locks protect their actual copyright rights, rather than locking up all access in a landgrab for control. Consider region coding: a manufacturer wouldn't protect this by a digital lock if it risked giving a valid excuse for manufacturing digital lockpicks. As it is in Australia (and even more so in the USA), the law protects the lock itself as long as there's a copyright somewhere nearby. So manufacturers use it restrict as much as they can, and you don't actually "own" what you bought in a real sense.

The Australia-US Trade Agreement binds us to some things we already do (such as the one year to file a patent, which prevents us implementing a serious obviousness test). It also forces us closer into line with the US's dreaded DMCA, which is the worst overreach of anyone's laws in this area. Nonetheless, the government seems to be listening (now the negotiations are over), so it's slimly possible we will end up with something more sensible.


[/IP] permanent link

Mon, 20 Jun 2005

Letter to Minister for Communications, Information Technology and the Arts

I'm concerned about online copyright violation; the root cause seems to be the abject failure to supply, especially in Australia. This is a clear result of too much monopoly power, so the classic answer is to weaken the monopoly and allow the free market to resolve the failure. In copyright terms, that tends to mean a statutory license. Hence I wrote to Helen Coonan, and that department (who, it turns out, are no longer responsible for Copyright) forwarded it to the Attorney General's Department. Here's the letter, and the reply.

The Hon. Helen Coonan,
Senator for New South Wales
Minister for Communications, Information Technology and the Arts

Dear Ms. Coonan,

You may have noticed an article two weeks ago in The Australian which intimated that Australians are being driven to music piracy by the lack of availability of reasonably-priced music online.  No doubt there is at least a germ of truth in this, but the true impact of the problem has not been fully explored: consider the case of the phenomenal spread of broadband in South Korea, driven in no small part by their accompanying laxity  in copyright enforcement online.

I am not suggesting that we follow South Korea in this regard, but the relationship between widespread availability of content online and the spread of broadband is clear, with all the benefits such a spread brings.  However, it is also clear that the wide-eyed and destructive approach the music industry have taken to online distribution, and particularly their refusal to compete, is becoming an increasing source of discontent for the public who want to do the right thing.

Unfortunately, the future of music distribution is looking bleak for consumers.  Anyone can set up a CD store today: simply buy CDs and start selling.  This has provided a fair degree of competition to sell music to consumers.  However, distributing online happens to involve copying, which our Copyright Act prohibits.  Because music distribution in the future will be online, noone will be able to set up a CD store without the express and ongoing permission of the publishers.  The result is that the music (and movie) labels are set to extend their monopoly on copying to a monopoly on all distribution.

More efficient methods of distribution are crucial to a country the size of Australia, and encouraging their use is a sensible government policy.  We must be extremely wary of handing control of distribution to a group who have litigated to prevent such distribution since 1998, placed far more restrictions on online music than on CDs, and whose failure to supply begging customers leaves those customers with few good options.

Thus, I urge you to consider a statutory licence for online distribution, similar to the existing compulsory licensing for radio play and covers.  For example, a $50,000 license for online distribution, and a compulsory royalty of 50% of the sale price to be split between the performer and the author.  Done decisively, this would encourage real competition as well as innovation in distribution, promotion and music formats.  It would delight the public and significantly reduce unauthorized distribution, which will drive further broadband adoption.

Importantly, it will increase the revenue seen by artists, as well as allowing independent artists to sign their own deals with the now genuinely independent distributors.

The current recording industry will hate it.

I look forward to your consideration of this matter,
Rusty Russell,
Canberra.

Here's the reply, received late last week and scanned in:
[/letters] permanent link

Solving Sudoku in C and Python

As an intellectual exercise (I hate puzzles) I wrote a quick C program to solve sudoku puzzles. Then I wrote a Python version (almost, but not quite, "my first python program").

The python was shorter, 150 lines, vs C 260 lines. Time to code is not comparable since I am not fluent in Python, but I can believe that the Python version would have been quicker to write if I was. But hacking both versions to loop 100 times reveals the Python is about 192 times slower (oops, fixed, now 120 times slower). So it's not free.

I talked to Chris about writing a C++ version (presumably using an STL Set), which would be another data point. I'd do a Z80 asm version, except I'm not sure where to get a Z80 assembler these days.


[/tech] permanent link

Tue, 07 Jun 2005

Came up with a nasty hack for Wesnoth: creating a .po file from the Italian which also includes English "hints". Here is a shell script which reads in a .po file, and takes the obvious words out of the (English) key and appends it in brackets to the translated version. This provides enough of a hint for me to read the longer sentences is Wesnoth. It makes some sentences overflow though.

Example:

"Dopo una lunga camminata il Principe Haldric e i suoi compagni si trovano in "
"una spiaggia assolata. Anche se in casi normali questo creerebbe una "
"situazione di piacere ben presto si accorgono della presenza di Sauri al "
"lavoro. (After long trek Prince and his companions find themselves on sunny "
"beach. While normally this would pleasant occurrence, soon find Saurians "
"hard at work.)"

This hack was inspired by the Slashdot story from January Learning a Foreign Language with The Sims . A better solution would be to break it up by sentences, rather than do the entire dialog at the end. When an English word has been shown some number of times, it would no longer be shown. Mousing over the sentence would give the full English sentence. But this was quick!


[/tech] permanent link

Sun, 05 Jun 2005

Exceptions revisited: the destructor relationship

So David White (of Wesnoth fame) made an excellent point on my previous problem with exceptions. The problem of exceptions unexpectedly exiting out the side doesn't exist if every object cleans up in destructors (ie. use RAII . In other words, all state changes must be encapsulated in a class.

This might seem obvious to people who deal with exceptions day-to-day (my C++ experience predates widespread use of exceptions). But encapsulating things in an object has one advantage: the programmer knows they cannot allocate memory in the destructor, The problem comes when not everything has a destructor, as will tend to happen when C code (and C programmers) using "exceptions" like my example.


[/tech] permanent link

Sun, 29 May 2005

Wesnoth

I patched Wesnoth to label how many enemies can reach each spot in "Show Enemy Moves". I jumped on freenode's #wesnoth channel, and the friendly people there directed me to #wesnoth-dev, and there to the mailing list. Patch sent. The code's not super clean, and C++ is pretty icky, although the my vague memories of the Standard Template Library and some cut & paste got me though.

In other news, I figured out why Wesnoth didn't change languages for me: when you install Debian you specify which locales to build, so running "dpkg-reconfigure locales" and adding Italian fixed it. I'm now playing Wesnoth in Italian (I figure it can't hurt my horrible Italian skills). Reading Italian Wikipedia is beyond me: I can't figure out what an Inkling is!


[/tech] permanent link

Anti-circumvention Legislation and Open Source Forum: Sydney 2nd June

Most people know I love giving presentations. The few who've heard me speak on IP issues know that they are the exception: I find the entire area depressing. Nonetheless, I'm up again, at Baker McKenzie on Thursday. I'll take a DVD and demonstrate the terrible power of Open Source, which governments like ours should rush to ban.
[/IP] permanent link

Mon, 23 May 2005

C++ Compilation Times: An Update

Ian Wienand pointed out that dropping the -O2 from compilation removes the unitialized warnings from GCC, which are useful. Unfortunately a recent Debian upgrade broke my Wesnoth build, so I can't measure the time taken by "-O" instead of "-O2".

And Chris pointed out that gnome terminal is slow with anti-aliased fonts. My tests gave at most a 10 second reduction with no output, but machines and setups vary.


[/tech] permanent link

LCA Kernel Hacking Tutorial Links

OK, Robert put the core of the material up, but OpenOffice 1.2 crashes trying to open it (he uses 2.0). Here's the complete version, including the "political" section at the end.

Please note that the final driver is far from perfect: it should really use waitqueues, and Greg Kroah-Hartmann sent me some fairly trivial code to make the SHA accessible as a sysfs attribute. But it's a start.


[/tech] permanent link

Wed, 18 May 2005

Compile times with C++

As everyone knows, I'm a huge Wesnoth fan. I found an interview with the lead developer from last year on PCTechTalk where he complained about compile times with g++.

So I downloaded the CVS and did some testing, and sent him the results. Most of these are probably fairly obvious to people, but the figures are interesting:

  1. Raw build time
    make clean; time make > /tmp/out
    487.80user 26.41system 8:59.65elapsed
    
  2. Build time without -O2
    make clean; time make CXXFLAGS=-g > /tmp/out
    193.98user 14.84system 4:00.92elapsed
    
  3. Built time without -O2, one file touched
    touch src/global.hpp; time make CXXFLAGS=-g > /tmp/out
    191.53user 9.52system 3:43.92elapsed
    
  4. Build time with ccache installed, one file touched:
    touch src/global.hpp; time make CXXFLAGS=-g > /tmp/out"
    10.45user 2.04system 0:37.46elapsed
    
  5. Built time with ccache, one file touched, output to screen:
    touch src/global.hpp; /usr/bin/time make CXXFLAGS=-g"
    10.73user 2.06system 0:47.85elapsed
    

Summary: don't use -O when developing, use ccache, use distcc. If you're still not fast enough you can try suppressing all screen output (probably not worth the pain of not seeing what's happening), or using pre-compiled headers (in recent gcc versions).


[/tech] permanent link

Mon, 09 May 2005

Talloc and longjmp: the danger of exceptions

So I added a few lines to talloc, to allow me to set a handler for out-of-memory. The Xen Store Daemon had a fair bit of code like so (do_rm):

	permnode = perm_node(node);
	if (!permnode) { /* ENOMEM */
		send_error(conn, errno);
		return;
	}

	/* Figure out where it is. */
	permpath = node_path(conn->transaction, permnode);
	if (!permpath) { /* ENOMEM */
		send_error(conn, errno);
		return;
	}

	path = node_path(conn->transaction, node);
	if (!path) {
		send_error(conn, errno);
		return;
	}

	if (!delete(path)) {
		send_error(conn, errno);
		return;
	}

	if (unlink(permpath) != 0)
		corrupt(conn, "Removing permfile %s after %s removed",
			permpath, path);

Since a reasonable action on allocation failure is to drop the connection to the client, I set the talloc_fail_handler to do a longjmp back to the core code, which talloc_free'd the connection, cleaning everything up. No more talloc failures!

The patch was 84 insertions, 255 deletions. Great, now I have code like so:

	permpath = node_path(conn->transaction, perm_node(node));
	if (!delete(node_path(conn->transaction, node))) {
		send_error(conn, errno);
		return;
	}
	if (unlink(permpath) != 0)
		corrupt(conn, "Removing permfile %s after %s removed",
			permpath, path);

Neat, but the obvious next step is:

	if (!delete(node_path(conn->transaction, node))) {
		send_error(conn, errno);
		return;
	}
	if (unlink(node_path(conn->transaction, perm_node(node))) != 0)
		corrupt(conn, "Removing permfile %s after %s removed",
			permpath, path);

Now this code has a subtle bug, which was obvious when writing code which had to handle node_path() failing to alloc and returning NULL: we can end up with the perm file not being unlinked, as the allocation in the unlink line fails. I'm pretty sure I wouldn't have noticed this if I had written using exceptions the first time.

By letting the programmer ignore error handling, exception mechanisms create subtle bugs: the worst kind. Its the same rationale against "return" statements within macros: it might save lines of code, but don't do it. I've left the change in there for the moment, but I'm a little frightened that I've traded off some typing for a new way to shoot myself in the foot...


[/tech] permanent link

Tue, 03 May 2005

Geoffrey Blainey Needs a Good Editor/Proofreader

I've long felt my knowledge of history was far too poor, so I picked up Professor Geoffrey Blainey's "A Short History of the World". I read "The Tyranny of Distance" in high school, and now I remember there was a sentence in it I deeply disliked for its awkward form. I was reminded by this sentence, in "A Short History", on page 52:

A vat was also used for trampling with bare feet the grapes brought down from the vineyards on the hills.

How about "The grapes were brought down from the vineyards on the hills and trampled with bare feet in a similar vat"? Or even "A vat was also used for bare-footed trampling of grapes, which were brought down from the vineyards on the hills"? The awkwardness of this sentence threw my concentration enough to blog about it.

Then on page 54, consecutive paragraphs:

At times the expanding population was cut back by epidemics. ...
Then in the paragraph immediately following:
While the new way of life provided more food and so increased the population of the world, it fostered viruses which periodically cut back the population.

This kind of repetition is, I gather, what an editor is supposed to catch and persuade the author to rework. That said, the book is quite good so far. I can't vouch for its accuracy, of course, and I'd love some Wikipedia links from various places, but it's still quite readable and interesting.


[/self] permanent link

Sun, 01 May 2005

linux.conf.au Kernel Tutorial Revisited

Several people have contacted me to say that the tutorial I gave at linux.conf.au wasn't as bad as I claimed. Particularly Tom Parker who said it was "the highlight of the conference for me". Thanks Tom, but I was still disappointed.

Many people have given feedback and suggestions, and if I do it again I'd do the following:

  1. Reduce the problem: say do a programmed I/O rather than DMA,
  2. Make people write the first "hello world" driver as part of the homework, so they know what programming level we expect for the tutorial,
  3. Give them the answers and the slides encrypted and give them the keys to decrypt them as we go

I've been thinking about smaller groups: I know a 20-person tutorial would have been far better. I wonder if we could get some great programmers, and have attendees sign up for a "programming style" tutorial. Semi-randomly assign attendees to each programmer, and have them lead their group in solving a problem (which they've seen before, so they have a prepared solution). With programmers like Tridge, Rasmus, Martin Pool and some lesser-known ones like Anton Blanchard, it'd be a hoot! Maybe it's s dumb idea, but I can assure you that I learn a lot by just discussing coding with these people...


[/tech] permanent link

Sat, 23 Apr 2005

Eben Moglen's keynote gained a standing ovation, well deserved. It was one of the best presentations I've ever seen on Free Software / Open Source.
[/IP] permanent link

LCA Dinner

I was touched by Steven Hanley's decision to give the proceeds of the annual T-Shirt auction to SIDS and Kids.

In my theory that the Free Software community is empowering more non-hacker types, Andrew Pollock and I rated all the screensavers in Xscreensaver either "geeky" (0) or "arty" (1). eg. something which solves a maze or draws a fractal is geeky, and something which draws pretty blobs on the screen is arty. There are many borderline cases of course. Then, with help from Jamie Zawinksi, who gave me the dates of all the xscreensaver releases since 1.3, we graphed the "artiness index" over time, which shows a slight increase in artiness.


[/tech] permanent link

Thu, 21 Apr 2005

linux.conf.au Kernel Hacking Tutorial

I was disappointed with the tutorial. We tried to be interactive and have people write their own driver, but we lost about 50% of people through the tutorial. But as it was, we had to abandon the interactive approach and run through the last half of the material in the last quarter of the presentation. Writing a PCI driver was clearly too much, although it seemed logical to write a driver. My patch series, lightly annotated, is here

Some people were having problems getting the device to fire an interrupt: it occurred to me later that perhaps qemu doesn't always initialize the interrupt lines correctly, and writing a "0" to the control word of the device would clear it (something which also needs to be done by the driver so it can get a second interrupt).

The highlight was getting to present with Robert Love , whose book has apparently sold out on campus already.


[/tech] permanent link

talloc

Tridge gave a great keynote today. In particular he exposed everyone at LCA to talloc. I'm a big talloc fan, and I usually fear change.


[/tech] permanent link

Eben Moglen

I had the opportunity to sit down and have a good talk with Eben Moglen today. Although I know full well that legal opinions from hackers are about as useful as code from lawyers, I expressed my viewing of Copyright as a weakening of property rights. As noted previously, it's not a worldview I had come across before.

Well, it turns out that this was one of his arguments in the FSF's Brief Amicus Curae in Eldred vs. Ashcroft so he at least doesn't think I'm completely crazy!

While I am sure that this language is legally robust, to my unschooled eyes it lacks punch. Especially in that it refers to the Public Domain, rather than explicitly pointing to the rights being removed from the individuals owning copies, ie. the weakening of their property rights by removing one right from the bundle .

The "public domain" implies noone owns something: actually, once a copyright expires, that "right" is restored to all possessors of a copy. This right is clearly part of the normal "property rights" bundle, and clearly has a value.


[/IP] permanent link

Thu, 14 Apr 2005

ANZ called my boss today at work, who transferred to me. They wanted to discuss "a letter they sent me last week... you have been PRE-APPROVED for a credit card which gives 1 frequent flyer...". Fuckers. We may have an existing business relationship, but they're abusing that fact to spam me by mail and phone knowing I can't just throw them in the bin / hang up on them. Grrr...
[/self] permanent link

linux.conf.au Linux Kernel Hacking Tutorial

Robert and I finished the tutorial material which people need to complete before the tutorial. There's a fair bit to do, so go to it...
[/tech] permanent link

Thu, 03 Mar 2005

So I have been speaking with the Xen people, and I have failed to convert them to my way of doing inter-partition I/O. I believe my method is simpler and cleaner, but theirs is more mature (I have a prototype). At the core, they explicitly map another domain's memory into their own for bulk data transport. This leads to lifetime and accounting difficulties with malicious domains, but also complexity from the Operating System's (ie driver's) point of view. In my model, the domain registers a scatter-gather list which returns an ID, and another domain then asks the hypervisor to transfer data in or out of that scatter-gather list. The registration step is amortized quite well by using a recycled pool of skbs (for my network driver example), so it's still about one hypercall per transfer; my preliminary results reflected this performance parity. It can also be used N-way triggering. However, the real benefit is the similarity to normal DMA, which makes drivers which look like "normal" drivers.

My other difference was that my "event channels" were bound directly to a physical address, rather than explicitly to an identifier. The other end said "fire off anyone bound to this address". This simplifies binding while still enforcing security, which is implied by sharing memory. The implementation was also a little more flexible than the event channel model used in Xen: when creating an event channel the OS passed a pointer to a domain-private atomic int. On every trigger, that was decremented, and if zero, caused a virtual interrupt. In my example network driver, the driver bound an event channel to the address of every scatter gather id, with the each decrement pointer pointing into its internal data structures, and all triggering the same interrupt. When that interrupt occurred, it would scan those structures for a value <= 0. Xen uses a simple "triggered" bit array in a fixed location, which I like because if its simplicity.

So I'm now implementing "bind to address" event channels in Xen, to see how useful they are. I can then add one feature at a time to see what effect it has on the OS drivers, which is the interface I care about.


[/tech] permanent link

I am now sitting in Langrish House, where I am visiting Richard Moore and the IBM Hursely facility tomorrow. This is a pleasant atmosphere to program in, although last night was taken up with much Wesnoth (Dark Hordes campaign).
[/self] permanent link

Wed, 09 Feb 2005

Travel plans in a couple of weeks. Going to Cambridge, UK to meet with the Xen guys, which was planned after Alli and my holiday was booked. Arrive Monday 21 Feb, and leave for Helsinki two weeks later on 7 March, before starting our planned holiday (Ivalo then Italy). If anyone has a LUG or something they want me to talk at during those dates, I'd be happy to do so (Alli hates it when I mix holidays and work, but since IBM is paying for some of the trip, it's OK in this case.


[/self] permanent link

Coding in the office slowed down in the last two weeks due to Wesnoth, a horribly addictive strategy game. Not a big strategy fan, but it suckered me in.


[/tech] permanent link

Sat, 15 Jan 2005

Copyright and the Importance of Property

The recent fluff about Commonists[Less] has prompted me to commit my thoughts to electrons. I hope that as a reasonably high-profile programmer (aka. "Intellectual Property producer") with increasing exposure to legal issues (ie. Open Source, US-Australia Free Trade Agreement), they might be worth reading. I've commented several times in private that I feel this is not a Left vs. Right issue, and I think the current debate misses an important point because of the leftist political leanings of those involved.

Copyright allows the markets for easily copyable things to work like markets for other things. If you want to compete with my apple stand, you have to grow apples just like I did. If you want to compete with my autobiography sales, the printing press means you can do it much cheaper than I did, because you don't have to create the original. Copyright approximately makes my books "uncopyable" by others.

It's approximate in various ways: on the one hand copyright is for a limited term, but on the other hand, the barrier to entry is explicitly controlled by the copyright holder, who can set it far higher than they experienced themselves. Nonetheless, one valid aim of copyright policy is to make markets for copyable products more like other markets. This is really a very clever idea.

Generally the debate on copyright has concentrated on the new form of property created (the "copyright"), which is tradable and licensable, and this leads to a debate of "pro-property" copyright holders, and "communist" public commons supporters. This has largely missed the point, IMHO.

The first poorly understood point is that copyright on my work does not give me the right to copy it. It prevents everyone else from copying: a so-called "negative right". As an example, if you own the last copy of my autobiography, I don't have the right to make a copy: it's your property. You don't either: it's my copyright. If you destroy that last copy, my copyright still exists, but is useless. This illuminates something noone ever spelt out for me: that copyright is a weakening of property law. Normally when you buy something, you get all the rights the previous owner had: if you buy apples off me and sell apple juice in competition with me, I have no legal recourse. Copyright weakens property law by not transferring the "right to copy" with sale: that sliver of rights is removed from every copy and remains in the hands of the copyright holder.

Economists have eloquently argued the importance of property law in development and prosperity, and these arguments apply equally to works covered by copyright. Recent "copyright plus" laws which restrict what you can do with something covered by copyright, even if it's not copying, horrify normal people I've spoken with. Not being able to play a DVD using whatever DVD software you choose (important to Linux users) evokes responses like "But it's my DVD! I bought it! Sure, I can't spread copies of it, but of course I can play it!". People respect property laws because they identify with them, and undermining this seems an extremely risky social and economic experiment.

This model of copyright as a right taken away from property law is an important one for viewing copyright policy, because it leads directly to the understanding that copyright is a penalty system, not a reward system. The Nobel Prize for Literature is a reward system; it gives money and fame to authors. Copyright is different, in that it doesn't help authors directly at all: I could make copies of my own works without copyright law. It works by penalizing everyone else, giving me an advantage. This, then, is the lever governments have when dealing with copyright law: to increase or decrease the penalty system. It would seem obvious that the penalty system should rest on us as lightly as possible, while still achieving its goals. When copyright holders insist on "stronger copyright laws", they are directly arguing for a stronger penalty system for everyone else, and weaker property laws, which clarifies the issue.

The traditional focus on copyright, without considering the property which is its source, skews the copyright debate quite badly. Works which are no longer copyrighted are often said to "fall into the public domain">[Wiki]. This is a terrible phrase, which implies that property rights are being destroyed. We don't say that apples, which were never copyrighted, are "in the public domain". Or consider UK singer Cliff Richard's accusation that, as copyright expires, "every three months from the beginning of 2008, I will lose a song"[Econ], as if the songs will no longer exist.

When copyright expires, nothing is eliminated: full property rights are transferred back to those who own a copy of the work; this is a cause for celebration for those of us who believe in the power of free enterprise. And Cliff Richard fans.

Thank you for reading, and feedback is welcome,
Rusty Russell, Linux Programmer.


[Less]
Lawrence Lessig Blog, January 6th 2005, "what a total (intellectual) disappointment this man is"
[Wiki]
Wikipedia, January 15th 2005, Public Domain
[Econ]
The Economist, January 8th 2005, page 53 "Not-so-golden oldies".

[/IP] permanent link