Taler Demo
Essay shop

On this page you can buy articles using an imaginary currency.
The articles are chapters from Richard Stallman's book "Free Software, Free Society".
The book is published by the FSF and available gratis at gnu.org.

Essay Shop: Free Software, Free Society

This is the latest edition of Free Software, Free Society: Selected Essays of Richard M. Stallman.
Free Software Foundation
51 Franklin Street, Fifth Floor
Boston, MA 02110-1335
Copyright © 2002, 2010 Free Software Foundation, Inc.

Verbatim copying and distribution of this entire book are permitted worldwide, without royalty, in any medium, provided this notice is preserved. Permission is granted to copy and distribute translations of this book from the original English into another language provided the translation has been approved by the Free Software Foundation and the copyright notice and this permission notice are preserved on all copies.

ISBN 978-0-9831592-0-9

Chapters

Click on an individual chapter to to purchase it with GNU Taler.You can get free, virtual money to buy articles on this page at the bank

The Problems with older versions of the Apple Public Source License (APSL)

The current version of the Apple Public Source License (APSL) does not have any of these problems. You can read our current position on the APSL elsewhere. This document is kept here for historical purposes only. (Pay to read more...)

Did You Say “Intellectual Property”? It's a Seductive Mirage

It has become fashionable to toss copyright, patents, and trademarks—three separate and different entities involving three separate and different sets of laws—plus a dozen other laws into one pot and call it “intellectual property”. The distorting and confusing term did not become common by accident. Companies that gain from the confusion promoted it. The clearest way out of the confusion is to reject the term entirely. (Pay to read more...)

Freedom of Speech, Press, and Association on the Internet

The Free Software Foundation supports the freedoms of speech, press, and association on the Internet. Please check out: (Pay to read more...)

Should Rockets Have Only Free Software? Free Software and Appliances

Could there be a rocket that is totally free software? Should we demand that SpaceX liberate the software in its satellite launching rockets? I don't think the person who asked me this was serious, but answering that question may illuminate similar issues about the sorts of products people really buy today. (Pay to read more...)

Lesson from Uruguay

A bill now under consideration in Uruguay showed the Free Software Foundation an important point that was missing in our list of recommended government policies to promote free software. The bill says that when the state develops or contracts for development of software, this software must be developable in a 100%-free-software environment. (Pay to read more...)

Why We Must Fight UCITA

UCITA is a proposed law, designed by the proprietary software developers, who are now asking all 50 states of the US to adopt it. If UCITA is adopted, it will threaten the free software community (1) with disaster. To understand why, please read on. (Pay to read more...)

The advantages of free software

People outside the free software movement frequently ask about the practical advantages of free software. It is a curious question. (Pay to read more...)

Interview with Richard Stallman, KernelTrap.org, 2005

An interview by Jeremy Andrews with Richard Stallman in 2005 Source: http://kerneltrap.org/node/4484 [Archived] (Pay to read more...)

Introduction to Free Software, Free Society: The Selected Essays of Richard M. Stallman

Every generation has its philosopher — a writer or an artist who captures the imagination of a time. Sometimes these philosophers are recognized as such; often it takes generations before the connection is made real. But recognized or not, a time gets marked by the people who speak its ideals, whether in the whisper of a poem, or the blast of a political movement. (Pay to read more...)

Can You Trust Your Computer?

Who should your computer take its orders from? Most people think their computers should obey them, not obey someone else. With a plan they call “trusted computing”, large media corporations (including the movie companies and record companies), together with computer companies such as Microsoft and Intel, are planning to make your computer obey them instead of you. (Microsoft's version of this scheme is called Palladium.) Proprietary programs have included malicious features before, but this plan would make it universal. (Pay to read more...)

The Danger of E-Books

In an age where business dominates our governments and writes our laws, every technological advance offers business an opportunity to impose new restrictions on the public. Technologies that could have empowered us are used to chain us instead. (Pay to read more...)

Incorrect Quotation

Here's the text that is circulating. Most of it was copied from statements I have made, but the part italicized here is not from me. It makes points that are mistaken or confused. (Pay to read more...)

BYTE Interview with Richard Stallman

Richard Stallman has undertaken probably the most ambitious free software development project to date, the GNU system. In his GNU Manifesto, published in the March 1985 issue of Dr. Dobb's Journal, Stallman described GNU as a “complete Unix-compatible software system which I am writing so that I can give it away free to everyone who can use it… Once GNU is written, everyone will be able to obtain good system software free, just like air.” (GNU is an acronym for GNU's Not Unix; the “G” is pronounced.) (Pay to read more...)

Free World Notes

This file contains supplemental notes to the manifesto “Only the Free World Can Stand Up to Microsoft”, currently published at http://www.gnu.org/philosophy/free-world.html. (Pay to read more...)

Giving the Software Field Protection from Patents

A version of this article was first published at Wired in November 2012. (Pay to read more...)

Overview of the GNU System

The GNU operating system is a complete free software system, upward-compatible with Unix. GNU stands for “GNU's Not Unix”. It is pronounced as one syllable with a hard g. Richard Stallman made the Initial Announcement of the GNU Project in September 1983. A longer version called the GNU Manifesto was published in March 1985. It has been translated into several other languages. (Pay to read more...)

Is It Ever a Good Thing to Use a Nonfree Program?

If you run a nonfree program on your computer, it denies your freedom; the immediate wrong is directed at you.(*) (Pay to read more...)

Interview: Richard M. Stallman

Richard M. Stallman is the most forceful and famous practitioner/theorist of free software, a term he coined. “Free” here means free as in “free speech,” not free as in “free beer.” Stallman's most famous intervention in the “free software” movement has surely been the GNU General Public License (GPL), which Stallman created around 1985 as a general license that could be applied to any program. The license codifies the concept of “copyleft,” the “central idea” of which Stallman has described as giving “everyone permission to run the program, copy the program, modify the program, and distribute modified versions, but not permission to add restrictions of their own. Thus, the crucial freedoms that define ‘free software’ are guaranteed to everyone who has a copy; they become inalienable rights” (Stallman, “The GNU Operating System and the Free Software Movement,” in DiBona, Open Sources: Voices from the Open Source Revolution) (Pay to read more...)

Speech at WSIS, 16 July 2003

The benefit of computers is that it's easier to copy and manipulate information. Corporations are using two kinds of imposed monopolies to deny you this benefit. (Pay to read more...)

Why Copyleft?

“When it comes to defending the freedom of others, to lie down and do nothing is an act of weakness, not humility.” (Pay to read more...)

Europe's “unitary patent” could mean unlimited software patents

Just as the US software industry is experiencing the long anticipated all-out software patent wars that we have anticipated, the European Union has a plan to follow the same course. When the Hargreaves report urged the UK to avoid software patents, the UK had already approved plan that is likely to impose them on UK. (Pay to read more...)

People, places, things and ideas

Software is ideas. Information. It's different from people, places, and things; it's infinitely reduplicable like fire, at almost no cost. This is a truism, even a cliche. But it seems that there are particular consequences that aren't well-explored. (Pay to read more...)

Applying the Free Software Criteria

