The Open Source Consultant

I have been consulting full time since 1981, and head of my own sometimes-successful company since 1983. Over those decades, I had seen other trends in what we now call Open Source Computing. The first was a small terminal-emulator program for DOS called PC-TALK; although free software had been common in the MULTICS world, this was, so far as I know, the first widely distributed example of freeware (or Shareware) for the personal computer. PC-TALK, and the Telix that replaced it, introduced "free beer" to the PC, or at least the idea everyone should have decent software. Neither program was initially open source, and Telix, like many programs of the day, did ask for a token donation, but both eventually sent out the source code if only to cope with the demand for new features. Still, these were very much like the early FSF programs: The developer pool was tightly cloistered small groups of friends who listened eagerly to the people who used their handiwork. Within a very short time, Telix conquered the BBS-terminal market, defeating even stalwart CrossTalk. This was my first clue: Users are your best co-developers; you can never have too many of them.

In DOS days, we just assumed applications belonged to their developers. Toolkits were another issue. Before long, thanks to Borland, free and open source toolkits sprouted up, C and C++ libraries for every conceivable task, and like the applications, the maintainers of these libraries listened and responded. Suddenly, anyone could contribute to just about any program by creating a clever toolkit, and these libraries spread with great speed. This was the days, or rather the nights of the FidoNet, a poor-man's "Internet" spanning the globe from Europe to central Australia via low overnight phone rate calls to relay email and software from one FidoBBS to its next nearest neighbour. Over this new medium, collaboration and distribution of toolkits and applications was international, extremely rapid, and absurdly cheap. This was my second clue: Internetworking changes everything.

At that time, I was cavorting with known anarchists like the composers John Cage and Udo Kasemets. I had been a fan of Cage, Bucky Fuller, Marshal McLuhan and William S. Burroughs since my teens; in retrospect, I was probably a powderkeg in search of a terrorist. As an unabashed advocate of free and unfettered information sharing, free software appealed to my young mind, it held an almost Kabbalistic hope: "You may pay for knowledge, but you should never charge for it.". Community currencies[RC] would prevail over the economics of scarcity; I devoted myself to learning, promoting and participating in the Free Software Revolution.

My interest was not entirely spiritual. In the 80's, corporate computing was dominated by the IBM's and Microsoft's $1000 development packages. Without apologies, a large impetus to bring free and low-cost software to my clients was my own financial situation: Without these low-cost and no-cost tools, I was excluded. Had I been less rebel, I might have learned Clipper like my peers, and financed my own tools or settled in at that job AE LaPage offered. Instead, as usual, I thought the crooked path looked more interesting.

Free Software, and later the GNU Public License, opened doors which did not otherwise exist. I could parley my Timex Sinclair into an Osborne and that into a PC because bankers could see sense in lending based on collateral. For my software tools, I was on my own. Luckily, with Free Software and a nearly-free global network of friends and colleagues, I was anything but alone.

I still had to pay the bills. Fortunately, my clients knew very little about computers, proving once again by induction how "literacy breeds ignorance". My clients were the people on the shop floor, investors on the exchange desk, people who could not get past their "MIS Bottleneck", and artists and composers. In short, they were craftspeople in their own right who cared more about getting the job done than about the technology used to do it. This gave me license to explore, and I thank them for that.

Thanks to my network community of colleagues and co-developers, I was able to learn by the seat of my pants, pull in remarkable talents behind the scenes, and consistently deliver more bang for the buck than my clients expected. One contract lead easily to another. This was my final clue: "No open source developer is an island".

Thanks to this opportunity of circumstance and a freedom to choose it, 80% of my work now involves only Free Software. I have a positive cash flow, and there is no end in sight. I could now actually now afford to license an 1980's IBM Pascal. Borland, the kind source of my entry to the free software community of the FidoNet, and even venerable IBM, author of the barriers to my entry, are now both avid participants in our Revolution. There's a poetic irony at work here.

The Real "Why" of Open Source

 

The origin of the word "community" comes from the Latin munus, which means the gift, and cum, which means together, among each other. So community literally means to give among each other. Therefore I define my community as a group of people who welcome and honor my gifts, and from whom I can reasonably expect to receive gifts in return.

 Bernard Lietaer[RC]

