Saturday, February 24, 2007

The intellectual property landscape in software is distorted. Things are permitted that should not be, and things that should be are not. The rules contain no more than a semblance of fairness.

Computer code never has a physical structure or any contextual preference, the only unique thing about it is the set of instructions it embodies. So each patented item is conceptually equivalent to a mathematical equation such as
1 x 4 x 8 x 12 = 384
One of the maddening details is that you can be found guilty of infringement whether you copied your work from another, or just figured it all out yourself. Even if you were the only one who truly invented it, another could copy your work and patent it, then try to use that to bring you down. And unless the court believed your story, they could bring you down, because in software you can set a license fee as high as you like. Of course, some defendants can't even weather the initial legal fees.

The lawsuits really mess up the industry. They punish a lot of the wrong companies and reward a lot of the wrong companies. The concept of jealous exclusivity on an idea whose transmission can't be controlled, and whose natural replication is likely, is rather childish. And this is how the big names in our software culture are made to act. There are consequences to using software written by children.

This should be a good time to be a software developer. Computers are ubiquitous, users are very open to the idea of extending their efficiency through software, the tools for creating code have never been this good, nor have the resources for quickly learning how, authors are abile to profit swiftly and from wherever they are, significant wisdom has accumulated from the first generations of software. And it is a reasonably good time to program for the web. But the marketplace for desktop software should contain many many more medium-sized companies, rather than a few huge and a lot of small. And those working on great software should be allowed to focus on their problems rather than be distracted by trying to figure out which ideas have been used before and which need to be patented.

I suppose I can't say what it would be like if there were no patents or copyrights on software. Even as is, it's very difficult to make money off your code. The market would be shaped very differently, so maybe it would to profit be a lot easier in a world where anyone could use whatever code they liked. There are a number of reasons to think so. But overcompetition could also be a strong force that opposed organization, which is very important for certain aspects of a personal computer system. This is probably why the government feels comfortable playing along with the facade of an intellectual exercise that Microsoft and Adobe and others play out in their courts - because they fear that the comfortable ordered desktop might not survive otherwise.

Software is naturally no different from any other mathematical idea - its use doesn't have any direct economic implications or restrictions in almost any of the ways that tools fashioned from actual materials do. Thus to make money off of it, you can either rely on voluntary payment, control distribution, or build additional functionality into your software that uses some clever trickery to make sure you've been paid. For software that takes the latter route, these strategies can have dubious consequences. For example, whenever you use Windows, it spends some percentage of its computing power to determine whether you've paid for that exact copy, and at any moment it could potentially decide that you had not, and refuse to perform the instructions you asked of it. This module doesn't add any positive value from the customer's perspective, and the annoyance of dealing with it makes it yet harder to establish an eager customer base. These tactics, when indelicately implemented, knaw at the trust that users want to bind them to their software's authors; they change the answer to the question "Why have I paid for this?". Using software you purchased on a machine you purchased, you would want the answer to be, "because I value what it does for me." Yet when using this type of software, the answer becomes "because if I had not paid it would jealously investigate that fact and scornfully cripple itself."

Many programmers have contributed their efforts without any attempt to obtain compensation, largely because they're not game for tying tricks into their work to make it profitable, and largely because the illogical consequences of the intellectual property court shenanigans are revolting. For much of the history of computing, code could be distributed in a form not readily readible or reworkable (compiled and ready for use), so going a step further and sharing the code was unnecessary and generous. These days, programmers often take advantage of the cornicopia of established computing tools by writing in scripting languages that have more last-minute capabilities. These languages, such as Ruby, cannot usually be compiled, so the code can only be used by people who have it in readible form (its initial and only form). This seems to have created an environment of even greater sharing and openness in the Ruby community; new projects in this language are usually assumed to be free of license fees and open sourced.

There is a way to allow users access to the output of Ruby scripts without revealing the scripts - serving the scripts on a web site. This usually doesn't offer users the flexibility of actually running the code on their own machine and altering whichever components they wish; but it is a powerful practice and rightfully common. Ironically, in many of the cases where this technique is employed, the valuable and potentially proprietary component is typically not the scripts, but the data they process, which nowadays is usually stored in a language-independent database. So, although there is nothing to stop programmers from bucking this trend, much of the value in most web sites has nothing to do with any of the code, and is only unique to that site because the database password is kept secret.

As we are cruising through a web 2 honeymoon, most of the services available online are free of charge at this point. As we progress, we will likely see many attempts to leverage various services in exchange for different forms of compensation. We can only hope that this is carried out in a way that doesn't annoy the hell out of us all.


Post a Comment

Links to this post:

Create a Link

<< Home