Archive for May, 2006
Incidentally, if you’re thinking of going to Apachecon Europe, you should register soon, as Mark Shuttleworth is going to be giving the opening keynote and a session on the business track. I’m very much looking forward to hearing him speak again.
Posted on May 28, 2006, under general.
The latest round of misunderstandings of IP law have got me thinking that I should put together some of my own thoughts on patents and post them here. I’m by no means an expert, but I have read up on it a lot, I have been personally affected by software patents on a few occasions (both as a user and as a developer of Open Source software) and it’s an area in which there constantly seems to be a lot of inconsistent positioning.
Firstly, let me make one thing clear; I don’t believe that software patents are fundamentally different from any other kind of patent. I don’t subscribe to ridiculous arguments based on some purported fundamental right to author code. I just don’t see it. Sure, it can be argued that software is a form of expression and that code represents ideas – I have no problem with that – but so can anything else that can be patented.
Is the work of a hobbyist watchmaker, for example, not expressive? Does their invention of a new mechanism not constitute an idea? Does a hobbyist watchmaker not deserve the “right” to pursue their hobby to the same extent as a volunteer code developer? I first started thinking about it like that when arguing on the ILUG list about three years ago, and I’ve never seen anything to convince me otherwise.
I think a contributory factor is that code is written in language, which makes its expressive nature all the more clear, but still, I can’t but agree with mechanical designers and engineers when they say there is art and expression in their work too. Paul Graham’s excellent essay on the subject is a great source of some clarity through the mud.
If there is any fundamental principled argument against software patents on these grounds, then it must apply to all patents. These days, I’m almost in that camp; that all patents should be abandoned simply because they help destroy personal freedom. I used to absolutely be in that camp, thinking that trade-secret protection alone would protect the few industries for which patents provided a clear social benefit as well as purely a limited economic one (primarily the pharmaceutical industry).
But it’s a complicated problem. Patents are an economic instrument, nothing more. It is society deciding to give inventors a monopoly on the use of their idea, in return for not keeping it secret, and that’s a good thing too. Bizarrely I think that software patents might even be good for software users, ultimately. I’ll come back to that in a moment, but first on to the economic arguments.
Software patents are good for Ireland, economically at least, probably extremely good. Florian Mueller wrote a controversial piece about this some time ago. That piece is not without its own inaccuracies, but the fundamental economics of it are correct. A huge chunk of Ireland’s economy is supported by patent-incumbent US-based software companies. Microsoft, Google, Amazon, eBay, IONA and pretty much any big IT companies you can think of have big operations in Ireland, and they all hold software patents.
Ireland is no great source of actual software development; that those companies are here because of a source of developers par excellence is a myth – perpetrated by those companies, the Government and the IDA. Sure, a lot of development does happen here, but it’s usually insanely boring, and probably not a huge source of innovation. Perhaps the likes of Havoc are notable exceptions to this. With that in mind, the greater the success of these companies, and the more funds they route through Dublin – at our lower tax rate – the better the Irish economy does.
From a broader European perspective though, software patents are economically harmful. Europe is a great source of independent SME’s who develop software, and it does have an opportunity to genuinely compete with the US. So at a macroeonomic level, if Europe were to grant the patent-incumbents more rights in Europe, it would probably be to the detriment of the European economy – or at best, make any economic growth in the area a mere surrogate of corresponding US success. Were I an economist, I would probably be in the rather bizarre position of simultaneously lobbying my T.D. to vote for software patents, but my MEP to vote against them.
It may well be reasoning such as this, backed by economic studies that triggered the European Commission’s latest minor u-turn on the issue. So for now, while the debate is so immature and the issues so poorly understood, I remain against software patents in Europe, because were they to be brought in, they could only be hopelessly mal-administered.
But let me get back to a more long-term picture, of how patents might actually be good for software users. Through the happenstance of how I got into computing, I’ve pretty much always managed to use systems where I’ve had the source available to me. I’ve avoided Windows and the closed-source-nix land. I don’t have any fundamental problem with commercial software, I’m fine with people making bucket-loads of money from software users, but I do find it bizarre that people are willing to use software for which the source is not provided.
When I talk about open source, I don’t mean it in the sense of an OSI-approved license, I just mean that the source is available to the user. Otherwise how I can fix my own problems quickly? How can I debug effectively? How can I more easily customise and integrate? These things are much, much harder without source, and personally I see it as a waste of time. Software without source is fundamentally deficient as far as I’m concerned, and ultimately – though it may well take decades – business, users and the market will figure that out. At some point, commercial software vendors will probably figure out that by bundling the source they can utilise the free talent of many of their users who send improvements back.
So why don’t they do that as a matter of course? Commercial vendors feel that there simply isn’t enough protection for their property. I know, I know, given the antics of the BSA, that almost seems like a ludicrous suggestion, but they mean it, and they’re kind of right. Although copyright rigorously protects their actual code, their research time and the invention skills that go into taking new approaches to problems aren’t very well protected, and are readily copyable once published.
The only area of IP law that comes close to offering the protection that vendors are looking for is patent law. But it’s not universally applied to software. So unlike other industries, which would never dream of not providing you with detailed specs, especially when their products are expected to interoperate, in software-land we get nothing.
If all software became open sourced, this problem would go away, but I simply don’t believe that’s either feasible, likely or possibly even desirable. I think a workable implementation of software patents might do more for users in this respect, and it might do more to gently encourage vendors more fully down the Open Source route also. Not many open source people think about it this way, but patents actually promote open-ness, and if they were run properly, could actually be seen as a stepping stone to Open Source.
Right now, patents are seen as missiles in the arsenal of a corporate lawyer, they’re not about protecting code. But we need to get them back to being that somehow, and we need a workable system to administer them.
Of course it’s hard to think of what a workable system would look like. It would obviously have to include much higher bars for what should be considered both novel and genuinely inventive. Patent terms should probably be limited to 5 or even 3 years. Another thing which I haven’t seen much of, is that if someone manages to “re-invent” the same patented idea – without prior knowledge – even where that invention was non-trivial, the monopoly right should be split. Anything else is simply unfair. No system should actually punish invention. Any credible system should also disallow so-called patent trolling.
But I don’t have a concrete proposal for a workable system, and I haven’t seen one either. It’s a very, very difficult problem. Patents are trade-offs, and they are trade-offs which happen at huge macro-economic distance from their actual on-the-ground effect. There are concrete societal benefits from some. For example, in a world where compound formulas are increasingly trivial to reverse engineer, there are a great many medicines which would probably go undeveloped were it not for patents, despite the scandalous profit margins of the industry.
The more and more I think about it over the years, the more I realise that there really are no simple solutions to the problem, and there probably are no simple economic tests we can apply to decide which industries should and shouldn’t get patent protection. No-one really cares about the limits on personal freedom imposed by patents in many engineering fields because the barriers to entry into those fields are so high anyway. A fabrication or pharma plant is not a cheap thing to build. But if tomorrow, say, microprocessor manufacturing suddenly became a true hobbyist field, should that suddenly cease any patent protection?
Fundamental and principled arguments against patents really only serve to highlight fundamentalists and zealouts, and there do seem to be a lot of those about. I guess what I’m trying to bring home here, is that if patents were originally more about encouraging openness of ideas, maybe we should concentrate on bringing them back to that original purpose, rather than trying to abolish them all-together.
Imagine a world, and the societal benefits which might come about, in which Google didn’t feel the need to keep its search algorithims so secretive, but instead knew they could rely on legal protection should they publish them. Imagine the economy of new ideas and discussion that something like that might generate. As important software and algorithms move more and more out of user control and visibility, there might be an awful lot more to gain from a strong but fair (whatever that means) patent system for software, than from its complete abolition.
No doubt in the expansion of my thoughts presented here I’ve made some errors and expressed some opinions that you may disagree with, but if I’ve given you anything at all to think about, then my intent has been achieved.