Religion
Read books online » Religion » Free for All by Peter Wayner (great books to read .txt) 📖

Book online «Free for All by Peter Wayner (great books to read .txt) 📖». Author Peter Wayner



1 ... 13 14 15 16 17 18 19 20 21 ... 59
Go to page:
features. They were the quasi-official versions. Others felt that paying helped support the work so they didn't feel bad about doing it. They liked the FSF and wanted it to produce more code. Others just liked printed books better than electronic documentation. Buying them from Stallman was cheaper than printing them out. Still others paid for the CD-ROMs because they just wanted to support the Free Software Foundation.

Stallman also found other support. The MacArthur Foundation gave him one of their genius grants that paid him a nice salary for five years to do whatever he wanted. Companies like Intel hired him as a consultant and asked him to make sure that some of his software ran on Intel chips. People were quite willing to pay for convenience because even free software didn't do everything that it should.

Stallman also recognized that this freedom introduced a measure of competition. If he could charge for copies, then so could others. The source code would be a vast commonweal, but the means of delivering it would be filled with people struggling to do the best job of distributing the software. It was a pretty hard-core Reaganaut notion for a reputed communist. At the beginning, few bothered to compete with him, but in time all of the GNU code began to be included with computer operating systems. By the time Linus Torvalds wrote his OS, the GNU code was ready to be included.

10.2 COPYLEFT

.............

If Stallman's first great insight was that the world did not need to put up with proprietary source code, then his second was that he could strictly control the use of GNU software with an innovative legal document entitled GNU General Public License, or GPL. To illustrate the difference, he called the agreement a "copyleft" and set about creating a legal document defining what it meant for software to be "free." Well, defining what he thought it should mean.

The GPL was a carefully crafted legal document that didn't put the software into the "public domain," a designation that would have allowed people to truly do anything they wanted with the software. The license, in fact, copyrighted the software and then extended users very liberal rights for making innumerable copies as long as the users didn't hurt other people's rights to use the software.

The definition of stepping on other people's rights is one that keeps political science departments at universities in business. There are many constituencies that all frame their arguments in terms of protecting someone's rights. Stallman saw protecting the rights of other users in very strong terms and strengthened his grip a bit by inserting a controversial clause. He insisted that a person who distributes an improved version of the program must also share the source code. That meant that some greedy company couldn't download his GNU Emacs editor, slap on a few new features, and then sell the whole package without including all of the source code they created. If people were going to benefit from the GNU sharing, they were going to have to share back. It was freedom with a price.

This strong compact was ready-built for some ironic moments. When Apple began trying to expand the scope of intellectual property laws by suing companies like Microsoft for stealing their "look and feel," Stallman became incensed and decided that he wouldn't develop software for Apple machines as a form of protest and spite. If Apple was going to pollute the legal landscape with terrible impediments to sharing ideas, then Stallman wasn't going to help them sell machines by writing software for the machines. But the GNU copyleft license specifically allowed anyone to freely distribute the source code and use it as they wanted. That meant that others could use the GNU code and convert it to run on the Apple if they wanted to do so. Many did port much of the GNU software to the Mac and distributed the source code with it in order to comply with the license. Stallman couldn't do anything about it. Sure, he was the great leader of the FSF and the author of some of its code, but he had given away his power with the license. The only thing he could do was refuse to help the folks moving the software to the Mac. When it came to principles, he placed freedom to use the source code at the top of the hierarchy.

10.3 THE GNU VIRUS

..................

Some programmers soon started referring to the sticky nature of the license as the "GNU virus" because it infected software projects with its freedom bug. If a developer wanted to save time and grab some of the neat GNU software, he was stuck making the rest of his work just as free. These golden handcuffs often scared away programmers who wanted to make money by charging for their work.

Stallman hates that characterization. "To call anything 'like a virus' is a very vicious thing. People who say things like that are trying to find ways to make the GPL look bad," he says.

Stallman did try to work around this problem by creating what he at first called the "Library General Public License" and now refers to as the "Lesser General Public License," a document that allowed software developers to share small chunks of code with each other under less restrictive circumstances. A programmer can use the LGPL to bind chunks of code known as libraries. Others can share the libraries and use them with their source code as long as they don't fully integrate them. Any changes they make to the library itself must be made public, but there is no requirement to release the source code for the main program that uses the library.

