June 30, 2005
@ 02:17 PM

I spent yesterday in Brussels at the European Parliament. I attended session at a conference and had the opportunity to speak to a few members of the European Parliament and chatting with the press. As you might know, next week the parliament votes on the EU Directive in Computer Implemented Inventions, which is supposed to regulate how and which computer-implemented inventions shall become patentable in the European Union. More precisely, the directive really only manifests what the European Patent Office practices today and aims to pull that practice under the umbrella of European law – which it is not at this point.  And what’s currently going on in Brussels in terms of lobbying, especially on the side of the patent opponents, is bordering the insane.

The Anti-Intellectual-Property Lobby

One of the events I attended briefly (I didn’t have time to sit through the whole thing) was the so called “Economic Majority Conference”. I heard 30 minutes of testimony by (three) small businesses on how patents supposedly have or will hurt their business and a little storytelling by an attorney who acted as moderator for the event. The attorney, who admitted right from the start that he is not a patent attorney (which makes me wonder why he’d be chairing a patent-law related conference), told a sobbing story about a company that built a content management system for a whopping EUR 100.000 (they’re either really productive, or they’ve outsourced development to somewhere really cheap, or their system is probably not very featured) and their patent research showed that they are violating 4 EU patents.

 Then he went on to tell the shocking things he found out working with the client: Patents protect inventions, it might cost money to license a patented method, and if you are found to violate one you could get sued. If you ever sat down with a patent attorney for 30 minutes, you know that. What stunned me was when he went into a rather obscure series of calculations of penalty license fees and associated cost and came out with a total damage of EUR 45.000 that his client would have to pay if they were found to be in violating and the patent holder would decide to sue. The numbers alone tell me one story: This sounds bogus. Building a remotely competitive CMS isn’t something you do with 100K. And if you are really found to be in substantial violation of a competitor’s patent and it’s worth the hassle for your competitor to go after you, 45K isn’t even going to pay your attorney’s expenses. Looking around in the audience I saw several people who were visibly amused about this open display of lack of expertise.

The three company testimonies I listened to were similarly “interesting”. One gentleman claimed that he had developed a mapping software together with a partner company and they had expected (it’s interesting how those numbers are all the same) 100.000 EUR in annual revenues from that software service. And because there is a company who has a patent on the same things they’re doing, they couldn’t go on with the project. He claimed that the patent precluding him from realizing his business model is as broad as “putting a point on a map”.  I am sure that he could find friends at Google (Google Maps), MSN (Mappoint), or Mapquest (do I need to go on?) who’d happily help him suing to have that patent invalidated. And, really, if the annual revenue expectation from all that work is just 100K, wouldn’t it make sense to try doing something else?

The next company presenting creates some seriously (seriously!) impressive geology software. The CEO said that they don’t need patents, because copyright is enough for them. Having been asked for it, he said they have 4 software developers and “about the same number” of geologists on staff. The software they make is, as he explained, used to search for oil reserves. What confuses me, though, is that they don’t seem to understand themselves as a “computer-aided geology company”, but as a “software for geologists” company. The CEOs claim was that they develop most of the science models behind their software themselves. So, I was asking myself, if they have geologists developing new ways to do geological analysis to find oil reserves, why wouldn’t they patent that geology science? What does that have to do with any software implementation of those methods? If that company is really as good as they claim, wouldn’t those methods alone be worth tens of millions of Euros in license revenues alone? Well, and if it turns out that that science isn’t exactly original, but they are just implementing existing models – then they indeed do not have anything to do with patents, except, possibly consuming them and paying due licenses, because in that case they’re clearly capitalizing on someone else’s method inventions. And mind that these patents wouldn’t be covering anything that has to do with software; these would be patents related to geology.

The last company presenting claimed to be a market leader in digital video processing. Again, that company says that copyright is good enough for them. They, too, had some really impressive demos on how their effects software is used to improve video footage and how customers applied their digital effects to anything from music videos to blockbuster motion pictures. And I am thinking: Talk to a lawyer. Copyright protects the concrete manifestation of a program. If someone reverse engineers (that is not forbidden by copyright law, that’d at most be a license violation) your code and comes up with a functionally equivalent reimplementation of the same underlying method, you have nothing in your hands to defend yourselves. And here again, the method worthy of protection has nothing to do with its concrete implementation in software: it’s rather a specific (and likely very complex) mathematical model applied to digital images. It’s an invention that can clearly only be implemented on a computer, but it’s not a program per-se.

