close this bookVolume 1: No. 30
View the documentNews -- computer industry
View the documentNews -- NRC postdoc competition; jobs
View the documentComputists -- Deb Shaw, David Goldfarb, Kim Wheeler
View the documentDiscussion -- manufacturing
View the documentDiscussion -- product design
View the documentDiscussion -- software patents
View the documentDiscussion -- books on corporate careers

There is a vigorous debate now in the new Usenet list, with additional debate in comp.patents and in Software patents have also been discussed in,, and (I presume) in the forums relating to the Electronic Frontier Foundation. There is no consensus. Even within the free-software camp, there are several strategies for economic survival of the hacker lifestyle. Some debaters take strong moral stands on intellectual freedom, others make economic arguments. Many argue that free sharing and unfettered reinvention of algorithms are the key to universal availability of custom (and customizable) software.

The point generating the most heat is whether software patents protect or harm the individual programmer and small developer. Opponents say that large corporations will obtain most of the patents (through R&D or by purchase), and will cross-license them to get whatever software rights they need. There is no way the large corporations can lose, but they could easily steamroller small companies that have no patents or cannot afford to defend them in court. Even conducting a patent search is prohibitive for many start-ups, and they are always at risk that existing or pending (and hence secret) patents will torpedo any software they try to market. Hackers -- and the term is adulatory, not pejorative -- see software patents as the end of their culture. They see a future with only mediocre, committee-produced, unaffordable, mass-market software, distributed for the principal benefit of bloated marketing organizations and venture capitalists. Most such opponents prefer copyright protection, which guards distributed code from unauthorized tampering but does not prohibit others from abstracting the ideas and applying them independently.

Proponents say that patents give the inventor enough power to fight off larger competitors, or to profit by selling out to them. Without patent protection, corporations could reverse-engineer code and negate the inventor's creative investment. Copyright protection is not strong enough because it does not stop such deliberate reinvention.

Both sides see free dissemination of algorithms and source code as good for society. This is the norm in the hacker culture, and they would likely decompile (or "crack") and publish any algorithm that was distributed only in binary. They believe (I claim) that algorithms are the key component of software, that algorithms are unownable "ideas," and that applications are incidental and fairly uninteresting. Given a freely available suite of implemented algorithms, it should be easy to hack any needed application. The new application should also be freely available to all who want it, with the programmer receiving little compensation other than salary during the development period and during any subsequent maintenance or modification contracts.

Proponents of software patents point out that patents require disclosure, whereas lesser protections encourage binary distribution to retain trade-secret status. They agree in theory that algorithms are unownable, and they do make their methods available for others to study or to use privately. In practice, though, they claim as many applications as they can think of when constructing patent documents, and this tends to effect economic ownership of the algorithm (or "method") itself. Proponents also claim that copyright and patent protection together offer the best protection for source code, but -- due to newness of the protections, or perhaps to a profit-driven culture -- they have seldom released source code without extra payment and strict licensing that prevents source reuse. They view implementations as fundamental, and algorithm development as a trivial or licensable part of the software development process. A hacker might be paid for critical expertise, but would typically play a minor role in software R&D.

I've tried to present both sides fairly, but my own belief is that we need software patents. Mass-market commercial software is valuable to society, and will only exist if patent protection is granted. Patent protection also spurs invention, although it is not the only motivation. I would prefer a variable or negotiable period of protection, but 17 years is not unreasonable for an inventor to nurture and shape a technology. (Copyright protection lasts for 50 years plus the life of the author, or for 75 years if obtained by a corporation. Trade-secret protection has no limit.)

For the programming community, benefits of the commercial approach are mature, documented development tools and subroutine libraries. Free-software advocates do have tools and libraries, but without mechanisms for testing, integrating, and maintaining them. Contributions tend to be "graduate student code," inadequate for direct commercial use. Only one system (the GNU project) has drawn a large enough community to ensure quality code.

We should also nurture our hacker communities, just as Japan has nurtured artisans who make paper by hand. Independent craftsmanship can be a source of exceptional products, although it cannot supply a mass market directly. For software, we need to educate patent examiners, catalog available patents, and simplify the licensing process. Hackers cannot be exempted from license restrictions, and may thus feel excluded from the high-cost world of commercial software development, but we should support efforts to make ordinary and essential programming techniques freely available.

(Gregory Aharonian (, owner of Source Translation & Optimization, provides an important resource. He has information on 15,000 programs available in source code, covering 15 years of development by universities, the U.S. government, and various contractors. This is far more complete than the COSMIC archive, even for NASA-sponsored software. He also has a database of 6,000 software patents issued over the last 20 years. Gregory is concerned at the unoriginality of many software patents, and is willing to help fight attempts to patent trivial variations. [, 10/8.])

Hackers may have to accept the fact that art is not free. Artists have to pay for materials and rent, and must therefore sell their work or seek patronage. (They must also accept copyright restrictions, a strong constraint on songwriters and graphic artists.) Hackers are going to incur costs for licenses, equipment, and telecommunications; they must find ways to pay these costs. If distribution becomes extensive, bookkeeping overhead and taxation may add to costs. I hate to force any off-hours hacker to hire bookkeeping help in order to give away software at cost, but that's life. Those who avoid licensing fees and other costs can continue to distribute their work over the nets for free; the wealth that others gain from proprietary software should be of no concern to them.