The Fuss about Software Patents
Most people don’t understand what the fuss is about. That’s not their fault, software is just a course of business that’s not easy to understand for a layman. I’ll try to explain some of the problems we (well, the Open Source Community, of which I consider myself a tiny part) see that make the whole practise of software patents so dangerous.
First I’ll describe how one should view programming. I’ll defend the idea that programming is more an art than a science and should be treated as that. After that I’ll try to explain how software patents don’t fit in with the whole “programming is an art”-idea. Following that, I’ll give some real-life examples about how patents can jeopardize legitimate practises and innovation. Finally, I’ll give my own views on what should be patentable and what not and why it’s important to clearly mark those borders.
Please keep in mind, IANAL. I am, however, a (not very good, but good enough) programmer.
The Art of Coding
Although most programmers will not let you believe so, programming is more an art than a science. The same way that building a house is more of an art than a science. Of course, you need to know what you’re doing and there are a lot of different ways to do it. But essentially, if you know the basics, you can start building your house or your program.
While building, you use a lot of tools and of course your experience. The first house you built will be simple. Just like your first “Hello World” program. You’ll start elaborating on that first concept and you’ll find new techniques of doing things. You’ll develop your own style, which will be most probably a combination of styles you learned when you first started.
Just like in the construction works, when you enter the programming world, you’ll need some guidance. You don’t start off building a complete house, you start carting building blocks around, for example. The same with programming, you start maybe with translating work of an Open Source project. (As a sidenote, I think the best ways to really learn programming is (a) get a job in a large programming firm early or (b) start doing work in the Open Source community, either way, you’ll meet a lot of people who know far more about the subject then you do, so you always can ask your questions.) Gradually, you’ll be promoted or do some work on your own initiative. Maybe you’ll build that shed in your garden that you always wanted. Or you create a simple program to resize pictures.
In time, you get more experienced and better acquainted with the tools you have. You get to use structures that you wouldn’t have thought about, when you had less experience and you see possibilities far better. You know which structures resist the elements better and which are safer. You learn about “pretty” building, how to do the most with the least materials. You’re combining stuff into new, exciting combinations, in a way that really makes you say “You know, 1 + 1 really is 3″. You get the most out of your program. And when you’re really good, everyone tries to do the same. They follow your examples.
Of course, there are parts in construction and programming that are real science. Think about the composition of building blocks or the mathematical formulae to solve the “traveling salesman” problem in the shortest time possible. But really, are these parts of construction and programming? I’d call the former “an application of chemistry” and the latter “an application of mathematics”. And both chemistry and mathematics are in my opinion real sciences.
So programmers generally don’t invent stuff. They combine stuff to generate new things and applications. Most people don’t use any program for which the programmer had to invent new stuff, everything was readily available. Only the combination of all those small, little things, makes the program unique.
Art Patents Are Impossible, Copyright Is The Way To Go
Numerous places are citing texts that tell you no novel could be written anymore when we would allow Art Patents. If Edgar A. Poe would have taken a patent on horror stories, (probably) all the works of Stephan King would violate that patent. That’s not what we want.
What we do, however, is copyright. If Stephan King would quote Poe verbatim, it would violate Poe’s copyright (if it was still valid), especially when mr. King would put his own name on the works. But if he wanted to write a sequal to “The Pit and the Pendulum”, he would be allowed to do so. If I wanted to write in the wonderful world created by Katharine Kerr, Deverry, it would be no trouble at all. Even when that story would be a bestseller, the only thing mrs. Kerr could do was ask me to find some other world in which to settle my atagonists. And she probably wouldn’t. But instead of selling my story, I could publish it online, on this blog, for everyone to enjoy. No trouble at all!
And that’s the power of copyright over patents. Copyright encourages new, hopefully better derivative works than the original. And we (speaking as part of the Open Source community again) like it that way! We want others to improve our programs. Hopefully they’ll donate their improvements back to us.
When Microsoft wants to keep their Windows-code closed, that’s okay. That’s their choice, because they have the copyright over the code. But they cannot patent that code or even part of it. That would mean that each program that uses one of the building blocks Microsoft used for their Operating System, would be outlawed.
If, however, Microsoft invented some genuinly new way to solve the herefor mentioned Traveling Salesman problem, they have every right to patent those mathematical algoritmes. I wouldn’t like it, because it would really damage the Open Source movement, but it would be their moral right. I would petition them to “free the code” and all, but I could never demand it from them. (Except, of course, when it was proven they didn’t actually invent to code but copied it from someone else.)
Examples
A lot of people quote the Amazon One-Click patent-problem, but recently some other news is even more interesting: Apple has been sued over their iTunes interface. This is such a perfect example of why Software Patents are a Bad Thing©. Apparantly, Contois Music Technology, the owner of eMusicGear, has the patent for the user interface that’s used by iTunes. So, a user interface (which is an artistic expression, using buttons and colors and the like) has been patented. Which means each new program has to look very carefully where they put their buttons, or else they might violate the patent. That’s just silly.
Again, programming is an art, the same as user interface design. It may be partly a science, but for the most part it’s an art. Deciding where to put certain buttons isn’t an invention. It’s using basic building blocks to achieve something that the building blocks should be used for. How come people can patent this stuff? So each time I make a little program for my father, I’ll have to consult all the patents to see if someone patented the placement of the buttons in the order I’m using them? Silly. And it doesn’t contribute anything but money and power for the bureaucracy.
These things, the interface and the shopping cart, aren’t innovations. They are yet another way to assemble the building blocks that everyone can use. If a constructor would create a configuration with in the middle a door and two windows next to it, would you allow him to patent it? Of course not! Software Patent should be disallowed.
Patents And Copyright, The Right Choice For The Right Subject
Copyright is the stuff you want to use for programs. Not patents. We want derivatives of programs. Not only Open Source Software, closed software as well. Patents in this wat stiffle improvements and innovations. Start-ups would think twice before starting up, if they’re into the programming business. It’s like construction, good companies will prevail, as long as they have a steady flow of ideas and materials (and orders, of course). Software companies work the same, there will be lots of innovation without patents. Far more than with patents.
Patents aren’t a bad thing. They can help to improve innovation. Especially in field where a lot of money needs to be invested to get something viable. Like pharmeutical industry or other chemistry. You can’t simply start pharmaceutical research in your living room. You can, however, do some programming art in your living room (especially with a nice PowerBook on your lap, a cute bunny at your side and a few dogs running around).
Patents are a bad thing for software, though. Only the large players can use those. They can stop those programmers who start in their living room designing new, amazing stuff from the same bricks that are used every day in software development. It’s the configuration of those bricks that matters. And copyright is good enough to be able to make money off of it.
My PowerBook, a continuing story
Well, the person from the Apple store called me back about thirty minutes ago. It appears TNT has lost my package somewhere in one of their warehouses. They’re doing their best to find it and deliver it tomorrow. I can only hope. Not getting my hopes up, though…
Still, Apple did a good job, I think. She’ll call me again this afternoon with an update report and tomorrow to let me know when they will deliver it. Very good. Let’s just wait and see.
Comments Off
Some of my own patches to Widelands
Okay, it was way too hot today to do anything significant (although I did some work I had to do, of course), but I did so anyway. I made a patch for Widelands to incorporate the images Salamander made because I liked them so much
Be warned, this is a dirty patch (hotspots and the like aren’t properly set yet), use at your own risk!
A tarball which you can just use in our already compiled Widelands dir. Just overwrite your widelands/tribes/barbarian/buildings directory with the stuff from this tarball and all will look nice. Well, it do so on my machine. Again, use at your own risk. I’m running the latest Widelands rpm from this directory.
I also made a patch out of it… I think… Somehow. Again, taken against the latest CVS version. You can find it in the same directory or go straight here.
Again, it’s a dirty patch. All the old graphics are still there, which makes the entire directory larger than it should be. Have fun with this and, Salamander, thanks for the great art!
Comments Off
Widelands snapshot built for Mandriva 2005LE
Yesterday I started with building an rpm from the latest CVS from Widelands, a game a lot like Settlers II. Since I’m kinda waiting for them to use some new graphics, I’m going to build the CVS version about once a week. Maybe I’ll setup some script to do it daily. No warrenty on the package of any kind. Use at your own risk and all. You can find the rpms here.
The latest one (20050620) has some corrupted display, like you can see on the screenshot below. I’m sure they’ll fix it soon.
My PowerBook was delivered
Last Friday, TNT assures me. Too bad it isn’t here, though. It was signed for my a certain “Cohes”. Not only an unfamiliar name, but according to our phone-registry, not even someone in my village. So there we are.
Of course I called Apple right away and they would go check with TNT. Could take a day or so.
I’m furious. If they deliver the package on another address because I’m not home, okay, I can understand that. But I was home all day Friday and they didn’t even have the decency to put a note in my own letterbox to tell me which one of my neighbours has the package! I’m really furious.
If you want to do business with TNT, rethink. Apparantly, they deliver your package at another address without any notification at all.
Way too hot
It’s way too hot to do anything outside, so I guess I’d better get some work done behind this computer. My PowerBook wasn’t delivered last Friday, so I hope they’ll deliver it tomorrow. Bart told me it took his Mac Mini two days in “Out for Delivery” before it was delivered. Not a very helpful message, then. Ah well, I’ll survive, of course, but this weekend would’ve been perfect to play with the thing.
Even though I just told you it’s way too hot to do anything outside (it’s almost 33 degrees Centigrade here), I just went biking again. Fixed my bike yesterday and I really want to loose some kg’s this summer. Biking is in my blood. Even though I hadn’t done it in quite a few years (which is really bad, because I love to bike), I biked at the highest gear and for almost 30 minutes and I’m still not really tired. Today I went to the second exit of Doenrade. Tomorrow I’ll bike until the exit of Bingelrade. The day after Jabeek. And then I’ll bike to Schinveld, which is where Monique lives during the weekends
PowerBook almost here…
This morning I noticed that the PowerBook I ordered arrived in Amsterdam at 7:01h… I hope they’ll deliver it today…
Direct Marketing
I absolutely hate Direct Marketing by telephone. I have no objections to anything through normal snail mail (Direct Marketing through email is just simply SPAM and they should shoot every one of them), but being called three times in one morning by people who want to sell me some adspace on a (unused) search-site or anything should find themselves a real job where they don’t have to annoy other people. I’m getting more and more impolite when I talk to those people. Normally, I just kept in mind that the person on the other end of the telephone is just doing his or her job, but lately, I get so many phonecalls that I’m getting ruder and ruder. When I finally have a working Asterisk installation, I’ll block any and all telephone calls that do not display their return number. And of course, I’ll keep a list of all numbers from those friggin’ marketing folks. Maybe they’ll stop harrassing me then. I doubt it, though.
There should be more voices raised against those unethical practises. They cost me time and time is money. I’m usually not as strict about the “time is money” thing, but when it comes to Direct Marketeers, I am. I really think they should make it illegal to bother people with such rubbish.
Do you think the same about Direct Marketing? Do as I do, tell them you won’t ever buy something from a company that resorts to telephone marketing. Ever. Even when you like the offer, don’t buy anything. Nothing at all. If a lot of people say that, maybe they’ll stop. It’s the same as spam, if everyone would just ignore it, it wouldn’t be profitable for spammers to invest time in it.
Mandriva is out to get me, today
Well, apparantly, my computer wanted to screw me real good today. After the rant I wrote this afternoon about the trouble I’m having with Mandriva 2005LE, I’ll add some stuff which I just encountered. Actually, I encountered it before, but then I didn’t want to write it down, because I thought it was all kinda minor. Now, when I have the full picture, it seems a lot of trouble from a distribution that worked so nicely…
- I’m running the NVidia kernel from Mandrivaclub’s commercial packages. Yes, I actually payed Mandrake for their software (a while ago, since then I’ve been VIP). When booting, though, I’m getting an error message about nvidia being unable to install. After that, nvidia runs normally, so it seems like a bogus message. Still annoying and unnecessary. Also, there seems to be no place to report bugs in those commercial packages.
- Every other boot, Alsa doesn’t start properly. And when I say every other boot, I mean every other boot. The first boot everything is okay, the second the emu10k1 isn’t recognised, the third time everything is okay, the fourth time the emu10k1 isn’t recognised, etc. Annoying, to say the least. I have no idea why it does this.
- Also, when the soundcard is detected, when I log in, all sound is muted by default. I need to manually open KMix and unmute the sound. Again, annoying.
- My Netgear WA311 isn’t detected properly. It gives an error during startup. I manually added “rmmod orinoco_pci; modprobe orinoco_pci” to /etc/rc.local to make it work without having to go to a prompt each boot. Note: This piece of hardware worked perfectly under Mandrake 10.1. Actually, that’s why I bought two of them!
- This might not be Mandriva-specific (maybe the others aren’t either, but still, it’s worth mentioning here), but when I have a lot of traffic over my pci wifi card (the netgear wa311 from the precious point), the kernel stops working. Usually, it takes a while before it hangs and my screen is blanked when I notice it. I think it’s an error in the orinoco_pci-drivers or something, not sure. It’s been around since Mandrake 10.0, though.
- Klipper doesn’t start automatically! Why did they disable this? Klipper kicks ass!
Some of these problems might not be Mandriva specific. I’m not sure about that. But the problems I experience make me want to switch to another distro. And I will, one of these days. Probably to Ubuntu, since it works so flawlessly on my laptop.
I’m dissappointed in Mandriva, I really thought they would improve stuff, but it seems all downhill since 10.0. Too bad.
Automatisering Gids en Linux, slechte combinatie
Bart wees mij op dit artikel in de online versie van de Automatiseringsgids. Uiteraard kon ik mijn mond niet houden en heb ik de volgende mail gestuurd naar de redactie:
Uw artikel “Nieuwe versie van Linux-kernel” dat gepubliceerd is op uw website om 15-6-2005 slaat niet alleen de plank volledig mis, maar is zin voor zin niet correct.
Eerste alinea: De kernel is niet voorzien van virtualisatie-tools, de kernel is beter geschikt gemaakt om samen te werken met de virtualisatie-tool Xen. Bovendien is de kernel ook niet voorzien van een release management systeem, de ontwikkelaars zijn centraal overgestapt naar een nieuw versie beheer tool, waarvan de ontwikkeling is aangezet door Linux Torvalds (de meeste ontwikkeling eraan is door anderen gedaan!). Dit heeft niks te maken met de kernel versie.
Tweede alinea: Welke distributie verwacht dan aan het einde van dit jaar pas deze kleine kernel patch toe te passen? De minor-minor .12 is een hele kleine tussen-patch. De opmerking die in deze alinea staat insinueert een gigantische stap vooruit, terwijl dit niks speciaals is. Er komt bijna iedere week een nieuwe minor-minor uit. Nogal misleidende weergave geeft de journalist hier dan ook.
Derde alinea: Xen is geen onderdeel van de kernel, maar een volledig ander project (net zoals bijvoorbeeld Apache een ander project is, of X.org). U slaat in deze alinea dus de plank volledig mis. En “beelden genereren”, wat is dat voor een opmerking? Xen zorgt voor virtualisatie, waardoor verschillende installaties naast elkaar op één machine tegelijkertijd kunnen draaien. Wat u met “beelden genereren” bedoelt, is mij onduidelijk.
Laatste alinea: Een “release management” (verkeerde term, dit hoort “versie beheer” te zijn) systeem is geen onderdeel van de kernel. Het is een manier om aanpassingen bij te houden zodat men deze makkelijk kunnen mergen. Deze aanpassingen kunnen ook in een ander systeem bijgehouden worden, Git wordt gebruikt door Linus zelf, waardoor veel ontwikkelaars ook besloten hebben om hierop over te stappen.
Jammer dat u zich duidelijk niet interesseert in Linux en de ontwikkelingen daarom, maar dat u alleen probeert een beetje met de hype mee te lopen en dan ook nog eens volledig de plank misslaat. Mocht u ooit interesse hebben in een goed gesprek over Linux en alles wat daarbij komt kijken, kunt u mij bereiken op de bovenstaande gegevens.
Ongetwijfeld dat Bart mij nog wel op enkele onderdelen in deze mail kan verbeteren, maar mijn weergave is imnsho beter dan die van de Automatiseringsgids.
Tags: cups, linux, mandriva, openoffice.org, problems, rant, turboprint
Comments Off
Don’t switch to Madriva 2005LE!
As I’ve noted before, I’ve upgraded my Mandrake 10.1 installation to Mandriva 2005LE. I thought this would be a Good Thing™, but alas, I noted earlier also that things were getting quite messy. Things get even messier, after a few months, though.
For the record, I’m using a completely clean Mandriva 2005LE installation on two machines. No packages were built by myself, I update regularly, I know some stuff about Linux to get the more obscure parts working, even. I’ve had some strange things before, but now I’m getting the epithome of three strange things at the same time:
- The printer stopped working. I’ve no idea why. I’ve had this earlier and the only way to fix it is rebooting the machine. I’m using a Canon S600 with the recommended drivers from Mandriva, but I’ve tried the TurboPrint drivers also (I even bought them some time ago, because I liked those so much), but the problem occurs with both drivers. The printer just stops working. I can still send jobs to CUPS and it even reports its working and printing, but the printer isn’t printing. Restarting CUPS doesn’t help. Removing the whole queue and starting anew doesn’t help. A reboot helps. I cannot explain this behaviour and I haven’t tried it with any other distribution yet, but I find it very, very strange.
So no, I’m not sure if this is Mandriva-specific, but still, it doesn’t really bolster my confidence in the distribution.
- OpenOffice.org stopped working. No idea why. It worked a few hours ago. I wrote my document and quitted like normal. But now it refuses to start. I’m not getting an error, no warning whatsoever, even when I start it from the console. It just exits with a 0-status. I tried strace-ing it, but couldn’t find anything helpful. This is just plain stupid. What’s going on here? Why did this stop working all of a sudden? No clue whatsoever.
- When I noted my last problem, I wanted to reinstall the package, just to see if that would fix it. I started with a
urpmi.update -a --wget. All went quiet. No response whatsoever. No error, no warning, nothing. An strace didn’t show me anything useful, so I removed all repositories and am now in the process of adding them anew. Again, this simply shouldn’t happen. One should at least get an error message or something!
I always liked Mandrake, but Mandriva does not live up to the standards. Usually, I would be bitching about that other OS, but today Mandriva needs some spanking. No error message is even worse than an intelligable error message. At least you know when you can stop waiting for a response. I’m furious. I really am considering switching to another distribution. These things shouldn’t happen!
And up again!
However down I was last night, I’m completely up again after this morning. Went to Venlo together with Monique, she had to visit the Tax office there. We went there, went in for five minutes and back south again (an hour drive there and another hour back). We talked so much and had a really great time together. Time flew by. So I’m all better again
Loneliness
Sometimes life is … well, not actually difficult. Hard, would be too strong a term. I’m not sure what to call it. Sometimes you can feel very alone when you’re surrounded by a lot of people. I’m not sure why, still, but again I’m feeling very depressed and lonely. It probably has to do with many things, unrelated or on a subconscious level related. This weekend is again one of my down weekends. It’s not just the weekend, it’s been this whole last week.
I had trouble sleeping, trouble waking up, trouble being productive (and no, it’s not because I seem to be addicted to World of Warcraft, I like to think I can handle priorities correctly), trouble putting a name to the actual depressiveness I’m feeling. It’s when I meet someone online that I really enjoy talking to and during the talks I notice I’m looking for excuses to talk about things that trouble me, that I really know something’s not right. It’s just not my way to talk to strangers about personal stuff and I can’t understand why I would want to.
Maybe when Monique and I are living together things will clear up again, I don’t know. I hope so. She really lightens the load on my heart, just by being close. I hope we can find a place for us, soon. And several new customers, so the company can continue growing. Just a few more and we’re really making a living. I desperatly need my own life.