The four essential freedoms provide the criteria for whether a particular piece of code is free/libre (i.e., respects its users' freedom). How should we apply them to judge whether a software package, an operating system, a computer, or a web page is fit to recommend? (Pay to read more...)

FSF's Brief Amicus Curiae, Eldred v. Ashcroft

No. 01-618 IN THE Supreme Court of the United States ERIC ELDRED, et al., Petitioners, v. JOHN D. ASHCROFT, In his official capacity as Attorney General, Respondent. On Writ of Certiorari to the United States Court of Appeals for the District of Columbia Circuit Brief Amicus Curiae of the Free Software Foundation in Support of Petitioners (Pay to read more...)

Linux and the GNU System

For more information see also the GNU/Linux FAQ, and Why GNU/Linux? (Pay to read more...)

Self-Interest

The quick answer is, “No.” And few of the better-known theoreticians of the free-market have ever thought that self-interest was, or even could be, sufficient to organize, or long maintain, a free economy. Among those theoreticians, Adam Smith is often regarded as having been the primary philosopher of self-interest. In a book written to correct a number of misunderstandings of Smith's teachings, we find the following summaries of Smith's view about self-interest: (Pay to read more...)

Saying No to unjust computing even once is help

A misunderstanding is circulating that the GNU Project demands you run 100% free software, all the time. Anything less (90%?), and we will tell you to get lost—they say. Nothing could be further from the truth. (Pay to read more...)

Avoiding Ruinous Compromises

“Twenty-five years ago on September 27, 1983, I announced a plan to create a completely free operating system called GNU—for ‘GNU's Not Unix’. As part of the 25th anniversary of the GNU system, I have written this article on how our community can avoid ruinous compromises. In addition to avoiding such compromises, there are many ways you can help GNU and free software. One basic way is to join the Free Software Foundation as an Associate Member.”—Richard Stallman (Pay to read more...)

Copyright and Globalization in the Age of Computer Networks

The following is an edited transcript from a speech given at MIT in the Communications Forum on Thursday, April 19, 2001 from 5:00pm - 7:00pm (Pay to read more...)

What Does It Mean for Your Computer to Be Loyal?

We say that running free software on your computer means that its operation is under your control. Implicitly this presupposes that your computer will do what your programs tell it to do, and no more. In other words, that your computer will be loyal to you. (Pay to read more...)

The Microsoft Antitrust Trial and Free Software

With the Microsoft antitrust trial moving toward a conclusion, the question of what to demand of Microsoft if it loses is coming to the fore. Ralph Nader is even [when this was written, in March 1999] organizing a conference about the question (see http://www.appraising-microsoft.org/). (Pay to read more...)

Philosophy of the GNU Project

Free software means that the software's users have freedom. (The issue is not about price.) We developed the GNU operating system so that users can have freedom in their computing. (Pay to read more...)

Yes, Give It Away

Richard Stallman wrote this text, which was found in a file dated May 1983, though it is not clear whether it was written then or earlier. In May 1983 he was privately considering plans to develop a free operating system, but he may not yet have decided to make it a Unix-like system rather than something like the MIT Lisp Machine. (Pay to read more...)

Stallman's Law

Now that corporations dominate society and write the laws, each advance or change in technology is an opening for them to further restrict or mistreat its users. (Pay to read more...)

Why Open Source misses the point of Free Software

The terms “free software” and “open source” stand for almost the same range of programs. However, they say deeply different things about those programs, based on different values. The free software movement campaigns for freedom for the users of computing; it is a movement for freedom and justice. By contrast, the open source idea values mainly practical advantage and does not campaign for principles. This is why we do not agree with open source, and do not use that term. (Pay to read more...)

Interview with Richard Stallman, Edinburgh, 2004

Transcript of an interview with Richard Stallman that took place at the School of Informatics, Edinburgh University, on 27th May 2004; originally published at Indymedia. (Pay to read more...)

On the Netscape Public License (Original Version)

This article was written March 10-12 1998, about the draft of the NPL which was available at that time. (Pay to read more...)

Why the Devil's Advocate Doesn't Help Reach the Truth

Playing the devil's advocate means challenging a position by saying what a hypothetical adversary would say. I encounter this frequently in interviews and Q&A sessions, and many people believe that this is a good way to put a controversial position to the test. What it really does is put the controversial position at a disadvantage. (Pay to read more...)

Richard Stallman on the Alex Jones Show

Okay, my friends, we've got a real treat for you—they talk about the top ten people out there in Internet land who've really changed our perspective on so many things, it's Dr. Richard Stallman. He's a software developer and software freedom activist, he graduated from Harvard in '74 with a BA in physics and received many awards, doctorates and professorships for extensive work. (Pay to read more...)

GNU & The Free Software Foundation

(Engineering Tech Talk at Google, June 11, 2004) (Pay to read more...)

Public Awareness of Copyright, WIPO, June 2002

Geofrey Yu, Assistant Director General in charge of Copyright at WIPO, said this in a paper “Public Awareness of Copyright”, in June 2002. It is interesting that WIPO is starting to find that the hypocrisy of describing a system of restricting the public as a matter of “rights” is starting to backfire on them. (Pay to read more...)

GNU Kind Communications Guidelines

The GNU Project encourages contributions from anyone who wishes to advance the development of the GNU system, regardless of gender, race, ethnic group, physical appearance, religion, cultural background, and any other demographic characteristics, as well as personal political views. (Pay to read more...)

The Wassenaar Arrangement

Our first information about the new Wassenaar Arrangement came in the form of a newspaper article, which said that export of encryption software would be prohibited—and this seemed to include free software. So we posted an announcement seeking people in non-Wassenaar countries to participate in distribution and development of free software for encryption. (Pay to read more...)

Why programs must not limit the freedom to run them

Free software means software controlled by its users, rather than the reverse. Specifically, it means the software comes with four essential freedoms that software users deserve. At the head of the list is freedom 0, the freedom to run the program as you wish, in order to do what you wish. (Pay to read more...)

Beware of Contradictory “Support”

There are organizations that proclaim support for free software or the GNU Project, and teach classes in use of nonfree software. (Pay to read more...)

The Free Software Community After 20 Years: With great but incomplete success, what now?

It was 5 Jan 1984, twenty years ago today, that I quit my job at MIT to begin developing a free software operating system, GNU. While we have never released a complete GNU system suitable for production use, a variant of the GNU system is now used by tens of millions of people who mostly are not aware it is such. Free software does not mean “gratis”; it means that users are free to run the program, study the source code, change it, and redistribute it either with or without changes, either gratis or for a fee. (Pay to read more...)

A Response Letter to the Word Attachments

The document you have sent is not an Internet mail format. It is a proprietary format that is unreadable on several types of computers, including those used by visually-impaired readers and older computers used in foreign countries. In most cases, the size of the file is substantially larger than a plain-text file containing the same information. (Even if it LOOKS like plain-text to you, chances are it is not, and contains a considerable amount of unnecessary formatting codes, printer information, etc.) In addition, Microsoft Word documents are often infected with viruses. Excel, Access, and Power Point files are also vulnerable to infection. (Pay to read more...)

Releasing Free Software If You Work at a University

In the free software movement, we believe computer users should have the freedom to change and redistribute the software that they use. The “free” in “free software” refers to freedom: it means users have the freedom to run, modify and redistribute the software. Free software contributes to human knowledge, while nonfree software does not. Universities should therefore encourage free software for the sake of advancing human knowledge, just as they should encourage scientists and other scholars to publish their work. (Pay to read more...)

Software patents — Obstacles to software development

This is the transcription of a talk presented by Richard M. Stallman on March 25, 2002, at the University of Cambridge Computer Laboratory, organized by the Foundation for Information Policy Research. Transcript and audio recording by Nicholas Hill. HTML editing and links by Markus Kuhn. The original version is hosted at http://www.cl.cam.ac.uk/~mgk25/stallman-patents.html. (Pay to read more...)

Nonfree DRM'd Games on GNU/Linux: Good or Bad?

A well known company, Valve, that distributes nonfree computer games with Digital Restrictions Management, recently announced it would distribute these games for GNU/Linux. What good and bad effects can this have? (Pay to read more...)

When Free Software Isn't (Practically) Superior

The Open Source Initiative's mission statement reads, “Open source is a development method for software that harnesses the power of distributed peer review and transparency of process. The promise of open source is better quality, higher reliability, more flexibility, lower cost, and an end to predatory vendor lock-in.” (Pay to read more...)

Why Software Should Not Have Owners

Digital information technology contributes to the world by making it easier to copy and modify information. Computers promise to make this easier for all of us. (Pay to read more...)

The Problem Is Software Controlled By Its Developer

I fully agree with Jonathan Zittrain's conclusion that we should not abandon general-purpose computers. Alas, I disagree completely with the path that led him to it. He presents serious security problems as an intolerable crisis, but I'm not convinced. Then he forecasts that users will panic in response and stampede toward restricted computers (which he calls “appliances”), but there is no sign of this happening. (Pay to read more...)

Letter from RMS to Tim O'Reilly

Here's a message that Richard M. Stallman sent to Tim O'Reilly on March 11, 2000, in regard to the statement by Jeff Bezos, CEO of Amazon, which called for software patents to last just 3 or 5 years. (Pay to read more...)

Harm from the Hague

Europeans have energetically opposed and thwarted the attempt to introduce software patents in Europe. A proposed treaty, now being negotiated, threatens to subject software developers in Europe and other countries to U.S. software patents — and other harmful laws from around the world. The problem is not just for programmers; authors of all kinds will face new dangers. Even the censorship laws of various countries could have globalized effect. (Pay to read more...)

Words to Avoid (or Use with Care) Because They Are Loaded or Confusing

There are a number of words and phrases that we recommend avoiding, or avoiding in certain contexts and usages. Some are ambiguous or misleading; others presuppose a viewpoint that we disagree with, and we hope you disagree with it too. (Pay to read more...)

When Free Software Depends on Nonfree

When a program is free software (free as in freedom), that means it gives users the four freedoms (gnu.org/philosophy/free-sw.html) so that they control what the program does. In most cases, that is sufficient for the program's distribution to be ethical; but not always. There are additional problems that can arise in specific circumstances. This article describes a subtle problem, where upgrading the free program requires using a nonfree program. (Pay to read more...)

Eben Moglen - Speech for Harvard Journal of Law & Technology

Eben Moglen is a Professor of Law & Legal History at Columbia Law School, and General Counsel for the Free Software Foundation (Pay to read more...)

How the Swedish Pirate Party Platform Backfires on Free Software

Note: each Pirate Party has its own platform. They all call for reducing copyright power, but the specifics vary. This issue may not apply to the other parties' positions. (Pay to read more...)

Measures Governments Can Use to Promote Free Software

This article suggests policies for a strong and firm effort to promote free software within the state, and to lead the rest of the country towards software freedom. (Pay to read more...)

Keep control of your computing, so it doesn't control you!

The World Wide Web, developed by Tim Berners-Lee in 1990 as a system for publishing and viewing information, is slowly being transformed into a system of remote computing. It will store your data, and data about you, often limiting your access to it but allowing FBI access at any time. It will do your computing for you, but you cannot control what it does. It provides various tempting attractions, but you must resist them. (Pay to read more...)

Saving Europe from Software Patents

Imagine that each time you made a software design decision, and especially whenever you used an algorithm that you read in a journal or implemented a feature that users ask for, you took a risk of being sued. (Pay to read more...)

Is Microsoft the Great Satan? (Old Version)

Many people think of Microsoft as the monster menace of the software industry. There is even a campaign to boycott Microsoft. This feeling has intensified since Microsoft expressed active hostility towards free software. (Pay to read more...)

Why Software Should Be Free

The existence of software inevitably raises the question of how decisions about its use should be made. For example, suppose one individual who has a copy of a program meets another who would like a copy. It is possible for them to copy the program; who should decide whether this is done? The individuals involved? Or another party, called the “owner”? (Pay to read more...)

Science must push copyright aside

Many points that lead to a conclusion that software freedom must be universal often apply to other forms of expressive works, albeit in different ways. This essay concerns the application of principles related to software freedom to the area of literature. Generally, such issues are orthogonal to software freedom, but we include essays like this here since many people interested in Free Software want to know more about how the principles can be applied to areas other than software. (Pay to read more...)

Motives For Writing Free Software

Don't make the mistake of supposing that all software development has one simple motive. Here are some of the motives we know influence many people to write free software. (Pay to read more...)

When a Company Asks For Your Copyright

Companies that develop free software and release it under the GNU GPL sometimes distribute some copies of the code in other ways. If they distribute the exact same code under a different license to certain users that pay for this, typically permitting including the code in proprietary programs, we call it “selling exceptions”. If they distribute some version of the code solely in a proprietary manner, we call that releasing a purely proprietary version of the program. (Pay to read more...)

Why Audio Format Matters

More information about Xiph.org (the organization that created Ogg Vorbis) and the importance of free distribution formats is available. (Pay to read more...)

What Is the Right Way to Upgrade an Installation of Windows?

It is commonplace in the computing field to urge users to “upgrade” to newer versions of Windows (and other nonfree programs) so as to get fixes for “security.” This conclusion follows from the assumption that these programs are honest software, designed to treat the user right. We do not expect that to be the case, and we know it is not the case for Windows. Therefore, we make a different recommendation. (Pay to read more...)

Thank You, Larry McVoy

For the first time in my life, I want to thank Larry McVoy. He recently eliminated a major weakness of the free software community, by announcing the end of his campaign to entice free software projects to use and promote his nonfree software. Soon, Linux development will no longer use this program, and no longer spread the message that nonfree software is a good thing if it's convenient. (Pay to read more...)

Linux, GNU, and freedom

Since Joe Barr's article criticized my dealings with SIGLINUX, I would like to set the record straight about what actually occurred, and state my reasons. (Pay to read more...)

Speeches and Interviews

See the video recording (and slides) of Richard Stallman's TEDx talk in Geneva, Switzerland on April 7, 2014. (Pay to read more...)

Copyrighting fire!

I was in the pub last night, and a guy asked me for a light for his cigarette. I suddenly realised that there was a demand here and money to be made, and so I agreed to light his cigarette for 10 pence, but I didn't actually give him a light, I sold him a license to burn his cigarette. My fire-license restricted him from giving the light to anybody else, after all, that fire was my property. He was drunk, and dismissing me as a loony, but accepted my fire (and by implication the licence which governed its use) anyway. Of course in a matter of minutes I noticed a friend of his asking him for a light and to my outrage he gave his cigarette to his friend and pirated my fire! I was furious, I started to make my way over to that side of the bar but to my added horror his friend then started to light other people's cigarettes left, right, and centre! Before long that whole side of the bar was enjoying MY fire without paying me anything. Enraged I went from person to person grabbing their cigarettes from their hands, throwing them to the ground, and stamping on them. (Pay to read more...)

Essays and Articles

This page lists a series of articles describing the philosophy of the free software movement, which is the motivation for our development of the free software operating system GNU. (Pay to read more...)

Fighting Software Patents - Singly and Together

Software patents are the software project equivalent of land mines: each design decision carries a risk of stepping on a patent, which can destroy your project. (Pay to read more...)

Free Software Movement

People use free software operating systems such as GNU/Linux for various reasons. Many users switch for practical reasons: because the system is powerful, because it is reliable, or for the convenience of being able to change the software to do what you need. (Pay to read more...)

Free Hardware and Free Hardware Designs

Most of this article was published in two parts in Wired in March 2015. (Pay to read more...)

How Much Surveillance Can Democracy Withstand?

A version of this article was first published in Wired in October 2013. Also consider reading “A radical proposal to keep your personal data safe,” published in The Guardian in April 2018. (Pay to read more...)

Patent Reform Now! Mail USPTO before 12 April 2001!

[This page remains here for historical interest; we will post the results of this campaign when we hear who who has been put on the committee.] (Pay to read more...)

Copyright versus Community in the Age of Computer Networks (2000)

Mr Stallman arrives a few minutes after the appointed hour of commencement of his talk to address a hushed and respectful audience. He speaks with great precision and almost no hesitation in a pronounced Boston accent. (Pay to read more...)

Android and Users' Freedom

To what extent does Android respect the freedom of its users? For a computer user that values freedom, that is the most important question to ask about any software system. (Pay to read more...)

The Motif License

A couple of weeks ago, the Open Group changed the license of Motif, inviting free software developers to use it. However, the new Motif license does not fit either the definition of free software, or the looser definition of open source software. (Pay to read more...)

Misinterpreting Copyright—A Series of Errors

Something strange and dangerous is happening in copyright law. Under the US Constitution, copyright exists to benefit users—those who read books, listen to music, watch movies, or run software—not for the sake of publishers or authors. Yet even as people tend increasingly to reject and disobey the copyright restrictions imposed on them “for their own benefit,” the US government is adding more restrictions, and trying to frighten the public into obedience with harsh new penalties. (Pay to read more...)

Why Call It The Swindle?

I go out of my way to call nasty things by names that criticize them. I call Apple's user-subjugating computers the “iThings,” and Amazon's abusive e-reader the “Swindle.” Sometimes I refer to Microsoft's operating system as “Losedows”; I referred to Microsoft's first operating system as “MS-Dog.”[1] Of course, I do this to vent my feelings and have fun. But this fun is more than personal; it serves an important purpose. Mocking our enemies recruits the power of humor into our cause. (Pay to read more...)

Why There Are No GIF Files on GNU Web Pages

There is no special patent threat to GIF format nowadays as far as we know; the patents that were used to attack GIF have expired. Nonetheless, this article will remain pertinent as long as programs can be forbidden by patents, since the same sorts of things could happen in any area of computing. See our web site policies regarding GIFs, and our web guidelines. (Pay to read more...)

E-books must increase our freedom, not decrease it

This essay was originally published by The Guardian, on 17 April 2012, as “Technology Should Help Us Share, Not Constrain Us”, with some surprise editing. This version incorporates parts of that editing while restoring parts of the original text. (Pay to read more...)

MyDoom and You

I grew up in a community whose other members sometimes committed crimes as serious as murder. The city of New York, with its 8 million inhabitants, had hundreds of murders each year, mostly committed by people who lived in the city. Violent assaults and robberies were even more common. (Pay to read more...)

Free Software Is Even More Important Now

A substantially edited version of this article was published in Wired. (Pay to read more...)

Third Party Ideas

These articles give other people's philosophical opinions in support of free software, or related issues, and don't speak for the GNU project — but we more or less agree with them. (Pay to read more...)

How Free Software and Open Source Relate as Categories of Programs

Among all programs that are open source, only a minuscule fraction are not free. If the bottom row were drawn to scale, its text would have to be in a tiny font, perhaps too small to read. (Pay to read more...)

The Danger of Software Patents (2001)

Speech given at Model Engineering College, Government of Kerala, India, 2001 (audio recording) (Pay to read more...)

Regarding Gnutella

“Gnutella” is, at present, the name for a protocol for distributed file sharing, mostly used for music files. The name also sometimes refers to the network itself, as well as the original Gnutella software. The situation is quite confusing. For more on Gnutella's origin and history, please refer to the Wikipedia article on the subject. (Pay to read more...)

GNU-FSF cooperation update

The Free Software Foundation and the GNU Project leadership are defining how these two separate groups cooperate. Our mutual aim is to work together as peers, while minimizing change in the practical aspects of this cooperation, so we can advance in our common free software mission. (Pay to read more...)

Why hackathons should insist on free software

Hackathons are an accepted method of giving community support to digital development projects. The community invites developers to join an event which offers an encouraging atmosphere, some useful resources, and the opportunity to work on useful projects. Most hackathons choose the projects they will support, based on stated criteria. (Pay to read more...)

Freedom or Power?

The love of liberty is the love of others; the love of power is the love of ourselves. -- William Hazlitt (Pay to read more...)

Copyright versus Community in the Age of Computer Networks

Keynote speech at LIANZA conference, Christchurch Convention Centre, 12 October 2009. There is an older version of this talk, from 2000. (Pay to read more...)

Patent Reform Is Not Enough

When people first learn about the problem of software patents, their attention is often drawn to the egregious examples: patents that cover techniques already widely known. These techniques include sorting a collection of formulae so that no variable is used before it is calculated (called “natural order recalculation” in spreadsheets), and the use of exclusive-or to modify the contents of a bit-map display. (Pay to read more...)

Philosophy of the GNU Project — Latest Articles

Please send general FSF & GNU inquiries to . There are also other ways to contact the FSF. Broken links and other corrections or suggestions can be sent to . (Pay to read more...)

The Curious History of Komongistan (Busting the term “intellectual property”)

The purpose of this parable is to illustrate just how misguided the term “intellectual property” is. When I say that the term “intellectual property” is an incoherent overgeneralization, that it lumps together laws that have very little in common, and that its use is an obstacle to clear thinking about any of those laws, many can't believe I really mean what I say. So sure are they that these laws are related and similar, species of the same genus as it were, that they suppose I am making a big fuss about small differences. Here I aim to show how fundamental the differences are. (Pay to read more...)

The Bug Nobody is Allowed to Understand

In the 1980s, proprietary software users discovered the problem of the bug that nobody is allowed to understand. When a problem occurs in the interaction of multiple proprietary software packages with different developers, none of them is allowed to study the source code of all the pertinent programs. As a result, none of them can understand the bad interaction between them, and the bug is never fixed except by accident. (Pay to read more...)

History and Philosophy of the GNU Project

Translation of a speech that was given in German at the CLOWN (Cluster of Working Nodes— a 512-node cluster project of Debian GNU/Linux machines) in the University of Paderborn, Germany, on December 5th, 1998. (Pay to read more...)

Opposing The European Software Patent Directive

The European Union software patent directive, which this 2003 article opposed, was ultimately dropped by its own supporters after facing lots of opposition. However, they later found another way to impose software patents on most of Europe: through fine print in the unitary patent. (Pay to read more...)

Imperfection is not the same as oppression

When a free program lacks capabilities that users want, that is unfortunate; we urge people to add what is missing. Some would go further and claim that a program is not even free software if it lacks certain functionality — that it denies freedom 0 (the freedom to run the program as you wish) to users or uses that it does not support. This argument is misguided because it is based on identifying capacity with freedom, and imperfection with oppression. (Pay to read more...)

World Summit on the Information Society

(Originally published on Newsforge.) (Pay to read more...)

RMS on Radio NZ - October 2009

There are people who are totally opposed to copyright and criticize me for not going far enough, but what I say is that works whose use is to do practical jobs, these works must be Free in the sense of the Four Freedoms that define Free Software. You've got to be free to republish them, to modify them, publish your modified versions, because this is what the users of the works need in their lives. But of course there are lots of works that don't, that contribute to society in other ways, they're not functional practical works. (Pay to read more...)

Netscape and Free Software

People have been writing with joy to tell us that Netscape has announced a plan to make its browser free software, under the GNU GPL. (Pay to read more...)

The GNU GPL and the American Way

Microsoft describes the GNU General Public License (GNU GPL) as an “open source” license, and says it is against the American Way. To understand the GNU GPL, and recognize how it embodies the American Way, you must first be aware that the GPL was not designed for open source. (Pay to read more...)

New Developments in Patent Practice: Assessing the Risks and Cost of Portfolio Licensing and Hold-ups

This is a transcript of a panel presentation given by Daniel B. Ravicher as the executive director of the Public Patent Foundation on Wednesday, November 10, 2004, at a conference organized by the Foundation for a Free Information Infrastructure (FFII) in Brussels, Belgium. The transcription was done by Aendrew Rininsland. (Pay to read more...)

On the Microsoft Verdict

Many GNU/Linux users think of the system as competition for Microsoft. But the Free Software Movement aims to solve a problem that is much bigger than Microsoft: proprietary, nonfree software, designed to keep users helpless and prohibit cooperation. Microsoft is the largest developer of such software, but many other companies treat the users' freedom just as badly; if they have not shackled as many users as Microsoft, it is not for lack of trying. (Pay to read more...)

A Free Digital Society - What Makes Digital Inclusion Good or Bad?

Projects with the goal of digital inclusion are making a big assumption. They are assuming that participating in a digital society is good, but that's not necessarily true. Being in a digital society can be good or bad, depending on whether that digital society is just or unjust. There are many ways in which our freedom is being attacked by digital technology. Digital technology can make things worse, and it will, unless we fight to prevent it. (Pay to read more...)

On the Netscape Public License

(The original version of this article was written in March 1998 about a draft of the NPL. Our first article on the subject was Netscape is considering making the Netscape browser free software.) (Pay to read more...)

Technological Neutrality and Free Software

Proprietary developers arguing against laws to move towards free software often claim this violates the principle of “technological neutrality”. The conclusion is wrong, but where is the error? (Pay to read more...)

Is Digital Inclusion a Good Thing? How Can We Make Sure It Is?

This essay was first published in the proceedings of the ITU's 2009 Kaleidoscope conference in Mar del Plata, Argentina. (Pay to read more...)

Funding Art vs Funding Software

I've proposed two new systems to fund artists in a world where we have legalized sharing (noncommercial redistribution of exact copies) of published works. One is for the state to collect taxes for the purpose, and divide the money among artists in proportion to the cube root of the popularity of each one (as measured by surveying samples of the population). The other is for each player to have a “donate” button to anonymously send a small sum (perhaps 50 cents, in the US) to the artists who made the last work played. These funds would go to artists, not to their publishers. (Pay to read more...)

Surveillance Testimony

Richard Stallman's statement to the Cambridge City Council, Jan 22, 2018, about the proposed Cambridge surveillance ordinance. (Pay to read more...)

Posting Videos

Someone asked me where to upload a video recording on some “free software based streaming platform.” Here's how I responded. (Pay to read more...)

The GNU Manifesto

The GNU Manifesto (which appears below) was written by Richard Stallman in 1985 to ask for support in developing the GNU operating system. Part of the text was taken from the original announcement of 1983. Through 1987, it was updated in minor ways to account for developments; since then, it seems best to leave it unchanged. (Pay to read more...)

RMS lecture at KTH (Sweden), 30 October 1986

(Kungliga Tekniska Högskolan (Royal Institute of Technology)) Stockholm, Sweden (Pay to read more...)

Anonymous Payment by Phone

Here is an idea for an anonymous payment system that would be useful for some applications. (Pay to read more...)

Copyleft: Pragmatic Idealism

Every decision a person makes stems from the person's values and goals. People can have many different goals and values; fame, profit, love, survival, fun, and freedom, are just some of the goals that a good person might have. When the goal is a matter of principle, we call that idealism. (Pay to read more...)

Why Programs Should be Shared

Richard Stallman wrote this text, which was found in a file dated May 1983, though it is not clear whether it was written then or earlier. In May 1983 he was privately considering plans to develop a free operating system, but he may not yet have decided to make it a Unix-like system rather than something like the MIT Lisp Machine. (Pay to read more...)

A wise user judges each Internet usage scenario carefully

Businesses now offer computing users tempting opportunities to let others keep their data and do their computing. In other words, to toss caution and responsibility to the winds. (Pay to read more...)

The GNU Project

Originally published in the book Open Sources. Richard Stallman was never a supporter of “open source”, but contributed this article so that the ideas of the free software movement would not be entirely absent from that book. (Pay to read more...)

The Right to Read

This article appeared in the February 1997 issue of Communications of the ACM (Volume 40, Number 2). (Pay to read more...)

15 Years of Free Software

It is now just over 15 years since the beginning of the Free Software Movement and the GNU Project. We have come a long way. (Pay to read more...)

Comments on Roderick Long's Article

Roderick Long's article can be found at this address. (Pay to read more...)

My Lisp Experiences and the Development of GNU Emacs

Since none of my usual speeches have anything to do with Lisp, none of them were appropriate for today. So I'm going to have to wing it. Since I've done enough things in my career connected with Lisp I should be able to say something interesting. (Pay to read more...)

GNU/Linux FAQ by Richard Stallman

To learn more about this issue, you can also read our page on Linux and the GNU Project, our page on Why GNU/Linux? and our page on GNU Users Who Have Never Heard of GNU. (Pay to read more...)

The Future of Jiyuna Software

Mr. Richard Stallman, GNU Project: I am going to speak about free software and, first of all, its ethical, social and political significance, and secondly, something about its economic consequences. (Pay to read more...)

The Anatomy of a Trivial Patent

Programmers are well aware that many of the existing software patents cover laughably obvious ideas. Yet the patent system's defenders often argue that these ideas are nontrivial, obvious only in hindsight. And it is surprisingly difficult to defeat them in debate. Why is that? (Pay to read more...)

The JavaScript Trap

You may be running nonfree programs on your computer every day without realizing it—through your web browser. (Pay to read more...)

FSF's Opinion of the Apple Public Source License (APSL) 2.0

The Apple Public Source License (APSL) version 2.0 qualifies as a free software license. Apple's lawyers worked with the FSF to produce a license that would qualify. The problems previously described on this page are still potential issues for other possible licenses, but they do not apply to version 2.0 of the APSL. We encourage everyone who uses any version of Apple Software under the APSL to use the terms of version 2.0 rather than that of any earlier license. (Pay to read more...)

Selling Exceptions to the GNU GPL

Selling exceptions means that the copyright holder of the code releases it to the general public under a valid free software license, then separately offers users the option of paying for permission to use the same code under different terms, for instance terms allowing its inclusion in proprietary applications. (Pay to read more...)

Censoring My Software

Last summer, a few clever legislators proposed a bill to “prohibit pornography” on the Internet. Last fall, the right-wing Christians made this cause their own. Last week, President Clinton signed the bill. This week, I'm censoring GNU Emacs. (Pay to read more...)

Bill Gates and Other Communists

Originally published in 2005 in CNET News.com. (Pay to read more...)

What is free software?

Have a question about free software licensing not answered here? See our other licensing resources, and if necessary contact the FSF Compliance Lab at licensing@fsf.org. (Pay to read more...)

U.S. Congress Threatens to Establish a New Kind of Monopoly

Companies that want monopoly powers to control public use of the information we get from data bases are trying to pass a law this year in the U.S. — creating, for the first time, a private monopoly over repeating publicly known information. They are using the “good bill, bad bill” method; the “bad” bill is HR 354; the “good” bill is HR 1858. (Pay to read more...)

The Structure and Administration of the GNU Project

An Org version of this document is also available. (Pay to read more...)

What's in a Name?

To learn more about this issue, you can read our GNU/Linux FAQ, our page on Linux and the GNU Project, which gives a history of the GNU/Linux system as it relates to this issue of naming, and our page on GNU Users Who Have Never Heard of GNU. (Pay to read more...)

About the GNU Operating System

The name “GNU” is a recursive acronym for “GNU's Not Unix!”; it is pronounced as one syllable with a hard g. (Pay to read more...)

Letter to the Editor of Dr. Dobb's Journal

I am sure you don't realize how ironic it is to associate me and Tim O'Reilly with “open source”. (Pay to read more...)

The Hacker Community and Ethics: An Interview with Richard M. Stallman, 2002

Published in Finnish in Tere Vadén & Richard M. Stallman: Koodi vapaaksi - Hakkerietiikan vaativuus, Tampere University Press. 2002, sivut 62-80. (Pay to read more...)

FLOSS and FOSS

The two political camps in the free software community are the free software movement and open source. The free software movement is a campaign for computer users' freedom; we say that a nonfree program is an injustice to its users. The open source camp declines to see the issue as a matter of justice to the users, and bases its arguments on practical benefits only. (Pay to read more...)

The GNU GPL and the American Dream

When I was in grade school, right here in the United States of America, I was taught that our country was the “land of opportunity”. My teachers told me that my country was special, because anyone with a good idea and a drive to do good work could make a living, and be successful too. They called it the “American Dream”. (Pay to read more...)

It's not the Gates, it's the bars

by Richard Stallman Founder, Free Software Foundation (Pay to read more...)

How To Pronounce GNU

The name “GNU” is a recursive acronym for “GNU's Not Unix!”; it is pronounced as one syllable with a hard g, like “grew” but with the letter “n” instead of “r”. (Pay to read more...)

The Ballad of Dennis Karjala

Come all you brave songwriters, and listen unto me, I'll tell you of a man who fought all for our liberty. With nothing but a web site and a stout heart in his breast, he fought the Disney company and the greedy Gershwin Trust. (Pay to read more...)

Initial Announcement

This is the original announcement of the GNU Project, posted by Richard Stallman on September 27, 1983. (Pay to read more...)

The Curious Incident of Sun in the Night-Time

We leave this web page in place for the sake of history, but as of December 2006, Sun is in the middle of rereleasing its Java platform under the GNU GPL. When this license change is completed, we expect Sun's Java will be free software. (Pay to read more...)

We Can Put an End to Word Attachments

Don't you just hate receiving Word documents in email messages? Word attachments are annoying, but, worse than that, they impede people from switching to free software. Maybe we can stop this practice with a simple collective effort. All we have to do is ask each person who sends us a Word file to reconsider that way of doing things. (Pay to read more...)

FSF Statement in Response to Proposed Revised Final Judgment in Microsoft vs. United States

Renata B. Hesse Antitrust Division U.S. Department of Justice 601 D Street NW Suite 1200 Washington, DC 20530-0001 (Pay to read more...)

National Institute of Technology - Trichy - India - 17 February 2004

Transcript of the speech on “Free Software” by Dr. Richard Stallman on Feb 17, 2004 at the National Institute of Technology, Trichy, TN, India. (Pay to read more...)

Why “Free Software” is better than “Open Source”

This article has been superseded by a major rewrite, “Open Source” misses the point of Free Software, which is much better. We keep this version for historical reasons. (Pay to read more...)

Reevaluating Copyright: The Public Must Prevail

The legal world is aware that digital information technology poses “problems for copyright,” but has not traced these problems to their root cause: a fundamental conflict between publishers of copyrighted works and the users of these works. The publishers, understanding their own interest, have set forth a proposal through the Clinton Administration to fix the “problems” by deciding the conflict in their favor. This proposal, the Lehman White Paper [2], was the principal focus of the “Innovation and the Information Environment” conference at the University of Oregon (November 1995). (Pay to read more...)

GPL-compliant version of RTLinux Open Patent License in Works

The Free Software Foundation and Finite State Machine Labs Inc. (FSMLabs) today announced the release of the Open RTLinux patent license Version 2 fully compliant with the Free Software Foundation's GNU General Public License (GNU GPL). The Open Patent License grants the right to use U.S. Patent No. 5,995,745 in GPL-covered free software without payment of a royalty. This license protects GPL use of the RTLinux process. (Pay to read more...)

Ubuntu Spyware: What to Do?

Since Ubuntu version 16.04, the spyware search facility is now disabled by default. It appears that the campaign of pressure launched by this article has been partly successful. Nonetheless, offering the spyware search facility as an option is still a problem, as explained below. Ubuntu should make the network search a command users can execute from time to time, not a semipermanent option for users to enable (and probably forget). (Pay to read more...)

The Law of Success 2.0: An Interview with Richard Stallman

[ This is an interview between Haegwan Kim and Richard M. Stallman. ] (Pay to read more...)

GNU Users Who Have Never Heard of GNU

To learn more about this issue, you can also read our GNU/Linux FAQ, our page on Why GNU/Linux? and our page on Linux and the GNU Project. (Pay to read more...)

Viral Code and Vaccination

When others hurt me, I try to defend myself. But some tell me that this makes them sick. They tell me that I should permit people to rob me of my work. They tell me that I should never try to defend myself. (Pay to read more...)

Freedom—or Copyright?

This essay addresses how the principles of software freedom apply in some cases to other works of authorship and art. It's included here since it involves the application of the ideas of free software. (Pay to read more...)

Why Free Software needs Free Documentation

The biggest deficiency in free operating systems is not in the software—it is the lack of good free manuals that we can include in these systems. Many of our most important programs do not come with full manuals. Documentation is an essential part of any software package; when an important free software package does not come with a free manual, that is a major gap. We have many such gaps today. (Pay to read more...)

Correcting My Mistake about French Law

For several years I've said in my speeches that it was a crime in France, punishable by imprisonment, to have a copy of the free software that can decrypt the video on a DVD. That encryption is an example of DRM (Digital Restrictions Management), the malicious features designed to restrict users. (Pay to read more...)

Shaping Collaborative ICT Development and Initiatives for Global Prosperity

[From a presentation given at the Second Global Knowledge Conference in Kuala Lumpur, Malaysia, on 7 March 2000.] (Pay to read more...)

Free but Shackled - The Java Trap

Since this article was first published, Sun (now part of Oracle) has relicensed most of its Java platform reference implementation under the GNU General Public License, and there is now a free development environment for Java. Thus, the Java language as such is no longer a trap. (Pay to read more...)

Richard Stallman's speech in Kolkata (Calcutta), August 2006

There are a number of reasons why I'm not a communist. The first of them is that I'm not against the idea of private business, as long as it does not oppose people's human rights and the interests of society. Business is legitimate as long as it treats the rest of society decently. (Pay to read more...)

Help Protect the Rights to Write Both Nonfree and Free Software

The League for Programming Freedom is inactive now and its website is archived. Please join our End Software Patents campaign! (Pay to read more...)

Lest CodePlex perplex

Many in our community are suspicious of the CodePlex Foundation. With its board of directors dominated by Microsoft employees and ex-employees, plus apologist Miguel de Icaza, there is plenty of reason to be wary of the organization. But that doesn't prove its actions will be bad. (Pay to read more...)

The Danger of Software Patents

This is the transcript of a talk presented by Richard M. Stallman on 8 October 2009 at Victoria University of Wellington. (Pay to read more...)

Amazon Letter from Nat

This is a letter from Nat Friedman regarding the Amazon Boycott. Please read more about this boycott and support us by making a link from your own home page! (Pay to read more...)

Free Software and Sustainable Development

First published on insnet.org in 2005. (Pay to read more...)

Only the Free World Can Stand Up to Microsoft

This article is part of our section of Third Party Ideas. (Pay to read more...)

An interview for OUGH!

This is a transcript of an interview with Richard Stallman conducted by Theodoros Papatheodorou [1] in May, 2012. (Pay to read more...)

Network Services Aren't Free or Nonfree; They Raise Other Issues

Programs and services are different kinds of entities. A program is a work that you can execute; a service is an activity that you might interact with. (Pay to read more...)

Computing ‘progress’: good and bad

The BBC invited me to write an article for their column series, The Tech Lab, and this is what I sent them. (It refers to a couple of other articles published in that series.) The BBC was ultimately unwilling to publish it with a copying-permission notice, so I have published it here. (Pay to read more...)

Studies Find Reward Often No Motivator

by Alfie Kohn Special to the Boston Globe [Reprinted with permission of the author from the Monday 19 January 1987 Boston Globe.] (Pay to read more...)

Your Freedom Needs Free Software

Many of us know that governments can threaten the human rights of software users through censorship and surveillance of the Internet. Many do not realize that the software they run on their home or work computers can be an even worse threat. Thinking of software as ‘just a tool’, they suppose that it obeys them, when in fact it often obeys others instead. (Pay to read more...)

Free Software and (e-)Government

This article originally appeared in The Guardian — March 3, 2005 (Pay to read more...)

Protect Postal Privacy

The following information was written by Kathleen Ellis. The Free Software Foundation does not lead this campaign, but we support it by spreading the word and hope that you do too. (Pay to read more...)

Freedom—or Copyright? (Old Version)

There is an updated version of this article. (Pay to read more...)

Review: Boldrin and Levine, “The case against intellectual property”

The Case Against Intellectual Property, by Boldrin and Levine, argues on economic grounds that authors can make money by selling their work even in a world where everyone can copy. (Pay to read more...)

Who does that server really serve?

(The first version was published in Boston Review.) (Pay to read more...)

Using GNU FDL

If you know someone who is writing a manual about free software, and looking towards commercial publication, you have a chance to help the Free Software Movement a great deal with a small amount of work: by suggesting the idea of publishing the manual under the GNU Free Documentation License. (Pay to read more...)

Software Patents and Literary Patents

The first version of this article was published in The Guardian, of London, on June 23, 2005. It focused on the proposed European software patent directive. (Pay to read more...)

Software Libre and Commercial Viability

(Nov 12th 1998, published in February 1999) (Pay to read more...)

Solutions to the Software Patent Problem

Speech given at the Locatelli Center, Santa Clara University, in November 2012  (video,  metadata) (Pay to read more...)

FSF's Position on W3 Consortium “Royalty-Free” Patent Policy

The Free Software Foundation, represented by Professor Moglen of Columbia University Law School, has participated in the W3 Consortium Patent Policy Working Group from November 2001 through the present. The current W3C patent policy, which in most cases requires “royalty-free” or “RF” patent licenses, is a significant step in the direction of protecting the World Wide Web from patent-encumbered standards. But it falls short because a loophole allows conditions on these patent licenses that would prohibit free software implementations of the standards. (Pay to read more...)

Reject IP Enforcement Directive

A coalition of civil liberties and consumer groups opposes a new proposed directive for stricter punishment for copyright and patent infringement: (Pay to read more...)

The Right Way to Tax DAT

[This article does not concern software, not directly. It concerns a parallel issue about sharing copies of music.] (Pay to read more...)

Free Software: Freedom and Cooperation

Transcript of Richard M. Stallman's speech, “Free Software: Freedom and Cooperation”, given at New York University in New York, NY, on 29 May 2001 (Pay to read more...)

Microsoft's New Monopoly

This article was written in July 2005. Microsoft adopted a different policy in 2006, so the specific policies described below and the specific criticisms of them are only of historical significance. The overall problem remains, however: Microsoft's cunningly worded new policy does not give anyone clear permission to implement OOXML. (Pay to read more...)

E-Books: Freedom Or Copyright

This is a slightly modified version of an article published in Technology Review in 2000. (Pay to read more...)

Stop H.R. 3028 - Protect the Net - Stop the Trademark Monopolists

This is posted on behalf of Marc Rotenberg . More information is available by following the links at the end of this page. (Pay to read more...)

The Free Software Movement and UDI

A project called UDI (Uniform Driver Interface) aims to define a single interface between operating system kernels and device drivers. What should the free software movement make of this idea? (Pay to read more...)

The X Window System Trap

To copyleft or not to copyleft? That is one of the major controversies in the free software community. The idea of copyleft is that we should fight fire with fire—that we should use copyright to make sure our code stays free. The GNU General Public License (GNU GPL) is one example of a copyleft license. (Pay to read more...)

(Formerly) Boycott Amazon!

The FSF decided to end its boycott of Amazon in September 2002. (We forgot to edit this page at the time.) We could not tell the precise result of the lawsuit against Barnes & Noble, but it did not seem to be very harmful to the defendant. And Amazon had not attacked anyone else. (Pay to read more...)

Is Microsoft the Great Satan?

Many people think of Microsoft as the monster menace of the software industry. There is even a specific campaign to boycott Microsoft. This feeling has intensified since Microsoft expressed active hostility towards free software. (Pay to read more...)

blog/articles/en/amazonpatent.html

A method and system for placing an order to purchase an item via the Internet. The order is placed by a purchaser at a client system and received by a server system. The server system receives purchaser information including identification of the purchaser, payment information, and shipment information from the client system. The server system then assigns a client identifier to the client system and associates the assigned client identifier with the received purchaser information. The server system sends to the client system the assigned client identifier and an HTML document identifying the item and including an order button. The client system receives and stores the assigned client identifier and receives and displays the HTML document. In response to the selection of the order button, the client system sends to the server system a request to purchase the identified item. The server system receives the request and combines the purchaser information associated with the client identifier of the client system to generate an order to purchase the item in accordance with the billing and shipment information whereby the purchaser effects the ordering of the product by selection of the order button. RMS Note: Translated into ordinary language, this means they ask you for some information about you, record it, and send your browser a cookie containing a customer number to identify you. Then, every time you click on a page from the same server, the browser sends back the cookie that it previously got from the same server. (That is not Amazon's idea; that is what browsers always do with cookies.) This gives the server your customer number. It uses your customer number to find your customer information. Inventors: Hartman; Peri (Seattle, WA); Bezos; Jeffrey P. (Seattle, WA); Kaphan; Shel (Seattle, WA); Spiegel; Joel (Seattle, WA) Assignee: Amazon.com, Inc. (Seattle, WA) Appl. No.: 928951 Filed: September 12, 1997 U.S. Class: 705/26; 705/27; 345/962 Intern'l Class: G06F 017/60 Field of Search: 705/26,27 380/24,25 235/2,375,378,381 395/188.01 345/962 References Cited [Referenced By] U.S. Patent Documents 4937863Jun., 1990Robert et al.380/4. 5204897Apr., 1993Wyman380/4. 5260999Nov., 1993Wyman384/4. 5627940May., 1997Rohra et al.395/12. 5640501Jun., 1997Turpin395/768. 5640577Jun., 1997Scharmer395/768. 5664111Sep., 1997Nahan et al.705/27. 5715314Feb., 1998Payne et al.380/24. 5715399Feb., 1998Bezos705/27. 5727163Mar., 1998Bezos705/27. 5745681Apr., 1998Levine et al.395/200. 5758126May., 1998Daniels et al.395/500. Foreign Patent Documents 0855687 A2Jan., 1998EP. 0855659 A1Jan., 1998EP. 0845747A2Jun., 1998EP. 0883076A2Dec., 1998EP. WO 95/30961Nov., 1995WO. WO 96/38799Dec., 1996WO. WO 98/21679May., 1998WO. Other References Jones, Chris. "Java Shopping Cart and Java Wallet; Oracles plans to join e-commerce initiative." Mar. 31, 1997, InfoWorld Media Group. "Pacific Coast Software Software creates virtual shopping cart." Sep. 6, 1996. M2 Communications Ltd 1996. "Software Creates Virtual Shopping Cart." Sep. 5, 1996. Business Wire, Inc. Terdoslavich, William. "Java Electronic Commerce Framework." Computer Reseller News, Sep. 23, 1996, CMP Media, Inc., 1996, pp. 126, http://www.elibrary.com/id/101/101/getdoc . . . rydocid=902269@library.sub.-- d&dtype=0.about.0&dinst=. ›Accessed Nov. 19, 1998!. "Internet Access: Disc Distributing Announces Interactive World Wide." Cambridge Work-Group Computing Report, Cambridge Publishing, Inc., 1995, http://www.elibrary.com/id/101/101/getdoc . . . docid=1007497@library.sub.-- a&dtype=0.about.0&dinst=0. ›Accessed Nov. 19, 1998!. Nance, Barry, "Reviews: A Grand Opening for Virtual Storefront With Middleware." Jun. 1, 1997, CMP Media, Inc. 1997, p. 80, http://www.elibrary.com/getdoc.egi?id=117 . . . docid=1257247@library.sub.-- a&dtype=0.about.0&dinst=0. ›Accessed Nov. 19, 1998!. "Go-Cart Shopping Cart Software Features." 1996 GO International, Inc. http://www.go-cart.com/features.html. ›Accessed Nov. 19, 1998!. "PerlShop Manual (version 2.2)." 1996, ARPAnct Corp. http://www.w3u.com/grokksoft/shop/perlman.html. ›Accessed Nov. 19, 1998!. "Sax Software Announces Sax NetSell; Sax NetSell's design-time ActiveX controls make Internet commerce easy."1997, Sax Software Corp. Baron, Chris and Bob Weil, "Implementing a Web Shopping Cart," Dr. Dobb's Journal, Sep. 1996, pp. 64, 66, 68-69, and 83-85. Hoque, Reaz, "A Shopping Cart Application with JavaScript," Web Techniques, May 1998, pp. 63, 65-66, and 68. Primary Examiner: Trammell; James P. Assistant Examiner: Smith; Demetra R. Attorney, Agent or Firm: Perkins Coie LLP Claims 1. A method of placing an order for an item comprising: under control of a client system, displaying information identifying the item; and in response to only a single action being performed, sending a request to order the item along with an identifier of a purchaser of the item to a server system; under control of a single-action ordering component of the server system, receiving the request; retrieving additional information previously stored for the purchaser identified by the identifier in the received request; and generating an order to purchase the requested item for the purchaser identified by the identifier in the received request using the retrieved additional information; and fulfilling the generated order to complete purchase of the item whereby the item is ordered without using a shopping cart ordering model. RMS Note: Note that this list of elements includes a several things that any E-commerce web site must do. The result is a long list of elements, only a few of which have to do with one-click purchasing. 2. The method of claim 1 wherein the displaying of information includes displaying information indicating the single action. 3. The method of claim 1 wherein the single action is clicking a button. 4. The method of claim 1 wherein the single action is speaking of a sound. 5. The method of claim 1 wherein a user of the client system does not need to explicitly identify themselves when placing an order. 6. A client system for ordering an item comprising: an identifier that identifies a customer; a display component for displaying information identifying the item; a single-action ordering component that in response to performance of only a single action, sends a request to a server system to order the identified item, the request including the identifier so that the server system can locate additional information needed to complete the order and so that the server system can fulfill the generated order to complete purchase of the item; and a shopping cart ordering component that in response to performance of an add-to-shopping-cart action, sends a request to the server system to add the item to a shopping cart. 7. The client system of claim 6 wherein the display component is a browser. 8. The client system of claim 6 wherein the predefined action is the clicking of a mouse button. 9. A server system for generating an order comprising: a shopping cart ordering component; and a single-action ordering component including: a data storage medium storing information for a plurality of users; a receiving component for receiving requests to order an item, a request including an indication of one of the plurality of users, the request being sent in response to only a single action being performed; and an order placement component that retrieves from the data storage medium information for the indicated user and that uses the retrieved information to place an order for the indicated user for the item; and an order fulfillment component that completes a purchase of the item in accordance with the order placed by the single-action ordering component. 10. The server system of claim 9 wherein the request is sent by a client system in response to a single action being performed. 11. A method for ordering an item using a client system, the method comprising: displaying information identifying the item and displaying an indication of a single action that is to be performed to order the identified item; and in response to only the indicated single action being performed, sending to a server system a request to order the identified item whereby the item is ordered independently of a shopping cart model and the order is fulfilled to complete a purchase of the item. 12. The method of claim 11 wherein the server system uses an identifier sent along with the request to identify additional information needed to generate an order for the item. 13. The method of claim 12 wherein the identifier identifies the client system and the server system provides the identifier to the client system. 14. The method of claim 11 wherein the client system and server system communicate via the Internet. 15. The method of claim 11 wherein the displaying includes displaying an HTML document provided by the server system. 16. The method of claim 11 including sending from the server system to the client system a confirmation that the order was generated. 17. The method of claim 11 wherein the single action is clicking a mouse button when a cursor is positioned over a predefined area of the displayed information. 18. The method of claim 11 wherein the single action is a sound generated by a user. 19. The method of claim 11 wherein the single action is selection using a television remote control. 20. The method of claim 11 wherein the single action is depressing of a key on a key pad. 21. The method of claim 11 wherein the single action is selecting using a pointing device. 22. The method of claim 11 wherein the single action is selection of a displayed indication. 23. The method of claim 11 wherein the displaying includes displaying partial information supplied by the server system as to the identity of a user of the client system. 24. The method of claim 11 wherein the displaying includes displaying partial shipping information supplied by the server system. 25. The method of claim 11 wherein the displaying includes displaying partial payment information supplied by the server system. 26. The method of claim 11 wherein the displaying includes displaying a moniker identifying a shipping address for the customer. Description TECHNICAL FIELD The present invention relates to a computer method and system for placing an order and, more particularly, to a method and system for ordering items over the Internet. BACKGROUND OF THE INVENTION The Internet comprises a vast number of computers and computer networks that are interconnected through communication links. The interconnected computers exchange information using various services, such as electronic mail, Gopher, and the World Wide Web ("WWW"). The WWW service allows a server computer system (i.e., Web server or Web site) to send graphical Web pages of information to a remote client computer system. The remote client computer system can then display the Web pages. Each resource (e.g., computer or Web page) of the WWW is uniquely identifiable by a Uniform Resource Locator ("URL"). To view a specific Web page, a client computer system specifies the URL for that Web page in a request (e.g., a HyperText Transfer Protocol ("HTTP") request). The request is forwarded to the Web server that supports that Web page. When that Web server receives the request, it sends that Web page to the client computer system. When the client computer system receives that Web page, it typically displays the Web page using a browser. A browser is a special-purpose application program that effects the requesting of Web pages and the displaying of Web pages. Currently, Web pages are typically defined using HyperText Markup Language ("HTML"). HTML provides a standard set of tags that define how a Web page is to be displayed. When a user indicates to the browser to display a Web page, the browser sends a request to the server computer system to transfer to the client computer system an HTML document that defines the Web page. When the requested HTML document is received by the client computer system, the browser displays the Web page as defined by the HTML document. The HTML document contains various tags that control the displaying of text, graphics, controls, and other features. The HTML document may contain URLs of other Web pages available on that server computer system or other server computer systems. The World Wide Web is especially conducive to conducting electronic commerce. Many Web servers have been developed through which vendors can advertise and sell product. The products can include items (e.g., music) that are delivered electronically to the purchaser over the Internet and items (e.g., books) that are delivered through conventional distribution channels (e.g., a common carrier). A server computer system may provide an electronic version of a catalog that lists the items that are available. A user, who is a potential purchaser, may browse through the catalog using a browser and select various items that are to be purchased. When the user has completed selecting the items to be purchased, the server computer system then prompts the user for information to complete the ordering of the items. This purchaser-specific order information may include the purchaser's name, the purchaser's credit card number, and a shipping address for the order. The server computer system then typically confirms the order by sending a confirming Web page to the client computer system and schedules shipment of the items. Since the purchaser-specific order information contains sensitive information (e.g., a credit card number), both vendors and purchasers want to ensure the security of such information. Security is a concern because information transmitted over the Internet may pass through various intermediate computer systems on its way to its final destination. The information could be intercepted by an unscrupulous person at an intermediate system. To help ensure the security of the sensitive information, various encryption techniques are used when transmitting such information between a client computer system and a server computer system. Even though such encrypted information can be intercepted, because the information is encrypted, it is generally useless to the interceptor. Nevertheless, there is always a possibility that such sensitive information may be successfully decrypted by the interceptor. Therefore, it would be desirable to minimize the sensitive information transmitted when placing an order. The selection of the various items from the electronic catalogs is generally based on the "shopping cart" model. When the purchaser selects an item from the electronic catalog, the server computer system metaphorically adds that item to a shopping cart. When the purchaser is done selecting items, then all the items in the shopping cart are "checked out" (i.e., ordered) when the purchaser provides billing and shipment information. In some models, when a purchaser selects any one item, then that item is "checked out" by automatically prompting the user for the billing and shipment information. Although the shopping cart model is very flexible and intuitive, it has a downside in that it requires many interactions by the purchaser. For example, the purchaser selects the various items from the electronic catalog, and then indicates that the selection is complete. The purchaser is then presented with an order Web page that prompts the purchaser for the purchaser-specific order information to complete the order. That Web page may be prefilled with information that was provided by the purchaser when placing another order. The information is then validated by the server computer system, and the order is completed. Such an ordering model can be problematic for a couple of reasons. If a purchaser is ordering only one item, then the overhead of confirming the various steps of the ordering process and waiting for, viewing, and updating the purchaser-specific order information can be much more than the overhead of selecting the item itself. This overhead makes the purchase of a single item cumbersome. Also, with such an ordering model, each time an order is placed sensitive information is transmitted over the Internet. Each time the sensitive information is transmitted over the Internet, it is susceptible to being intercepted and decrypted. SUMMARY OF THE INVENTION An embodiment of the present invention provides a method and system for ordering an item from a client system. The client system is provided with an identifier that identifies a customer. The client system displays information that identifies the item and displays an indication of an action (e.g., a single action such as clicking a mouse button) that a purchaser is to perform to order the identified item. In response to the indicated action being performed, the client system sends to a server system the provided identifier and a request to order the identified item. The server system uses the identifier to identify additional information needed to generate an order for the item and then generates the order. The server system receives and stores the additional information for customers using various computer systems so that the server system can generate such orders. The server system stores the received additional information in association with an identifier of the customer and provides the identifier to the client system. When requested by the client system, the server system provides information describing the item to the requesting client system. When the server system receives a request from a client system, the server system combines the additional information stored in association with the identifier included in the request to effect the ordering of the item. BRIEF DESCRIPTION OF THE DRAWINGS FIGS. 1A-1C illustrate single-action ordering in one embodiment of the present invention. FIG. 2 is a block diagram illustrating an embodiment of the present invention. FIG. 3 is a flow diagram of a routine that enables single-action ordering for a customer. FIG. 4 is a flow diagram of a routine to generate a Web page in which single-action ordering is enabled. FIG. 5 is a flow diagram of a routine which processes a single-action order. FIG. 6 is a flow diagram of a routine for generating a single-action order summary Web page. FIG. 7 is a flow diagram of a routine that implements an expedited order selection algorithm. FIGS. 8A-8C illustrate a hierarchical data entry mechanism in one embodiment. DETAILED DESCRIPTION OF THE INVENTION The present invention provides a method and system for single-action ordering of items in a client/server environment. The single-action ordering system of the present invention reduces the number of purchaser interactions needed to place an order and reduces the amount of sensitive information that is transmitted between a client system and a server system. In one embodiment, the server system assigns a unique client identifier to each client system. The server system also stores purchaser-specific order information for various potential purchasers. The purchaser-specific order information may have been collected from a previous order placed by the purchaser. The server system maps each client identifier to a purchaser that may use that client system to place an order. The server system may map the client identifiers to the purchaser who last placed an order using that client system. When a purchaser wants to place an order, the purchaser uses a client system to send the request for information describing the item to be ordered along with its client identifier. The server system determines whether the client identifier for that client system is mapped to a purchaser. If so mapped, the server system determines whether single-action ordering is enabled for that purchaser at that client system. If enabled, the server system sends the requested information (e.g., via a Web page) to the client computer system along with an indication of the single action to perform to place the order for the item. When single-action ordering is enabled, the purchaser need only perform a single action (e.g., click a mouse button) to order the item. When the purchaser performs that single action, the client system notifies the server system. The server system then completes the order by adding the purchaser-specific order information for the purchaser that is mapped to that client identifier to the item order information (e.g., product identifier and quantity). Thus, once the description of an item is displayed, the purchaser need only take a single action to place the order to purchase that item. Also, since the client identifier identifies purchaser-specific order information already stored at the server system, there is no need for such sensitive information to be transmitted via the Internet or other communications medium. FIGS. 1A-1C illustrate single-action ordering in one embodiment of the present invention. FIG. 1A illustrates the display of a Web page describing an item that may be ordered. This example Web page was sent from the server system to the client system when the purchaser requested to review detailed information about the item. This example Web page contains a summary description section 101, a shopping cart section 102, a single-action ordering section 103, and a detailed description section 104. One skilled in the art would appreciate that these various sections can be omitted or rearranged or adapted in various ways. In general, the purchaser need only be aware of the item or items to be ordered by the single action and of the single action needed to place the order. The summary description and the detailed description sections provide information that identifies and describes the item(s) that may be ordered. The shopping cart section provides the conventional capability to add the described item to a shopping cart. The server system adds the summary description, the detailed description, and the shopping cart sections to each Web page for an item that may be ordered. The server system, however, only adds the single-action ordering section when single-action ordering is enabled for that purchaser at that client system. (One skilled in the art would appreciate that a single Web page on the server system may contain all these sections but the single-action ordering section can be selectively included or excluded before sending the Web page to the client system.) This example single-action ordering section allows the purchaser to specify with a single click of a mouse button to order the described item. Once the purchaser clicks the mouse button, the item is ordered, unless the purchaser then takes some action to modify the order. The single-action ordering section contains a single-action ordering button 103a, purchaser identification subsection 103b, and single-action ordering information subsections 103c and 103d. The purchaser information subsection displays enough information so that the purchaser can verify that the server system correctly recognizes the purchaser. To reduce the chances of sensitive information being intercepted, the server system sends only enough information so that the purchaser is confident that the server system correctly identified the purchaser but yet not enough information to be useful to an unscrupulous interceptor. The additional information subsections allow the purchaser to obtain various settings or obtain more information related to the single-action ordering. If the purchaser wants to verify the shipping address, the purchaser can select the "check shipping address" label. In response to this selection, the server system may require the purchaser to perform a "login" so that the identity of the purchaser can be verified before the shipping information is viewed or modified. The server system then sends a Web page to the client system for display and possible modification of the shipping address. In this way, the transmitting of the sensitive shipping address can be avoided unless requested by the verified purchaser. When the purchaser selects the single-action ordering button, the client system sends a message to the server system requesting that the displayed item be ordered. After the server system processes the message, the server system provides to the client system a new Web page that confirms receipt of the single-action order. FIG. 1B illustrates the display of a Web page confirming a single-action order. The confirming Web page contains essentially the same information as the Web page describing the item (i.e., FIG. 1A) except that an order confirmation section 105 is displayed at the top of the Web page. The order confirmation section confirms that the order has been placed and provides an opportunity for the purchaser to review and change the single-action order. Alternatively, the confirming Web page can be identical to the Web page describing the item (i.e., FIG. 1A), except that the single-action ordering button is replaced with a message confirming the order. If a single-action ordering is not currently enabled for the client system but could be enabled, then the server system can generate a Web page like FIG. 1A, except that the single-action ordering button 103a is replaced by a single-action ordering enable button. Such a replacement button could contain text instructing the purchaser to click on the button to enable single-action ordering. When the purchaser clicks on that button, the server system would send the Web page of FIG. 1A to be displayed. Single-action ordering can be enabled whenever the server system has stored sufficient purchaser-specific order information for that client system to complete a single-action order. If the server system does not have sufficient information, then when the purchaser selects the single-action ordering button, the server system can provide a Web page to collect the additional information that is needed. The server system may require the purchaser to "login" so that the identity of the purchaser can be verified before the single-action ordering is enabled. To help minimize shipping costs and purchaser confusion, the server system may combine various single-action orders into a multiple-item order. For example, if a purchaser orders one item using the single-action ordering and five minutes later orders another item using the single-action ordering, then those orders may be cost effectively combined into a single order for shipping. The server system combines the single-action orders when their expected ship dates are similar. For example, if one item is immediately available and the other item will be available in one day, then the two single-action orders may be cost-effectively combined. However, if the other item will not be available for two weeks, then the two single-item orders would not be combined. FIG. 1C illustrates the display of a Web page representing four single-action orders that have been combined into two separate multiple-item orders based on the availability of the items. The order information 106 indicates that item 1 and item 2, which will be available in three or fewer days, have been combined into one order. The order information 107 indicates that items 3 and 4, which will not be available within one week, are combined into a separate order. In one embodiment, the server system may combine single-action orders that are placed within a certain time period (e.g., 90 minutes). Also, the server system may combine or divide orders when the orders are scheduled for shipment based on the then current availability of the items ordered. This delayed modification of the orders is referred to as "expedited order selection" and is described below in detail. FIG. 2 is a block diagram illustrating an embodiment of the present invention. This embodiment supports the single-action ordering over the Internet using the World Wide Web. The server system 210 includes a server engine 211, a client identifier/customer table 212, various Web pages 213, a customer database 214, an order database 215, and an inventory database 216. The server engine receives HTTP requests to access Web pages identified by URLs and provides the Web pages to the various client systems. Such an HTTP request may indicate that the purchaser has performed the single action to effect single-action ordering. The customer database contains customer information for various purchasers or potential purchasers. The customer information includes purchaser-specific order information such as the name of the customer, billing information, and shipping information. The order database 215 contains an entry for each order that has not yet been shipped to a purchaser. The inventory database 216 contains a description of the various items that may be ordered. The client identifier/customer table 212 contains a mapping from each client identifier, which is a globally unique identifier that uniquely identifies a client system, to the customer last associated with that client system. The client system 220 contains a browser and its assigned client identifier. The client identifier is stored in a file, referred to as a "cookie." In one embodiment, the server system assigns and sends the client identifier to the client system once when the client system first interacts with the server system. From then on, the client system includes its client identifier with all messages sent to the server system so that the server system can identify the source of the message. The server and client systems interact by exchanging information via communications link 230, which may include transmission over the Internet. One skilled in the art would appreciate that the single-action ordering techniques can be used in various environments other than the Internet. For example, single-action ordering can also be in an electronic mail environment in which an item is described in an electronic mail message along with an indication of the single action that is to be performed to effect the ordering of the item. Also, various communication channels may be used such as local area network, wide area network, or point-to-point dial up connection. Also, a server system may comprise any combination of hardware or software that can generate orders in response to the single action being performed. A client system may comprise any combination of hardware or software that can interact with the server system. These systems may include television-based systems or various other consumer products through which orders may be placed. FIG. 3 is a flow diagram of a routine that enables single-action ordering for a customer. To enable single-action ordering, a server system needs to have information about the customer that is equivalent to the purchaser-specific order information. The server system can obtain this information in various ways. First, the server system could ask the customer if they would like to have single-action ordering enabled. If so, then the server system could prompt the customer using a Web page for the purchaser-specific order information. Second, the server system could also save the purchaser-specific order information collected when an order is placed conventionally. The server system could, either automatically or with the customer's assent, enable single-action ordering. In step 301, the server system retrieves the client identifier that was sent by the client system. In step 302, the server system updates the client identifier/customer table to indicate that the generated client identifier has been associated with that customer. In step 303, the server system sets a flag indicating that single-action ordering is enabled for that client identifier and that customer combination. That flag may be stored in the client identifier/customer table. In step 304, the server system supplies a confirming Web page to the client system. The next time a purchaser attempts to order an item, the client system will supply its client identifier to the server system. If single-action ordering is enabled for that purchaser, the server system will assume that the purchaser is the customer associated with that client identifier in the client identifier/customer table. Thus, a purchaser may not want to allow the server system to enable single-action ordering if there is a possibility that someone else may use that same client system. FIG. 4 is a flow diagram of a routine to generate a Web page in which single-action ordering is enabled. When single-action ordering is enabled, the server system generates a Web page describing an item as is conventionally done and then adds a single-action ordering section. In one embodiment, the server system adds partial purchaser-specific order information to the section. This information may include the customer's name, a shipping address moniker selected by the purchaser (e.g., "at home"), and the last five digits of a credit card number or a nickname selected by the purchaser. Such partial information should be the minimum information sufficient to indicate to the purchaser whether or not the server system is using the correct purchaser-specific order information. In step 401, the server system generates a standard shopping cart-type Web page for the item. In step 402, if the single-action ordering flag has been set for the client identifier and customer combination, then the server system continues at step 403, else the server system completes. In step 403, the server system adds the single-action section to the Web page and completes. FIG. 5 is a flow diagram of a routine which processes a single-action order. When a purchaser performs the single action needed to place an order, the client system notifies the server system. The server system then combines the purchaser-specific order information for the customer associated with the client system with the item order information to complete the order. The single-action order may also be combined with other single-action orders and possibly with other conventionally placed orders to reduce shipping costs. In one embodiment, single-action orders can be combined if they are placed within a certain time period of each other (e.g., 90 minutes). This routine illustrates the combining of the single-action orders into a short-term order (e.g., available to be shipped in less than a week) and a long-term order (e.g., available to be shipped in more than a week). One skilled in the art would appreciate that the single-action orders can be combined in various ways based on other factors, such as size of shipment and intermediate-term availability. In step 501, if the item is expected to be shipped in the short term, then the server system continues at step 502, else the server system continues at step 505. In step 502, if a short-term order has already been opened for the purchaser, then the server system continues at step 504, else the server system continues at step 503. In step 503, the server system creates a short-term order for the purchaser. In step 504, the server system adds the item to the short-term order and continues at step 508. In step 505, if a long-term order has already been opened for the purchaser, then the server system continues at step 507, else the server system continues at step 506. In step 506, the server system creates a long-term order for the purchaser. In step 507, the server system adds the item to the long-term order. In step 508, the server system generates and sends the confirmation and completes. FIG. 6 is a flow diagram of a routine for generating a single-action order summary Web page. This Web page (e.g., FIG. 1C) gives the user the opportunity to view and modify the short-term and long-term single-action orders. In step 601, the server system adds the standard single-action order information to the Web page. In step 602, if a short-term order is open, then the server system adds the short-term order to the Web page in step 603. In step 604, if a long-term order is open, then the server system adds the long-term order information to the Web page in step 605 and completes. FIG. 7 is a flow diagram of a routine that implements an expedited order selection algorithm. The goal of the expedited order selection algorithm is to minimize the number of orders sent to each destination so that shipping costs are reduced. A destination may be a specific shipping address plus a specific purchaser's billing details. Orders that are sent to the same destination are known as "sibling orders." The algorithm has two stages. In the first stage, the algorithm schedules for shipment the orders for destinations for which all the sibling orders are filled. An order is filled when all its items are currently in inventory (i.e., available) and can be shipped. For each group of sibling orders, the algorithm combines those sibling orders into a single combined order so that only one order is currently scheduled for shipment to each destination. In the second stage, the algorithm combines and schedules groups of sibling orders for which some of the sibling orders are not filled or partially filled. The algorithm may split each partially filled sibling order into a filled sibling order and a completely unfilled sibling order. The algorithm then combines all the filled sibling orders into a single combined order and schedules the combined order for shipment. If any group has only one sibling order and that order is partially filled, then the algorithm in one embodiment does not split that order to avoid making an extra shipment to that destination. During the second stage, the algorithm may select and schedule groups of sibling orders in a sequence that is based on the next fulfillment time for an item in the group. The next fulfillment time for a group of sibling orders is the minimum expected fulfillment time of the items in that group of sibling orders. For example, if a group of sibling orders has seven items that are not yet fulfilled and their expected fulfillment times range from 3 days to 14 days, then the next fulfillment time for that group is 3 days. The algorithm first schedules those groups of sibling orders with the largest next fulfillment time. For example, if 6 groups have next fulfillment times of 3, 5, 7, 10, 11, and 14 days, respectively, then the algorithm first selects and schedules the sibling orders in the group with the next fulfillment time of 14 days, followed by the group with the next fulfillment time of 11 days, and so on. By delaying the scheduling of groups with short next fulfillment times, the algorithm increases the chances of additional items becoming available (because of the shortness of the next fulfillment time) and thus combined with the scheduled order. Steps 701-703 represent the first stage of the expedited order selection algorithm, and steps 704-706 represent the second stage of the expedited selection order algorithm. In steps 701-703, the algorithm loops selecting groups in which all sibling orders are filled and combining the orders. In step 701, the algorithm selects the next group with all sibling orders that are filled. In step 703, if all such groups have already been selected, then the algorithm continues with the second stage in step 704, else the algorithm continues at step 703. In step 703, the algorithm combines and schedules the orders in the selected group and loops to step 701. In step 704, the algorithm selects the next group of sibling orders that has the largest next fulfillment time. In step 705, if all such groups have already been selected, then the algorithm is done, else the algorithm continues at step 706. In step 706, the algorithm combines and schedules the orders in the selected group and loops to step 704. When the expedited order selection algorithm is being performed, new orders and new inventory may be received. Whenever such new orders and new inventory is received, then the algorithm restarts to schedule and combine the new orders as appropriate. Although the algorithm has been described as having two stages, it could be implemented in an incremental fashion where the assessment of the first and second stages are redone after each order is scheduled. One skilled in the art would recognize that there are other possible combinations of these stages which still express the same essential algorithm. FIGS. 8A-8C illustrate a hierarchical data entry mechanism in one embodiment. When collecting information from a user, a Web page typically consists of a long series of data entry fields that may not all fit onto the display at the same time. Thus, a user needs to scroll through the Web page to enter the information. When the data entry fields do not fit onto the display at the same time, it is difficult for the user to get an overall understanding of the type and organization of the data to be entered. The hierarchical data entry mechanism allows a user to understand the overall organization of the data to be entered even though the all data entry fields would not fit onto the display at the same time. FIG. 8A illustrates an outline format of a sample form to be filled in. The sample form contains various sections identified by letters A, B, C, and D. When the user selects the start button, then section A expands to include the data entry fields for the customer name and address. FIG. 8B illustrates the expansion of section A. Since only section A has been expanded, the user can view the data entry fields of section A and summary information of the other sections at the same time. The user then enters data in the various data entry fields that are displayed. Upon completion, the user selects either the next or previous buttons. The next button causes section A to be collapsed and section B to be expanded so that financial information may be entered. FIG. 8C illustrates the expansion of section B. If the previous button is selected, then section A would collapse and be displayed as shown in FIG. 8A. This collapsing and expanding is repeated for each section. At any time during the data entry, if an error is detected, then a Web page is generated with the error message in close proximity (e.g., on the line below) to the data entry field that contains the error. This Web page is then displayed by the client system to inform the user of the error. In addition, each of the data "entry" fields may not be editable until the user clicks on the data entry field or selects an edit button associated with the data entry field. In this way, the user is prevented from inadvertently changing the contents of an edit field. When the user clicks on a data entry field, a new Web page is presented to the user that allows for the editing of the data associated with the field. When editing is complete, the edited data is displayed in the data "entry" field. Because the fields of the form are thus not directly editable, neither "named-submit" buttons nor Java are needed. Also, the form is more compact because the various data entry options (e.g., radio button) are displayed only on the new Web page when the field is to be edited. Although the present invention has been described in terms of various embodiments, it is not intended that the invention be limited to these embodiments. Modification within the spirit of the invention will be apparent to those skilled in the art. For example, the server system can map a client identifier to multiple customers who have recently used the client system. The server system can then allow the user to identify themselves by selecting one of the mappings based preferably on a display of partial purchaser-specific order information. Also, various different single actions can be used to effect the placement of an order. For example, a voice command may be spoken by the purchaser, a key may be depressed by the purchaser, a button on a television remote control device may be depressed by the purchaser, or selection using any pointing device may be effected by the purchaser. Although a single action may be preceded by multiple physical movements of the purchaser (e.g., moving a mouse so that a mouse pointer is over a button), the single action generally refers to a single event received by a client system that indicates to place the order. Finally, the purchaser can be alternately identified by a unique customer identifier that is provided by the customer when the customer initiates access to the server system and sent to the server system with each message. This customer identifier could be also stored persistently on the client system so that the purchaser does not need to re-enter their customer identifier each time access is initiated. The scope of the present invention is defined by the claims that follow. * * * * * (Pay to read more...)

Why I Will Not Sign the Public Domain Manifesto

The Public Domain Manifesto (https://publicdomainmanifesto.org/manifesto/) has its heart in the right place as it objects to some of the unjust extensions of copyright power, so I wish I could support it. However, it falls far short of what is needed. (Pay to read more...)

The Problems of the (Earlier) Plan 9 License

Note: This applies to the earlier license used for Plan 9. The current license of Plan 9 does qualify as free software (and also as open source). So this article's specific example is of historical relevance only. Nonetheless, the general point remains valid. (Pay to read more...)

What's Wrong with YouTube

YouTube is a peculiar case. As of September 2020, it is possible to watch YouTube videos without running any nonfree software, even coming in via Tor, via some of the “Invidious” intermediary sites. (Pay to read more...)

Selling Free Software

Some views on the ideas of selling exceptions to free software licenses, such as the GNU GPL are also available. (Pay to read more...)

Don't Let ‘Intellectual Property’ Twist Your Ethos

Most free software licenses are based on copyright law, and for good reason: Copyright law is much more uniform among countries than contract law, which is the other possible choice. (Pay to read more...)

Overcoming Social Inertia

Almost two decades have passed since the combination of GNU and Linux first made it possible to use a PC in freedom. We have come a long way since then. Now you can even buy a laptop with GNU/Linux preinstalled from more than one hardware vendor—although the systems they ship are not entirely free software. So what holds us back from total success? (Pay to read more...)

Categories of free and nonfree software

Also see Confusing Words which You Might Want to Avoid. (Pay to read more...)

Applying Copyleft To Non-Software Information

The entry for “copyleft” in the definitive hacker lexicon, the Jargon File, reads: (Pay to read more...)


You can learn more about GNU Taler on our main website.

Copyright © 2014—2020 Taler Systems SA