Mad Dog 21/21: Panda to the Masses
by Hesh Wiener
A panda is as rare as a generous man. And, it seems, similarly difficult to reproduce. Pandas are indigenous to China and come mainly from Sichuan, their archipelago of habitats spanning, in part, the northern border with Gansu, with some living northeast in Shaanxi. The generous appear in every nation, every culture, every age, every walk of life. About ten percent of the world's panda population is in captivity. No similar information is available about the generous, but they have played an instrumental role in computing through free or open software.
The prominence of the panda belies its rarity. The San Diego Zoo has a tiny family of the black and white bears, and gives them Web access. And in Washington, the whole town seems to be going nuts, installing 150 statues of pandas, while the National Zoo, in a somewhat more sober frame of mind, offers an informative panda section on its impressive site.
The generous show up in every walk of life, but never in abundance. Those in computing may be associated with one of the groups that use the word "open" in their name, such as Open Source and Open Group. Others may not use the word "open" in their team names, possibly because "open" has taken on a load of political freight. These non-openers still promote relatively unfettered use of their software; this is the case with the Apache Software Foundation, source of the world's most widely used Web server, among other important pieces of middleware like Tomcat, Jakarta, and now Geronimo.
The Internet sites maintained by institutions of this ilk provide access to the innovations of generous computing people, and often, via e-mail, to the innovators themselves. The sites get plenty of visitors: enthusiasm for the excellent work of the generous is quite high. Also, users just love one thing about the software provided by generous people: the price is right.
Skeptics say the nice guys can't last, but even Bill Gates, whose practices are quite different, is apparently skeptical about the skeptics.
Microsoft frequently makes it known that it does not love free or open software. Microsoft does not like any commercial software that's not from Microsoft very much either, of course. Yet Gates and company are fiddling around with the open concept. Microsoft makes Windows and other programs available under the look-but-don't-touch Shared Source initiative, and has made some relatively minor tools available as true open source code, just to see what happens. If Microsoft has to zigzag along the way as it learns about open source, it may even offer software under a similar scheme of its own, much as IBM did when it created the Common Public License.
A rare bear dressed in a 200 grand fur coat
Nonetheless, the skeptics have a point. The mere fact that institutions providing free or open software exist is surprising. The generous don't have an easy time coping with a world that lives by harsh economic rules, mocks their generosity, and tempts the gifted to pursue commercial goals to the exclusion of others.
Pandas aren't having an easy time, either. Despite considerable fame and the best efforts of nature lovers, pandas are endangered. They may not be making enough baby pandas to persist, particularly in a world where their habitats are shrinking and panda poachers can get a couple hundred grand for a perfect panda pelt. The National Zoo has tried in vain to get its bears to yield a single cub. The San Diego Zoo has had better luck; its pandas have so far produced two offspring, Hua Mei and Mei Sheng. All these pandas and their cubs belong to China and are only in the United States under a loan program. That's one reason why the cubs have Chinese names. We hope the Chinese soften up and allow the next two cubs born in the USA to bear names that will be recognized the world over as truly American: Sing Sing and Bling Bling.
Generous folk, like pandas, are widely celebrated. In computing, Linus Torvalds, the father of Linux, has achieved star status. Eric Raymond, whose chop socky Cathedral & The Bazaar explains his take on the open software movement, is widely regarded as one of the people who helped get companies like IBM to take open software seriously. There are a number of other unusually generous people in computing, including Tim Berners-Lee, developer of the World Wide Web concept, as well as Ted Nelson, who advocated the term "hypertext" and the related concepts that underlie links; they, too have various ideas about how software and ideas about software should be shared.
Richard Stallman, founder and leader of the Free Software Foundation's GNU Project, has arguably made the most compelling case, by words and deeds, for sharing software, and his concept is free software, which he adamantly distinguishes from open software.
Stallman is a hero of the community and, at least according to biographer Sam Williams, in some ways a tragic hero. Stallman's interesting and eminently logical ideas are so unusual that they defy characterization, but we live in a world that can't stand notions (or people) that resist classification. Stallman himself has, as ought to be the case in any tragedy, compounded the difficulties faced by those who seek to explain him or his work, by attempting to define and redefine his professional persona.
One example of the confusion surrounding Stallman is the contention raised by Williams and others that Stallman might be suffering from what is called Asperger Syndrome, even though, by most definitions, that clinical diagnosis would exclude a genius.
If you want to define Stallman, or at least the Stallman seen by the outside world, the best approach might not be to say what you think he is but instead to say what he isn't. This technique worked for Michelangelo Buonarroti, who saw David in a block of marble and chipped away the stone that blocked our view. We might want to do the same.
So who is Stallman? Or who isn't he? Well, it's probably safe say that he is a fellow who does not suffer from Kissasperger Syndrome.
Michelangelo's David: once hidden under rock
What everyone in computing ought to know about Stallman is that he has eloquently articulated the concept of freely available source code and has attempted to find ways of keeping such code available. He is behind the GNU General Public License (GPL) and the closely related GNU Lesser General Public License (LGPL).
Stallman not only talks the talk, he walks the walk, as his licensing practices for GNU and Emacs, a marvelous editing system, demonstrate. Stallman's technical and legal accomplishments formed the basis of corresponding aspects of Linux. In fact, Linux is properly GNU/Linux (as Stallman is quick to point out, more parts of a working installation come from the GNU Project than from Linus Torvalds and his gang of contributors). Torvalds, aided and abetted by a small army of programmers, created the central part of the GNU/Linux system, the kernel. Like most people, and to the chagrin of Stallman, we're impure; we usually refer to the operating system as Linux.
Basically, the source code for GNU/Linux (and any other software licensed under the GPL) can be copied for free. The copy must be complete and include the GPL or a link to the GPL. If you change source code covered by the GPL and distribute this software, the resultant code must also be licensed under the GPL. This is Stallman's way of keeping free software free.
As the GPL says, it boils down to "preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally."
This is similar to the way the Chinese government licenses pandas to zoos around the world. The zoos can decide for themselves how best to house and display and promote the black and white bears and the zoos can try to get the critters to breed. If there are cubs, they cubs belong to China, no matter how much effort a zoo put into panda procreation. Moreover, China can recall the pandas and their cubs pretty much when it wants. The pandas will entertain and inform the public, but only under Chinese rules.
It's easy to understand that the Chinese panda rules don't please zookeepers who would very much like to keep and breed their own families of pandas, but there is little hope that anyone will persuade the Chinese to change their policies. Zookeepers the world over will just have to grin and bear it. And no knitter of nucleic acids (except perhaps a Chinese one) is going to be making designer pandas anytime soon.
The rules that govern the copying and development of most software are completely restrictive; this practice stands in stark contract to the way code published under the GPL is positioned to evolve. To date, of the thousands of software packages in wide use, only a relative handful of programs have actually gone into wide circulation under the GPL. But the situation is not black and white the way a panda is.
Even some truly generous people, who want their software to be widely distributed, are not comfortable with the GPL. One criticism of the GPL is that it may not stand up in court under certain conditions, and thus it might fail to achieve its intentions. Consequently, software people and their lawyers have dreamed up a few other licensing schemes aimed at making code publicly available. Sometimes these schemes cover source code, sometimes object code, sometimes both.
Richard Stallman: all the GNU is fit to reprint
Among the more prominent such schemes is the Common Public License that was worked out mainly by IBM and which lately has become of interest to Microsoft. IBM has its own related version, the IBM Public License. But wait, there's more: the code behind Netscape's offspring, Mozilla, is covered by the eponymous Mozilla Public License.
Not only do these various licenses differ in scope and effect, they may also conflict. It may be impossible to legally combine a program or a program segment governed by one code-sharing license with code governed by another. It's not a legal bazaar or a legal cathedral out there; it's a legal Tower of Babel.
As you can see, there is a lot to this topic. We could go on and on. And we will, in a future column.