This license is essentially a concession to some rough edges at the corners where the world of programming joins the world of law. While Stallman was dead set on creating a perfect collection of free programs that would solve everyone's needs, he was far from finished. If people were going to use his software, they were going to have to use it on machines made by Sun, AT&T, IBM, or someone else who sold a proprietary operating system along with it. He understood that he needed to compromise, at least for system libraries.

The problem is drawing boundaries around what is one pile of software owned by one person and what is another pile owned by someone else. The GPL guaranteed that GNU software would "infect" other packages and force people who used his code to join the party and release theirs as well. So he had to come up with a definition that spelled out what it meant for people to use his code and "incorporate" it with others.

This is often easier said than done. The marketplace has developed ways to sell software as big chunks to people, but these are fictions that camouflage software integration. In modern practice, programmers don't just create one easily distinguished chunk of software known as Microsoft Word or Adobe Photoshop. They build up a variety of smaller chunks known as libraries and link these together. Microsoft Windows, in fact, includes a large collection of libraries for creating the menus, forms, click boxes, and what-not that make the graphical user interfaces. Programmers don't need to write their own instructions for drawing these on the screen and interacting with them. This saves plenty of time and practice for the programmers, and it is a large part of what Microsoft is selling when it sells someone a box with Windows on it.

Stallman recognized that programmers sometimes wrote libraries that they wanted others to use. After all, that was the point of GNU: creating tools that others would be free to use. So Stallman relented and created the Lesser Public License, which would allow people to create libraries that might be incorporated into other programs that weren't fully GNU. The library itself still came with source code, and the user would need to distribute all changes made to the library, but there was no limitation on the larger package.

This new license was also something of a concession to reality. In the most abstract sense, programs are just black boxes that take some input and produce some output. There's no limit to the hierarchies that can be created by plugging these boxes together so that the output for one is the input for another. Eventually, the forest of connections grows so thick that it is difficult to draw a line and label one collection of boxes "ProprietarySoft's SUX-2000" and another collection "GNUSoft's Wombat 3.14.15." The connections are so numerous in well-written, effective software that line-drawing is difficult.

The problem is similar to the one encountered by biologists as they try to define ecosystems and species. Some say there are two different groups of tuna that swim in the Atlantic. Others say there is only one. The distinction would be left to academics if it didn't affect the international laws on fishing. Some groups pushing the vision of one school are worried that others on the other side of the ocean are catching their fish. Others push the two-school theory to minimize the meddling of the other side's bureaucracy. No one knows, though, how to draw a good line.

Stallman's LGPL was a concession to the fact that sometimes programs can be used like libraries and sometimes libraries can be used like programs. In the end, the programmer can draw a strong line around one set of boxes and say that the GPL covers these functions without leaking out to infect the software that links up with the black boxes.

10.4 IS THE FREE SOFTWARE FOUNDATION ANTI-FREEDOM?

..................................................

Still, these concessions aren't enough for some people. Many continue to rail against Stallman's definition of freedom and characterize the GPL as a fascist document that steals the rights of any programmer who comes along afterward. Being free means having the right to do anything you want with the code, including keeping all your modifications private.

To be fair, the GPL never forces you to give away your changes to the source code. It just forces you to release your modifications if you redistribute it. If you just run your own version in your home, then you don't need to share anything. When you start sharing binary versions of the software, however, you need to ship the source code, too.

Some argue that corporations have the potential to work around this loophole because they act like one person. A company could revise software and "ship it" by simply hiring anyone who wanted to buy it. The new employees or members of the corporation would get access to the software without shipping the source. The source code would never be distributed because it was not publicly shipped. No one seriously believes that anyone would try to exploit this provision with such an extreme interpretation, but it does open the question of whether an airtight license can ever be created.

These fine distinctions didn't satisfy many programmers who weren't so taken with Stallman's doctrinaire version of freedom. They wanted to create free software and have the freedom to make some money off of it. This tradition dates back many years before Stallman and is a firm part of academic life. Many professors and students developed software and published a free version before starting up a company that would commercialize the work. They used their professor's salary or student stipend to support the work, and the free software they contributed to the world was meant as an exchange. In many cases, the U.S. government paid for the creation of the software through a grant, and the free release was a gift to the taxpayers who ultimately funded it. In other cases, corporations paid for parts of the research and the free release was seen as a way to give something back to the sponsoring corporation without turning the university into

1 ... 13 14 15 16 17 18 19 20 21 ... 59
Go to page:

Free ebook «Free for All by Peter Wayner (great books to read .txt) 📖» - read online now

Comments (0)

There are no comments yet. You can be the first!
Add a comment