I've been playing with computers since I was in High School 35 years ago. And in those 35 years, I've done it all: a Computer Science Ph.D. and a host of jobs including systems administrator, researcher, professor, author, entrepreneur, and most of all, programmer. What I like most about computers is that I can build useful programs for other people. The idea of free software has always made sense to me.
And now free software is my business. A program that I wrote nearly 20 years ago ("Electric") is a GNU offering, and I work on it full-time. For the past 3 years, I've earned more than ever before by consulting, training, and selling products related to this system. I'm so busy that the "dot bomb" didn't even touch me. And everyone who I consult for (Sun, Intel, etc.) agrees that I may take the improvements - that they pay for - and give it out to the GNU community.
How did this come about? Here is my story.
It all started back in 1982 when I was working at the Fairchild Artificial Intelligence Laboratory in Palo Alto, California. It made sense, when working for a chip manufacturer, to investigate ideas in Computer-Aided Design (CAD). And this was at the time when the famous textbook by Mead and Conway came out ("Introduction to VLSI Systems"). With this book, integrated-circuit design became less of a black art and more accessible to the masses. After using two other CAD systems, I decided to write my own, and so I built Electric. Even by today's standards, this system has clever ideas that make it powerful. Soon, everyone in the lab was using it to design chips.
Now Fairchild, at that time, was owned by Schlumberger, a large company that had many other holdings. One of those other holdings was Applicon, a maker of CAD systems. When we showed Electric to people at Applicon, they declared that they already knew all of these ideas, and so they had no interest in it.
This news made me very happy, because I could then suggest to the lab director that we give this worthless CAD system away to others. The lab started giving out the Electric source code to universities and other nonprofit groups (licensed in the style of Bell Labs' UNIX). After a few years, it was widely used. For example, Canada and New Zealand set up agencies in their countries to support Electric for the schools of their nation.
But then I quit working for Schlumberger, and since they owned my system, I also quit working on Electric. Or so I thought. One day a man named Brian Gardiner called me on the phone and told me an incredible thing: he had just bought the rights to Electric from Schlumberger. He was forming a company called Electric Editor Inc., and he needed my help.
For 10 years, Electric Editor lived on the edge of survival. Brian took no salary for many of those years. At first, the system was priced low (it was already developed and ready to use). But people were afraid to purchase it because of its suspiciously low price. So Brian raised the price to be competitive. Then the customers had another reason to avoid us: we were too small. Complex CAD systems require extensive training, and people were afraid of having to retrain if our small company folded.
It was a double-edged sword. The only place where Electric did well commercially was as a "custom-solutions" CAD system. A few large software development projects were undertaken for customers whose needs were outside of the mainstream. Electric was easy to customize to these special needs.
But it wasn't enough, and Electric Editor decided to close its doors. It was at this point that I was able to convince them to place Electric at GNU. Was it a last act of desperation for a dying company? No, it was a crafty way to solve all of Electric's problems at once!
The two objections to the use of Electric were price and company stability. As a piece of "free software" from the most well-known free software collection, both of these issues are finally put to rest. The low price is no longer suspicious, because everyone knows and understands the "free software model". And people also feel that GNU is at least as stable as any company in business today.
I purchased the rights to Electric from the old company and formed a new one: Static Free Software (www.staticfreesoft.com). My new company finally had the perfect product: a CAD system you can trust, at a price you can afford.
But what's in it for me? First off, it's still great to see people using my programs, and now I have users all over the world. University professors teach classes with Electric, many individual "hobbyists" are designing chips at home, and engineers at large companies are evaluating and using it. I'm doing a modest business just selling supported binaries, documentation and CDs on the web.
But the real payoff comes when a large company wants Electric, and pays me to help them. For the past 3 years, I have consulted continuously at Sun Microsystems. During that time, I have also done projects for Intel and a number of smaller companies. Free software consulting has turned into a modern "cottage industry", where I sit home in my "cottage" uploading software to the web, and customers on the other side of the world wire payment to my bank account.
Everyone knows the classic work-world model: when you work for "the man," he owns your soul. And when a company pays me to develop Electric, they own those improvements. But thanks to GNU, this scenario gets changed. Because improving Electric could trigger the GPL and force distribution, most companies see this as an encumbrance that has potential "downstream cost." So corporate lawyers regularly assign ownership of the improvements to me. That way, they don't have to worry about fulfilling the terms of the GPL.
Corporate lawyers hate the GPL for another reason as well: its "viral" nature. If even a single subroutine of Electric's code is used in any other company product, that entire product gets "infected" and must be given away free (this is not my analogy: I've heard it from corporate lawyers more than once). One company, to protect itself, purchased a "commercial license" from me that circumvented the GPL and granted them more control of distribution. But I was still able to stipulate in this commercial license that the bulk of the improvements, and all of the bug fixes, would be owned by me and thus remain free. In the 17 months since that agreement was made, none of my work has been restricted in any way, and all of it gets sent to GNU.
So every day, I work on Electric, and I still love it. I don't work very hard: about 25 billable hours per week, plus time in the evening to answer "fan mail". No boss can kill my project, and there's never been a lack of work. I even have colleagues all over the world who contribute code and help me to build a well-respected piece of software. It could never have happened without GNU.
Steven M. Rubin is the author of the Electric VLSI Design System, and the CAD tools textbook "Computer Aids for VLSI Design." He received his doctorate at Carnegie Mellon University and has done research at Bell Labs, Schlumberger, and Apple. Specializing in visually-oriented computing, his research has spanned computer vision, graphics, and CAD. Steve is also the lead singer of Severe Tire Damage, the first band to perform live on the Internet.