Recent comments on the Uniform Computer Information Transactions Act (UCITA) rather nicely summed up some of the consequences of this piece of legislation. UCITA would give vendors the right to repossess software by disabling it remotely; make the terms of shrink-wrapped licences more enforceable; prevent the transfer of licences from one party to another without vendor permission; allow vendors to disclaim warranties; and outlaw reverse-engineering.
It's that last bit -- the criminalisation of reverse-engineering -- that has some open-source software advocates in a bit of a panic. They believe it would be nearly impossible to write things such as hardware drivers for open-source projects if one could not reverse-engineer existing code with impunity.
I'm not so sure UCITA would have that effect, though. In the first place, it probably would outlaw reverse-engineering only in those instances where software vendors specifically prohibit it. So when will vendors prohibit the practice?
I can see why a vendor might want to keep a clever software algorithm proprietary. But I can't understand why vendors would want to prohibit the reverse-engineering of hardware drivers. If anything, some vendors are finally beginning to realise proprietary drivers are counterproductive. For example, IBM just opened the driver source for six of its RAID disk array controllers. And why not? The better the driver availability, the more controllers IBM can sell.
The benefits to releasing driver code as free open source are so compelling I'm amazed that some companies are still resisting this move. Creative Labs is releasing only binary versions of its Linux driver for the Sound Blaster Live card. The problem with this approach is that Creative may have to release a new driver every time a new Linux kernel appears. New Linux kernels sometimes appear almost daily.
The only thing Creative can hope to accomplish by refusing to release the source is to limit the number of cards it can sell to Linux users. I speak from experience. I yanked out my Sound Blaster Live and replaced it with a competing card the moment I realised Creative was going to release only binaries. The Sound Blaster Live is a wonderful card, but it's a waste of money until someone reverse-engineers Creative Labs' code and produces an open-source version of the driver.
Aside from the issue of reverse-engineering, it seems to me that if UCITA passes, it would trigger a stampede to free software. Most of what people consider "free software" is licensed under the GNU General Public Licence (GPL) or a similar licence. The GPL specifically prohibits those things that make UCITA dangerous, thus making it impossible for any vendor to apply the dangerous UCITA restrictions to free software.
For example, the GPL guarantees that you can possess and modify the source code for any application. So why would anyone include a remote-disable feature if they know customers have the right to edit it out?
The GPL also guarantees that you can copy and distribute the software to anyone you like (as long as you continue to make the source code available). And since the GPL is all about making source code available, it is virtually impossible to make it illegal to reverse-engineer the code.
Granted, people put up with an awful lot of abuse. They expect their computers will crash regularly. They tolerate it when a company eliminates site licensing and their costs skyrocket. And when a company suddenly decides to sell its software based on CPU performance rather than CPU count, they pay the increase. But if UCITA is as horrifying as most people think, it seems to me that it would make the cure -- free software -- that much more appealing.
Please don't get the idea that I want to see UCITA passed. The only sure way to protect consumers from the abuses UCITA makes possible is to be certain the initiative fails. I simply want to point out that, if it does pass, it is possible that UCITA could backfire on the vendors behind it. There's still a tiny chance that the open-source movement will fizzle. If UCITA is as bad as people fear, it could turn out to be the very catalyst that guarantees an overwhelming success for the free-software revolution.