This is how and why I started. Near poverty, a need to better myself, an aptitude (whatever that is) for independent learning, a gracious opportunity to pull it all together, and a thin wire to a life-line called the FidoNet. From there, a number of chance encounters brought me out of the DOS/Freeware scene into Unix, the Free Software Foundation and later into Linux.

I first encountered Richard Stallman in 1987, or maybe 1988. His GNU Manifesto was being traded like an underground novel on USENET. Eager to participate, I wrote to ask if there was anything someone with a lowly 286 computer could do. Richard said GNU was never likely to run on a PC, but they had a dire need for documentation; it's another irony that today, a large chunk of our revenue comes from assisting Macmillan Computer Publishing in open source book projects.

Anyway, back to RMS: His Manifesto was a blueprint for practical community economics, a formal and legal framework, straight out of Bucky Fuller. It lowered the entry barrier to anyone owning a Sun workstation, and while a Sparc was impossibly out of my own reach, I was, at the time, under contract with Cognos Inc where Sun workstations were plentiful. At Cognos, I found my fellow engineers were already deep into Free Software computing, but for different reasons.

Cognos, known at the time for their 4GL Powerhouse software, was a world leader in implementing object oriented technology. Our editor of choice was EMACS, our windowing system was X, our compiler of choice was GNU C, and most of our other tools were gems peeled off FSF tapes. Why do this? In 1989, Cognos was Canada's largest software company, and something like 14th largest in North America. We could afford over 200 programmers and a Sun 360 for each of them. We could certainly afford any tools the market could offer. Why base the core of the business on an absurdly low-cost tape from the Free Software Foundation?

Superior performance of the FSF craftwork is only part of the answer, as was their adherence to industry standards. For our purposes, there was the demands of our leading edge research: If we needed a fix, we had both the source and right to change it, but this was not the whole story. Even the "standing on the shoulders of giants" was only part of the story. Yes, we could change the software to suit our purposes, but even more importantly, most often, someone, somewhere else, someone we did not know and certainly did not pay, had experienced the same need, had already added that feature or fixed that bug, and had returned the new code to the general pool of knowledge. Our choice of Free Software was not just about control of our own destiny or building on prior work. It was about the amplification of our resources through a global community. This is where all my clues came together. This is where Open Source computing changes the game, or at least illustrates a very changed game; this is how Open Source over the Internet redefines "technical training", and gives the Open Source Consultant their competitive advantage.

Three things happened at Cognos, three things for which I am forever grateful: I was bitten by the Unix bug, I came to understand Object Oriented Design, I learned first hand about the real advantages of free software, and my wife left me. You can't buy good fortune like that.

Terminology

Before I get too far, let me clarify my terms. Throughout this paper, I use "Open Source Software" and "Free Software" almost interchangeably. I similarly swap the trademarks "GNU", "Free Software Foundation" and "Linux". This is out of bad habit, not ignorance.

By "Open Source", I do not mean simply the granting access to source code; I mean the spectrum of licenses endorsed by the Open Source Initiative (OSI), and those they would endorse if they read them. This is a more liberal definition of "free software" than the FSF; you could say that Open Source is a sphere with GPL at its center, or a diffusion pattern out from GNU. The licenses inside this sphere share a common bond of allowing anyone free access to the source code, and granting anyone the right to redistribute modified versions of that code. More over, and more importantly, these licenses facilitate an open community exchange of ideas and development.

Similarly, Linux is itself a GPL (GNU Public License) project, and most Linux distributions contain a high percentage of Free Software Foundation (FSF) software, but I use these terms in the loose and shallow sense to include all software bundled with an open invitation to copy, share and modify the programs and the collections. Again, an open invitation to participate which facilitates an open community.

My intent is not to fuel license wars but to point out the differences between, for example, the community of Visual Basic, or Delphi, or Sybase developers, and those of a Linux or Apache. Both are "communities", but there are stark differences which place the proprietary group at a distinct disadvantage, especially when mixed with the Internet. Open source groups, by being open to mass participation, can achieve a critical mass of online synergy unknown to proprietary communities.