When listening to this and when speaking to a few audience members when we were taken to the conference room by our escort, I started to realize why this whole debate is so complicated: Lots of people involved in the “software patent” debate seem to be against the entire idea of patents, licensing, and intellectual property protection per-se and there seems to be not much of an understanding of the patent system as it exists and how many industries wouldn’t function without it.

Biotech Engineers United Against Patents!

Now that’s a headline that you will unlikely see. Still, it seems perfectly reasonable that software developers stand up against patents? The whole pharmaceutical and biotech industry is built on the patent system. If you look at pharmaceutical and biotech SME (small and medium enterprises), it’s their stated goal to focus on a particular problem, get funding, and then drive their research to a point when they can file for patents, do studies and finally hope that a pharmacy giant with a big distribution network will licensing their research results for productization. The result of the millions or Euros that go into developing a drug often fits on a few sheets of paper; it’s a recipe for mixing together the right ingredients to produce that drug. This is why there are dozens of generic drugs appearing on the market as soon as a drug patent expires; it’s not particularly hard to copy the production process and the patent system actually guarantees that the recipe is out there for anyone to see. What the patent system does for the inventor is that they get a period of exclusivity to capitalize on their invention so they can reclaim their investments and make money off them. Once that expires, the innovation is automatically placed into the public domain (!). Because that model is fully understood in the pharmaceutical industry, you won’t see people from that industry rallying in front of the European Parliament in a call to abolish patents in their field; they’d effectively put themselves out of a job.

The Software Industry Needs to Grow Up

The software industry needs to grow up, quite literally. In which engineering science is it enough to get a computer for $200 at eBay, and load up a free compiler to claim to be a professional engineer? In which other industry is the actual intellectual capital and the result of engineering effort (research, conceptualization, architecture) regarded as mere collateral of its implementation (source code)? That is plain idiocy. Source code, no matter whether open or closed, doesn’t matter much. If today’s language of choice is C++ and in 2009 it’s something like “K-Square” running on a super-universal “VLR” runtime, that oh-so-important source code is suddenly just a legacy problem. What counts are the underlying concepts and methods. There are no software patents. Software is an implementation of a concept and implementations are subject to copyright. What’s patentable are implementation-independent technical solutions. And it is nothing less than a simple act of discrimination compared to any other field of engineering if innovators in the fields of database and transaction research, digital image and digital audio processing, or robotics are denied their right to claim protection on these inventions. 

The open-source advocates can claim and execute their right to free speech as much as they want, but when they finally gather up on stage at a conference and intonate “We are the world, we are the children”, they’re doing something good for Africa and impoverished children, because someone will have to pay license fees on a copyright protected work of art – whose proceeds go to the author and therefore, as I understand, to the Quincy Jones Listen Up foundation. That is true as soon as you can buy a drink at that conference. As it turns out, if you implement something in “free speech” (or in that case: free singing), someone may end up having a monetary claim if you do so in a public performance from which anybody has any financial gain (like the caterer).

A software implementation is, if we’ll take that as an analogy, the public performance of someone’s concepts and inventions. Just as you may certainly speak up freely, sing in the shower and recite your favorite author amongst your friends, patent law commonly and explicitly states that any hobbyist can implement any patent for their own private use in any way they wish. As soon as someone capitalizes on the implementation, they ought to pay their deeds to the inventor so they get their fair share of that financial gain. That said, as soon as “free speech”  turns into “free beer” and global services companies run around making billions of Euros of consulting revenue off “free” implementations of someone else’s inventions while the inventors don’t get their fair share, something is absolutely wrong. There are innovators and there are implementers. Sadly, many people I hear speak up against patents are implementers of other’s ideas who are more worried about writing source code in a special way or for a specific OS or under a certain license, than bring true innovation to our field of technology.  

The System Is Broken

And yet, you won’t hear me saying that I am happy with the patent system as it stands. It is blatantly obvious that there are serious issues with the U.S. Patent Office and the European Patent Office (and other patent agencies) when it comes to computer implemented inventions. Patents that are ridiculously broad or are granted on methods that have been used for decades, but have been reformulated by clever lawyers to sound new, are absolutely wrong and should either not be granted or be voided.

