Setting Software Free
Did you know that the Web shopping cart paradigm is patented, along with customer tracking and paying securely with a credit card? How about comparison shopping on the Internet? These are some of a slew of technology-related patents that were dubiously granted by the U.S. Patent office.
Software patents are heavily debated. Many claim that patents hurt the industry by forcing uncooperative behavior in the development community and by allowing one company to hold a patent on a common development practice. Others claim that software innovation takes place specifically to circumvent existing patents. For example, if the original patents weren’t granted, the newer techniques might never have been developed. The GNU Project of the Free Software Foundation (FSF) is firmly in the first camp, and rather than complaining, it has spent 15 years working to make software patents obsolete.
The Free Software Foundation was started by Richard Stallman to combat the software community’s change from open collaborations in the early 1970s to proprietary development in the 1980s and beyond. The GNU Project is committed to the development of Free Software: Not necessarily software given away for free -- although much of it is -- but software that is free from the risk of patents and proprietorship. GNU began by developing a free operating system, which is the basic component of almost all software development. You may know some of the fruits of GNU, even if you haven't heard of GNU itself. Most Linux operating system distributions are about 3 percent Linux kernel code and 28 percent GNU operating system code. The fact that GNU rarely gets mentioned with Linux is a disservice to the FSF’s work.
Copyleft vs. Copyright
GNU enforces the freedom of its software by first copyrighting the work, then describing the distribution terms for the work. The distribution terms allow anyone to use and modify the work, as long as the resulting work is governed by the original copyright and distribution terms. GNU calls this process a "copyleft." It gives complete source code freedom to anyone who promises to grant the same freedoms in derivative works.
Free Software for Windows
While GNU is typically known for Unix-oriented software, my renewed interest in the GNU model came during a search for real-time compression for a Windows NT enterprise solution. Compression software is one of the more thoroughly patented areas in computer science, and it is challenging to create new compression software that doesn’t infringe on somebody. Many software companies were burned when the seemingly open .GIF image standard ended up under the umbrella of patents held by both Unisys Corp. and IBM Corp., because of its use of LZW compression.
My search for GNU-style compression techniques turned up a real-time compression library called LZO, written by Markus Franz Xaver Johannes Oberhumer, and distributed under GNU’s copyleft procedures. As such, it is free from patents, although not necessarily free of cost. LZO has worked out great for the project -- running well under Windows NT, Windows 95 and a number of Unix variants. By the author’s admission, LZO could perform slightly better with a few optimizations, but those optimizations would infringe on existing patents.
The FSF provides Windows versions of some classic Unix tools, including grep, awk, Perl, RCS and tar. The FSF cautions that its products are not optimized for Windows, because, in their words, "if you want freedom, you can’t get it with a proprietary Microsoft operating system."
The GNU software licenses may be obtained in a general form or geared toward software libraries. While the FSF explains that free software and proprietary software --what most of us work on -- can be combined under certain circumstances, I’d recommend sending it through your legal departments before loading up your proprietary software with free software. GNU’s manifesto can seem a bit radical at times, and you wouldn’t want to find out that you’ve accidentally turned your company’s cash cow into free software.
I’m in the process of contacting the author of LZO compression for specifics about including a library in a commercial distribution.
I’m still of two minds as to whether free software helps or hurts the industry. Does the option to build on another’s work and the desire to create great software motivate better than the possibility of millions of dollars in licensing fees? Regardless of your opinion, you will likely find something of GNU's that can help you with your Windows development. --Eric Binary Anderson is a development manager at PeopleSoft's PeopleTools division (Pleasanton, Calif.) and has his own consulting business, Binary Solutions. Contact him at firstname.lastname@example.org.