His next step, sometime around the beginning of 1985, was to look at the Pastel compiler - "a compiler I was told at the time was free" - which offered a learning curve for understanding "how to do automatic register allocation, and some ideas about how to handle different sorts of machines."
In the GNU Manifesto, published in March 1985, Stallman wrote that "a new portable optimising C compiler has compiled itself and may be released this year."
He added a front-end for C to the Pastel compiler, and "a back-end for the 68000 which I expected to be my first target machine", but ran into problems with the compiler architecture. Pastel was described by its original authors as "off-colour Pascal" and as such, did not "require you to declare something before you used it" and "the declarations and uses could be in any order." As a consequence, all code to be analysed had to be read into memory. "The result was that the intermediate storage used in the compiler, the size of the memory needed, was proportional to the size of your file... the 68000 system available to me could not run the compiler."
In the 'GNU's Bulletin' for February 1986, Stallman wrote: "The problem is that most of the compiler is written in Pastel, a super-hairy extended Pascal, and it is also the sole compiler for that language. To make it smaller, we must eliminate the hair needed to compile Pastel; then we will not be able to compile Pastel, so it must all be rewritten into C."
"Len Tower, the sole full-time GNU staff person, is working on this, with one or two assistants."
In any event, according to Stallman "I concluded I would have to write a new compiler from scratch. That new compiler is now known as GCC; none of the Pastel compiler is used in it, but I managed to adapt and use the C front end that I had written," suggesting that most of the work on the compiler was done between February 1986 and March 1987.
We make free software affordable
Tiemann attended a week-long series of lectures by Stallman the month before the first release of GCC, and says "my curiosity grew as Stallman would steal moments between lectures and especially at the end of the day to hack on a project he was not yet ready to disclose"; this project turned out to be GCC.
The lectures sparked Tiemann's imagination, and his subsequent experience with GCC led to him setting up Cygnus Support (later Cygnus Solutions) with John Gilmore and David Vinayak Wallace - the first company in the world dedicated to the promotion and support of free software.
Cygnus was created in 1989, two years before Linus Torvalds made the first Linux announcement to comp.os.minix, and nine years before the creation of the "Open Source Initiative", and was dedicated entirely to marketing GNU software.
According to Gilmore, the slogan on the first Cygnus Support T-shirt was "We make free software affordable", and the biggest selling point was GCC, the affordable compiler.
Cygnus became a key contributor to GNU and Linux and reaped considerable rewards for being the first company to take the then radical (and to many people, counter-intuitive) step of marketing software that was released exclusively under free software licenses. By the time the company was acquired by Red Hat for $600 million in November 1999 making all of its early employees into millionaires - Cygnus employed more than 120 people and had annual revenues over $20 million.
Cygnus became a significant provider of support for free software products among many sectors of industry. Major clients included Intel, AMD, 3Com and Adobe. As Gilmore recounts "ultimately, we did get million-dollar contracts, such as one from Sony for building PlayStation compilers and emulators. This allowed game developers to start working a year before the PlayStation hardware was available."
The primary product of Cygnus was the GNUPro Developers Kit, which provided the leading compiler product (GCC) and the leading debugger product (GDB) in the embedded software tools market. Anybody could download the GNUPro code, but GCC was cheap and in heavy demand as a portable compiler that enabled the relatively rapid porting of code and tools from one architecture to another.
Cygnus made its money by providing expertise and support for the software, and Stallman claimed Cygnus was a recursive acronym for "Cygnus, Your GNU Support'.