We all know that granting a patent claim on a mouse double-click, or on a shopping cart is stupid. But if you find that the executive branch of the administration in a particular field is severely broken, do you throw your hands up, give in to that inadequacy and change the law so that the executive doesn’t need to deal with that anymore? Or do you pass a law that’s adequate and preserves the rights of the innovators and then go and fix the broken system?

Instead of lobbing to abolish a system that successfully supports pretty much all other fields of engineering, I would expect that the people who are so highly critical of patents and believe that the Armageddon is near would offer their help in fixing the system. And what I expect from the European Commission and the U.S. Administration is that they enable the public by executive order to help the patent offices by being more progressive and aggressive about patent application publishing and more open in the review process – especially for computer implemented inventions. I expect that the lawmakers keep the system simple by dropping amendments to the patent laws (such as the “forces of nature” clause in the CII directive draft) that only complicate matters and create new business opportunities for patent lawyers (If I mandate to write things to a physical disk, is that enough “force of nature”?).

Employing the Community

First off; if you If the community would be showing their willingness to help fixing the patent system, here’s what I think could be elements of a community collaboration model that’s a bit more proactive than the current practice of “publish & wait”:

·         Any patent application should immediately be made available to the public through a filterable push-feed. Media could be, for instance, Email and RSS. If I am interested in database and transaction methods, I should get the respective applications pushed into my email inbox automatically. This service should be free and available to anybody. (Except for “push”, that actually already exists: http://ep.espacenet.com)

·         Anyone demonstrating sufficient qualification can be accredited as a subject matter expert to the patent office. “Sufficient qualification” could stem from college degrees and diplomas, membership in an accredited technology association or working for an accredited company. Accreditation is free, associated with one or more specific technology categories, and the qualification requirement serves to exclude “interested bystanders” and people whose only intent is to be generally destructive. Subject matter experts are volunteers and must constructively contribute to the patent verification process on a regular basis; otherwise they lose their accreditation and the accreditation cannot be regained for a certain waiting period. As with the current system, anyone can still file objections against a published patent application, but the input of accredited subject matter experts is handled with priority, because it is more likely to lead to a quicker refusal of unjustified applications.

·         Subject matter experts shall inspect patent applications for clarity and can recommend refusal of a patent because of technical obscurity. Patents should be clear and complete enough so that an implementation can be devised by any qualified implementation engineer or engineering group. To be clear: If there is a 3D imaging patent at hand and the engineer’s linear algebra skills are not up to speed, then he/she is likely not qualified.

·         Subject matter experts shall aid the patent office in finding and collect instances of prior art or similar existing patents.

·         Subject matter experts can recommend refusal of a patent because of technical triviality – if a complete implementation of the invented method in software is merely a matter of minutes, the invented method might not be worthy of protection or is indeed one that is an inevitable, logical, and obvious solution path for a given problem.      

All in all, this means that if you really hate the idea of patents, you could volunteer to participate in such a collaboration model and help killing unjustified patents from within the system. Employing a community model would be a constructive move to help fixing the patent system as it stands. Today, the acceptance and refusal of patents is often at the mercy of overloaded patent officers who are certainly qualified in the respective field of technology, but who are not and simply can’t be active practitioners in the field. Because patents are published, but the access to those patents and the feedback channels is relatively obscure and patents are written in language where lawyer-speak overlays the technology details simply because patent law is too complicated and there are too many special cases, exclusions and restrictions to work around, patent research and objecting against unjustified patent applications is indeed a matter than only large corporations can afford. But that is not a problem of the law, that’s a problem of the system implementing the law.

What seems problematic about a community model is that there will be doubtlessly participants whose only mission is to kill and destroy, because they are against the patentability of computer implemented inventions per-se. That’s something that has to be expected – I can’t expect that fierce advocates of the technology of vendor X will be happy about technology innovations made by vendor Y. But because such a system would be proof and facts based, such “enthusiasm” would likely only help making the system better.

Conclusion

Advocacy against patents solely on the grounds that the execution of the patent law by the patent offices is broken looks very wrong to me. There are stupid patents that should never have been granted and we as in industry need to help get rid of them and help that such patents won’t pass in the future. But inventors in any field of digital technology are entitled to patent protection just as inventors in any other field of engineering. If you develop a digital image processing methods to take a digital photograph made with an off-the-shelf digital camera that enables a doctor to detect skin-cancer risks, that’s an invention that’s doubtlessly worth patenting. It’s simply untrue that software developers casually sit down in the morning and an implementation of that exact invention forms under their fingers as an inevitable evolution of thought given the problem – and in the unlikely event that he/she still end up with the same thing – then it’s very simply (and unfortunately for the runner up) a matter of “first innovator wins”. And if you are clever enough to find that solution path by chance, I would argue that you are clever enough to find another one, too. That’s called “patents drive innovation”.

Categories:

June 19, 2005
@ 04:19 PM

“All for this one moment” is Lufthansa’s marketing tagline for FlyNet, their in-flight Internet service. One of the ads reads (I don’t have the exact wording right so, so I paraphrase) “Read your email or cheer about the goal in the 92th minute”. Now… that with the goal is of course an issue, because how could you possibly see it? Sure, there are live text tickers on news sites and there is Internet radio, but that’s all lame, right? So I bought myself a PC with some big disks, two TV capture cards, upped my DSL connection at home to 3072/512KBps, and got myself a copy of SnapStream’s Beyond TV. Outcome: Live TV from Germany, football included, streamed from my home PC to my notebook to anywhere I go – given that I get at least a 96 KBps link. The maximum feed I can get out of this with a good connection to home is about 496 KBps, which gives me near VHS picture and sound quality.

The screenshot is taken in the Lufthansa lounge at Munich airport. Connection is via Vodafone’s WLAN. Greece playing Japan in the Confederation Cup right now. (Of course they’ve got that here on the regular TV screens, but it seemed like a good moment to show that).

  

 

Categories:

“Self inflicted damage“ is probably the right expression to use. It’s Sunday, I am home, it’s a beautiful day and I am once again packing a suitcase. The taxi arrives at 16:00h and I’ll be airborne at around 16:45h (the drive to Düsseldorf airport from my apartment is about 8 minutes and I am already checked in via phone) going to Munich and from there to Bern in Switzerland for a 1 1/2 day workshop with a customer. Tuesday afternoon I take the train to Zürich airport and will fly straight to Brussels for a series of meetings Tuesday evening and Wednesday all day. As per current planning, I’ll be back at Düsseldorf airport on Wednesday by 21:45h.

And all that in a week that was supposed to be “work at home”. In the past four months, I’ve been to the U.S. three times and I’ve been to Singapore, Algeria, Saudia Arabia, Pakistan, and Turkey as well as in Croatia, Slovenia, Austria, Norway, England, Italy, and Holland – with the occasional business meeting in Germany in between. With some of these trips being really short – like less than 2 full days in Karachi, Pakistan coming from Miami in Florida (+9 hrs) and leaving to Europe (-3 hrs) I even give up trying to adjust to the time zones and if I happen to wake up at 3am in the morning I just accept that as what the body thinks is right, make or order coffee and just stay awake. I thought last year was nuts in terms of traveling, but this year easily beats it.

The traveling per-se isn’t all that bad, but getting up at 3:30am in the morning or earlier or just stay awake through the evening to catch a flight in the Middle-East, crossing more than 6 hours of time-zone differentials three times in a week, and all the irregular sleep hours and the irregular eating hours are definitely causing stress, are badly affecting my ability to get work done and aren’t really healthy. And since I am always cordially invited to be someone’s guest most of the evenings I am on the road, it’s not a very polite thing to reject the invitation to dinner and a drink or two – which doesn’t help keeping the weight down and doesn’t contribute to be well rested all the time. And I really can see why some frequent business travelers become alcoholics. If one’s body is easily vulnerable to addiction, the “dinner meeting culture” alone drives people straight to the edge and then they do hard liquor – done. Beer and wine in good measure is good enough for me, thanks.

What’s somewhat frustrating about the traveling on tight schedules is that you often get to places where you haven’t been and then you don’t get to see anything of the city or country. Pakistan is one of these examples, with the added, unfortunate complication of a very volatile security situation. I’ve now been in Karachi twice and all I have seen is the airport, the highway from the airport into the city, a particular hotel (both times), and two restaurants. And whenever we left the hotel, we’ve been in a bus followed by a pick-up truck with a bunch of policemen with machine-guns. And with that “experience”, you get pulled in front of a TV camera for an interview and get asked “what do you think of Pakistan?” Well… What I can say about Pakistan is that the people are great. It’s difficult to find a room with 600-800 people who are so exuberantly enthusiastic about information technology as in Karachi. It’s hard to find a fitting analogy to describe it, but the way they are longing for and absorbing knowledge is as if you had a room full of sponges and you are holding a water hose at it for an hour and once you are done, the floor is still dry like a desert. And once you say “that’s it, thank you for your attention” at the end of a session, you’ve got 50 people jumping up, running up to the front, bombarding you with questions. It’s absolutely amazing.

Also amazing is my new friend Arfa Karim (picture), who is the youngest “Microsoft Certified  Professional” in Pakistan and – by what I have been told – the youngest girl at that in the world, having achieved the application developer certification with just 9 years of age. And after talking too her for quite a bit in Karachi this year, I can say that Arfa certainly didn’t cheat there. She’s really a C# wizard and she’s got a well developed self-esteem about it.

Speaking of “Microsoft Certified” …

Since May, I proudly carry the title of a Microsoft Certified Architect after passing a very humbling board review in Redmond. It’s my first ever Microsoft Certified Anything that I have, so I am very happy to have it. The Microsoft Certified Architect program, which has only been announced at TechEd US, is a very interesting and very ambitious program, which is not primarily about Microsoft technologies and not about someone sitting down and answering some questions to a program. To become an MCA, you have to be a well-rounded person, balancing technical, business and people skills and you have to prove that you’ve done stuff and shipped stuff. Having been accepted into the circle of the first 50 MCAs is truly a big thing – and given who the other folks are, I am still not sure whether I am worthy. When I was sitting on the reviewer side of the certification board in March (they had a boot-up “chicken and egg” issue – only MCAs can sit on the board, but what do you do if there are none?) I had several people where I was thinking to myself “who are you to dare making any judgment about this person?” since we’ve had several people coming in where you just learn new stuff with every sentence they’re saying.

From the board review in May I went straight to one of every year’s favorite “little big conferences” in Portoroz/Slovenia, to which I’ve been for the 4th straight year. There are just over 2 million Slovenians overall, but Microsoft manages to pull well over 1500 people to a developer and IT pro conference. Translated to the scale of Germany, we’d have to have 64000 attendees at an event to match that. And traditionally, Microsoft Slovenia throws one of the best event parties each year.

Once things settle down at the end of this week and with only one (“the”) major event left to go in this first half year (TechEd Europe in Amsterdam), I’ll have to log some of the past months travel experiences for myself here in my blog and also get back to writing about technology issues. There are a lot of things that I’ve learned and I’ve actually written a bit of code here and there that’s worth sharing, but with all the travel I just never found time to sit down and write about it – sometimes I just need a break as well. TTYL, gotta catch a flight.

Categories:

Here’s the raw, not really well documented code drop with the sample and framework code for my CSI360 and CSI359 talks here at TechEd US. The talks are today at 5pm (CSI360 – Asynchronous Messaging) and on Thursday at 1:30pm (CSI359 – Handling Transaction Abort Cases). As soon as I find time, I’ll document the framework classes a bit better here on the blog. The archive contains, amongst other things, a WSE channel and a WebRequest/WebResponse set that lets you use MSMQ as an alternate transport for WSE and/or ASMX. It also has the complete queue listener code for the messaging series I posted some months ago.

My blogging backlog is ridiculous. In the past weeks I’ve crossed the Atlantic several times (with one quick trip to Singapore in addition to that), had some crazy “one city per day” trips and had to meet deadlines for whitepapers, articles, and presentations. I guess I travel too much. From here (Orlando,FL) I will fly straight to the Pakistan Developer Conference in Karachi (about 24 hours, via Amsterdam and Dubai) and then back home. If all goes well, I’ll be at home for 2 weeks. That’s a first for this year, I think.

Download: techEd2005.zip

Categories: Talks