Chiltie's Musings

I Like Sunsets

On Ownership

David L. Chilton

DISCLAIMER

This in no way represents the position of my employer, Microsoft Corporation. These opinions are entirely my own and this essay was written when I was still a student at the University of Tennessee at Chattanooga and before I even sent a resume to Microsoft.

October 2005

Open-source, or non-proprietary, software has a long history in the computing industry. Software was routinely given away as source code to friends and colleagues in the 1960s and 70s. In the “hacker culture” that developed around MIT and UNIX users, people often shared software freely with each other, and usually contributed back modifications. AT&T even provided the source code to UNIX to many users and willingly accepted modifications back [4]. Even today, many university computer science students had their first exposure to programming typing a program someone else wrote into a TI-8X calculator, an Apple computer, or a MS-DOS Basic interpreter. Over the years, the free software movement has gathered steam, and it came to a head in 1998 when Eric S. Raymond, among others, proposed changing from the moniker “free software” to call it “open source”. Why? Because many “free software” advocates, like Richard M. Stallman, believe that software is intrinsically free and should not have an owner [6]. The lack of ownership is disconcerting to many business and Raymond thought that changing to “open source” would help companies accept the use of open source software like Linux and Apache, over closed solutions like Microsoft Windows and Solaris [3]. The idea that software is intrinsically free and must not have an owner is “bunk” . Software must be allowed to have an owner. A good and novel program takes significant intellectual input from the author, which should be respected. Developing software takes time and resources; the author should be permitted to use ownership rights to get the resources needed for development. Companies must be free to retain ownership of software in order to protect manufacturing processing, business logic, and other customizations that give them a competitive advantage.

Just as the author of a book invests his intellect in the production, so does the author of software. The solutions developed for original software must be allowed to remain the property of the developer. Even Eric Raymond, a strong supporter of open source software, concedes this point. Aaron Renn quotes him saying, “I believe any programmer has the same fundamental right as any producer to “˜hoard’ and sell the fruits of his/her labor” [5]. The person or company who came up with the software should be able to be its owner and limit its use. This does not mean that the developer cannot relinquish ownership to the community, simply that he has the choice to keep it. A developer could have a reason, perhaps protecting her vision of a program, which would warrant the restriction of the source code. Stallman believes that this obstructs society. He says, in “Why Software Should Not Have Owners”, that what someone besides the developer does with the program only affects the developer “indirectly,” but that it affects and benefits the person directly. He uses this argument to dispel the notion of Natural Rights, or intellectual input rights, held by the author. He disagrees with the notion that the author’s vision of a program is more important than the goals for the program of anyone else [6]. This is ridiculous. It is the author’s idea, the author’s algorithm; the author should get the final say. Nobody would try to modify As I Lay Dying just because he does not like stream of consciousness style writing, they would just read something else, because the style of writing was what Faulkner wanted in the book. The same holds for software. The author must have the ability to own her own mental processes and developments. Users have the freedom to choose something else if they do not like what the author provides.

Life does not exist in a vacuum, nor does software development. Developing software takes time and resources. Developing good software takes a lot of time and resources. The developers need food and shelter while developing. They also need access to computers on which to develop. All of these take money. While there are ways to make money off software without retaining ownership rights, through implementing features for a fee or providing support, it may be more feasible to retain ownership and charge a fee for use of the software. In “Why Software Should Be Free”, Stallman states, “A copy of a program has nearly zero marginal cost (and you can pay this cost by doing the work yourself), so in a free market, it would have nearly zero price” [7]. This is hardly the case since, even in a free market, much of the price of a product actually goes to fund research and development. According to a 2001 study by Tufts University, new drugs take, on average, $802 million to develop and approve. Much of this cost is then passed on to consumers [8]. The marginal cost of producing a drug is fairly low, but the development is so costly that the drugs have a high price. Similarly software developers should be able to recoup some of their expenses from development by charging a few to use their software if they so choose. Glen Low looks at it like this:

If you find my software genuinely useful, it will have saved you blood and sweat. In our economy that means it will have saved or made you money “” either directly, if you wrote commercial software with it, or indirectly, if it freed up time and mental energy that could be used to make money. Money that puts food on your table.

I have put my own blood and sweat into the code, because I believe it has its unique place in the software world, and it will be genuinely useful to some of you. It’s only fair then, if you use the code, you should register it by paying me. Money that puts food on my table. [1]

He goes on to assert a belief in the gift economy, and he offers macstl, a C++ template library for vector operations, to the public under both an open source license and a proprietary commercial license. Low strikes a good balance between ownership and freedom; he retains the ownership and responsibility for the code while allowing the community to have access to his work, and makes money to feed himself in the process.

Business use has always driven the development of computers, and software. Much of UNIX was developed by AT&T to control the telecommunications fabric of the country. Today, many companies use software to manage manufacturing, track orders, plan shipping, protect trade secrets, develop new products, and promote their company. Companies have a right to keep this software private, since it gives them a competitive advantage over the rest of the field. Holding with keeping the software private means retaining ownership of the programs. This is something that Low takes on in his licensing scheme for macstl. His open source license forces the user to distribute the source to derivative works, even if they are only used in-house; his commercial license allows ownership of derivative works and allows the code for derivative works to be kept closed [1]. Just as Intel would not be expected to tell the world how to manufacture a CPU with a 65-nm fabrication process, or McKee Foods would not be expected to reveal how they make Swiss Rolls® cheaply enough to sell for a quarter what the competition sells for 50¢, Apple Computer should not be expected to divulge the details behind iTunes’ implementation. Software ownership must be permitted to allow for a competitive advantage in the marketplace.

Competitive advantages, use of resources, and intellectual property all necessitate the allowance of software ownership. Software ownership provides the author with control of the use, modification, and future of his own software. This is critical to the use of software in corporations, as they want to protect their processes from the competitors. This opinion goes in opposition to Richard M. Stallman’s assertion that “software should not have owners” [6]. Even everyone advocating open-source software as the best way does not hold his view that software is intrinsically free. Eric S. Raymond asserts that it is the best way because it produces better code, but he does not take the moral stance that Stallman does [2]. Raymond is right. Software has no intrinsic freedom, and in many cases needs to remain non-free.

Bibliography

1. Low, Glen. Will Code For Food. URL: http://www.pixelglow.com/stories/will-code-for-food/. 2 October 2005.

2. Raymond, Eric S. The Cathedral and The Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary. O’Reilly. 2001.

3. Raymond, Eric S. Goodbye, “free software”; hello, “open source.” 1998. URL: http://www.catb.org/~esr/open-source.html. 2 October 2005.

4. Raymond, Eric S. Open Minds, Open Source. 2005. URL: http://www.catb.org/~esr/writings/analog.html. 2 October 2005.

5. Renn, Aaron M. “Free”, “Open Source”, and Philosophies of Software Ownership. URL: http://www.urbanophile.com/arenn/hacking/fsvos.html. 2 October 2005.

6. Stallman, Richard M. “Why Software Should Not Have Owners.” Free Software, Free Society: Selected Essays of Richard M. Stallman. Free Software Foundation. 2002. 45 – 50

7. Stallman, Richard M. “Why Software Should Be Free.” Free Software, Free Society: Selected Essays of Richard M. Stallman. Free Software Foundation. 2002. 119-132.

8. Tufts University. “Tufts Center for the Study of Drug Development Pegs Cost of a New Prescription Medicine at $802 Million.” Press Release, 30 November 2005. URL: http://csdd.tufts.edu/NewsEvents/NewsArticle.asp?newsid=6. 2 October 2005.