Archive for January, 2005

Dear Atte,

Friday, January 28th, 2005

I’ve decided to reply to your email on my weblog as I can share my opinions on software patents with a wider audience. Also, lots of my friends have been asking me the same questions that you are: What are software patents? Will they be good for the software industry in Europe? I’m personally against software idea patents (swpat for short) as I don’t believe they are useful. My problems with swpat can be categorised under the following headings

  • philosophical, and
  • economic.
  • Now, I don’t expect everyone to agree with my philosophical arguments however, I think my economic arguments are based on fact or on the realities of the market. Furthermore, I’m not going to reference my points because, as you said, this is just for fun and referencing will take too long. But organisations such as FFII (www.ffii.org) have details of the primary data with regards to swpat.

    Philosophical

    I’m a computer scientist who dabbles in theoretical computer science and automata theory. To me all computer programs are recursive functions. Indeed the set of computer programs is countably infinite (I think) and I can write a program that starts at “0″ and generates all binary strings in alphabetic sequence (over the alphabet {0, 1}). So I don’t see the difference between patenting software and patenting mathematics. Given that society in general believes that mathematics is discovered not invented and therefore can’t be patented I think that software is math and should be treated similarly.

    Unlike heavy construction industries, anyone can create software; you, me, IBM, Microsoft. And we can create software with little initial investment compared to other industries. For example: to manufacture an automobile you need to construct a fabrication plant that costs N million. If you’re going to spend N million on a factory, you really want assurances that your innovative product will not be copied by a knock-off merchant. So you apply for a 17 year monopoly (a patent) on your invention. Creating a software product costs considerably less and protection from knock-off merchants is granted by copyright. If a knock-off merchant is going to reverse engineer your product it’ll take them many months and they’ll enter the market late. Given that software life-cycles are about three years I don’t see why we should give software manufactures a 17 year monopoly.

    Probably the most insidious thing about swpat is that it turns the software using public into consumers. Right now, if you use Free Software you can be a developer, distributor and user. Unfortunatly if patents are granted on fundamental software techniques you will loose these rights. You will loose the right to develop and distribute software that is covered by patents. It creates a group of patent holders who produce a product to do something (like play a new video format) and subject you to whatever restrictions they want. If they don’t want to develop their product for your platform, you don’t have the right to read your files (legally purchased movies) on your chosen platform and have to move to a platform you may not want to use.

    Economic

    A patent costs about €30,000. Which for a business isn’t too much (though it’s too much for me). But what does it give you? A patent gives you the right to sue someone if they use “your” idea. In essence it’s a licence to litigate. Which is pretty useless to a small or medium size business. In the real world a small to medium size businesses can not afford to bring a larger company to court. Litigation battles become protracted disputes. Small to medium size businesses have to divert funding that they could spend on R&D or advertising to pay for the litigation. This reduces productivity, which is the exact opposite of the intent of patents.

    However swpat are good for large businesses. They prevent competitors from inter-operating with their product. A company doesn’t have to licence it’s patent to you. They hold solicitors (lawyers) on retainer and can apply for 1000 patents at a lower cost per patent than applying for 100 patents. Thus they churn out patent applications.

    Because of this, it is hard to develop software without stepping on one of their patents, particularly because patents are written in lawyer-speak and not English/Finnish. If you find yourself in this situation with MegaGlobalCorp there are two options; pay-up or cross-licence. From my understanding, there is no net economic benefit from cross-licencing. Cross-licencing is the practice where you allow another company to use your patented techniques if they reciprocate the licence. It’s the same as the situation where there are no patents and companies can do whatever they want. Except. Access to the market is controlled by those companies who agree to form the patent pool.

    Lastly, it has been obvious to me, for the past ten years that I’ve been interested in the software industry, that the industry doesn’t need patent protection. It’s been going well generating revenue for European companies in Europe and abroad, the only problem with the industry was that it believed it’s own sales pitch. It’s the only industry I’m aware of that suffered because of too much investment :)

    Conclusion

    To me, patents are all about creating monopolies or cartels. They have utility in other sectors such as pharmaceuticals or heavy manufacturing but I don’t believe that they are useful in the software industry. I don’t think the software industry needs more monopolies. Particularly when the legislative mechanisms to create these monopolies explicitly prevent software development by individuals.

    Not having software patents in Europe does not prevent European companies from applying for patents in other juristictions. It simply allows them to spend their European investment on R&D. They can still complete on an equal footing in other juristictions where software idea patents are legal.

    I have no problem giving Renault a 17 year monopoly on their new engine part, but I do have a problem giving Sun Microsystems a patent on a software idea. The difference is simple. I’ll never build a car engine. Such development is for corporations with millions of euros. I do write software, regularly. It’s stupid to restrict a private citizen, like myself, from developing useful software in order to grant expensive monopolies of little utility.

    Planey MiNDS> back up

    Wednesday, January 26th, 2005

    After a little while and a Python fix, Planet MiNDS> is now back up.

    Contacts manager proposal

    Wednesday, January 19th, 2005

    I like Evolution. It’s a powerful groupware client. I also like Nautilus, particularly it’s spatial browsing mode. What if my groupware client harnessed the e-d-s framework and galago but presented the data in a spatial manner. Here’s a UI thought. I’d appreciate it if any usability experts could pass comment.




    The contacts manager. Features

    • easy view of my data,
    • easy sharing of my data with friends,
    • todays appointments
    • predicitve search (stolen from “Address Book Search” applett, as with a lot of this UI),
    • viewing of “person objects” or my contacts,
    • view who is online (colou picture) or offline (black & white picture).



    • If a user is online and you click to contact them, you are automagically presented with an IM view.



    • otherwise you get presented with an email client.



    • You can easily check if Tux has new music for you to listen to.

    I’m not a UI guru. In fact I’m far from it. But I think I’d like to manage my email like this and I’d appreciate UI criticism. I should add that there is no technology demonstrated here that isn’t available in Gnome 2.9.x except for the photos/music sharing. And even that could be easily implemented over IM.

    My observations on this are

    • This UI may be too busy, can I reduce it’s complexity?
    • Is IconView the best container for the “person” icons? I don’t think so. I’d like a left-to-right priority list, so that the most common contact (based on some metric) is pushed to the top of the list.

    So there ya go. What do you think?

    More cooking

    Monday, January 17th, 2005

    I had one great cooking success over the weekend and one horrible failure. The success was a pizza Lori and I cooked on Friday night. It was fantastic, here’s the stuff

    • 300-350g strong flour
    • yeast
    • 1 tbsp sugar
    • 1/2 pt tepid water

    It has to be strong flour, I’ve made this with plain flour but it’s much better with strong flour.

    It’s easy to make too. Add the yeast and sugar to the water and leave to stand. The amount of yeast seems to depend on your yeast product. I use a particular brand of dried yeast, which means that I only use 1/2 tsp in the water. I’ve read some recipies that use 2 tsp! I figured that if you add the yeast and the water smells too yeasty, add more water.

    Then, on a clean surface make a little mound from the flour. Make a hole in the middle and add a little of the water. Use your fingers to stir the water until the flour mixes with it. Keep adding water untill all the flour is mixed in any you have a tacky (but not sloppy) dough. Kneed this dough for a few minutes and then allow to stand.

    To make the sauce: Throw four chopped tomatoes, some chopped garlic and about half a chopped onion into a saucepan with some olive oil. Throw in some chilli if you want some lift. We did and it rocks :) Simmer that pot untill it reduces to a pasty substance.

    Make a disc from the pizza dough by pushing down on the centre and pushing it outwared with your fingers. Put on a pizza tray and spread our tomato paste over it. We put fresh spinach (not the stuff in the tin), onion, cheddar cheese and a little olive oil on top, however you can put whatever topping you want.

    Coffee and building jails

    Wednesday, January 12th, 2005

    I had a headache for most of today. It was so bad I couldn’t do any work. I couldn’t look at a computer screen or read so I just went to bed.

    Lori came home and suggested I go for a walk. Knowing that she’s always right I concurred. However just as we left the house she asked if I’d had coffee today. It turned out that my headache vanished after I had a single cup of coffee and that it was caused by withdrawal of caffine from my system. I think I should sue the 3rd world countries for growing coffee and polluting my system :)

    I created a build jail for use with Novells build-buddy last night. It’s available here. It’s a Fedora Core 3 jail and includes everything that I’ve been told needs to be in a jail that is in the standard Fedora repositories. Hopefully Novell can get a mono build for FC3 based on that jail. It would be helpful for me.

    Using Epiphany again

    Monday, January 10th, 2005

    I’ve gone back to using Epiphany instead of Firefox. I’m trying to avoid the whole frankendesktop thing. To be honest, the newer versions of Epiphany seem to be as good as Firefox. It supports CSS Zen Garden flawlessly.

    Back to using gnome-blog

    Sunday, January 9th, 2005

    I’m back using Gnome-blog to update my blog. It’s much easier than actually logging in to the site itself. I also finished my part of a joint paper with my collegues in GRLMC in Spain. I’m sure I’ll have to do something else to finish it off though.

    I spoke to Dave about the ultra_secret_idea which won’t be told to anyone, on pain of torture and eventual death, until May. I’ve got some other ideas relating to P2P and Gnome which I’ll publish specs for soon.

    Lastly, there was a debate on planet.gnome.org a while ago about the usability of volume control. I think the best solution to this is to simply have one slider called “Volume” which modifies all the controls in an intelligent manner. Obviously there’d be an advanced tab that would give the discerning user all the control they want, but I only want to set a level.

    I want to listen to one music file, set a comfortable level and have all my music/videos etc… play to the same volume level. This is a tricky task as one has to account for differing production levels on the tracks/videos, but Baruch did some work on a similar volume normaliser for XMMS. If this was done at a Gstreamer level, it would hold all volume levels from any application to the same level.
    I should mention this to one of the gstreamer developers.

    Cooking, deleting posts and working

    Friday, January 7th, 2005

    That’s what I’ve been doing lately. Though I didn’t mean to delete the post and WordPress seems to lack an undelete button :(

    I’m still writing this bloody paper with Benedek. I intend to finish it today as it has gone on long enough. I’m struggling with the last proof. It’s not a matter of devising the proof, but a matter of stating it more consisely. In any case I think I’ve improved on Benedeks’ version.

    I cooked fresh pasta last night. I intended to photograph it as I went along and show people. In fact I’ve a cool idea that I’d like to talk to Dave about. Anyway, it turned out a bit of a mess, but tasted nice. I didn’t add enough egg to the mixture at the start so I had to spend ages mixing in egg half way through. Here’s the one pic I did take.


    Me, starting to make pasta

    And by the way…Never ever buy a Fujifilm Finepix. They’re slow, clunky, don’t use a standard USB cable and don’t work with Gphoto. All you get is a mountable drive, which sucks.

    Never buy a Fuji FinePix