June 15, 2007

Why Are Patents Important?



Last night I went to the TriLUG meeting to listen to a talk about the GPLv3 in general, and how it relates to software patents in particular. Everyone was rightly incensed at the generally sorry state of the US patent system, especially when it comes to software patents. Being a gathering of free software supporters, there was pretty much universal agreement that software patents = bad, no further argument.

At the same time, I look out there and see developments like the new Kodak image sensor filter pattern. Anyone who knows anything about video probably remembers that the human eye is much more sensitive to luminance (brightness levels) than chrominance (color values). However, it took 31 years for someone to figure out how to apply that to image sensors and come up with a replacement for the Bayer filter pattern. It takes thirty seconds to explain to someone who knows what a Bayer pattern is, and in a few years, I'm sure people will start mumbling that this is an obvious invention, how dare someone patent things as simple as this, etc. etc. etc. Yet it's a fairly big deal in imaging that has been waiting 31 years to be invented. If it was so obvious, why didn't you think of it before?

In the interest of enhancing the software patent debate and encouraging new perspectives, I have to ask: is the problem with software patents really that they cover software per se? Could it perhaps be something else, like the fact that 17 years in the USA is an eternity when it comes to software innovation? Could it be that making good decisions about obviousness is so hard, and we need a better way of organizing and navigating all the existing patents out there? (Maybe the best solution to bad patents is hooking up the patent examiners with the information retrieval experts at Google.) The best inventions are always "obvious" in hindsight - anything that's too complicated to be intuitive and obvious is probably also too specialized to be a truly revolutionary innovation. At the same time, there are a lot of silly patents filed in all areas; when you are moving towards an information economy, a land grab for intellectual property shouldn't be a surprise. It does not seem like anyone has articulated a clear vision for the patent system that properly accounts for the interests of all the stakeholders.

I think it would be worthwhile to step back and figure out the way things ought to be before complaining too much about the way things are. Given that innovation in software is as important as innovation in any other field, how can we come up with a patent system that maximizes societal benefit from those innovations? Where is the scientific analysis of the length of patent & copyright terms and their impact on societal welfare? What is a general rule for deciding the patentability of a particular type of cleverness in a particular field? How much power should patent holders be given over those who practice the patented inventions? How can we reduce the costs of patent examination, licensing, and enforcement to make the existing patent system run more smoothly?

Above all, there's one key question that will have to be answered for society as a whole, and not just for "people that develop open source software". What makes software patents /wrong/? What makes them more than just another of this world's many problems, along with acne, bureaucracy, and automobile maintenance? Being able to articulate that answer simply and effectively is really the key to persuading people to make a change.

What would the perfect intellectual property system look like? What do you think?

Labels: , , ,

June 03, 2007

Visto - Run iTunes Visualization Plug-Ins On Live Sound



Ever been to a music concert and seen these psychadelicotronic images dancing across big screens in time to the music? Ever wanted to do the same thing?

Well, the pros don't do it quite this way, but I've had this code sitting around for about a year, and finally decided I should just go ahead and release it to see what happens. Announcing Visto, a small MacOS program to display iTunes visualization plugins with live data from the system soundcard.

It worked on about half the plugins I could find when I was developing it. I'm more than happy to help others make it work better, but I don't have the motivation to move it beyond its "for hackers only" state right now. If nothing else, hopefully someone else will write to tell me that there's already something like this out there!

LGPL, MacOS-only, source code-only - comments and questions welcome.