The Daemon, the GNU & the Penguin "A History of Free and Open Source" (online, book length)

Some reading for you, by Peter Salus (who has other books to his name)

The Daemon, the GNU & the Penguin (at Groklaw)

Dr Peter Salus’s book, the Daemon, the Gnu, and the Penguin, was a regular Groklaw feature in 2005 and 2006. It is now in book form (paperback)… It’s been expanded, and the subtitle now is “How Free and Open Software is Changing the World”.

via this mailing list post by John Gilmore, who talks about bootstrapping in the Cygnus project:

we shipped our fourth major multi-platform supported GNU compiler release (93q2) in June 1993. Compiling the same source files on 8 of the 9 different host systems, for the Motorola 68000 target (among 10 target environments using 5 different CPU chips), produced exactly bit-for-bit identical object files.

Just to get the GNU tools to build cleanly on all those platforms, and to test them in both native UNIX and MSDOS systems, and in embedded boards without an operating system, took a team of 6 or 8 talented people many months. We had to design and build the first “configure” script, also. (My apologies to everyone for how complicated autoconf has become in the intervening 25 years).

The closest thing to a published, broad summary of what we were doing back in 1992 and 1993 is from Inside Cygnus Engineering issues 1992-09 and 1992-12. In general see:
http://www.toad.com/gnu/cygnus/
http://www.toad.com/gnu/cygnus/ice/ice-1992-09.txt

    	 \ HOST |                   DEC   IBM   SGI
  TARGET  \     | SUN3  SUN4  SOL2  STN   RS6K  IRIS  DOS  HP300  HP700
  --------------+--------------------------------------------------------
  Native        |  X     X     X     X     X     X     
  68k VxWorks   |  X     X           X     X     X           X      X
  68k a.out     |  X     X           X                 X            X
  68k coff      |        X           O                 O
  29k UDI       |        X                             X
  ix86 a.out    |        X           O                 O
  i960 VxWorks  |        O           O     X                        O
  i960 Nindy    |        O           O
  SPARC VxWorks |        X                                               
  SPARC a.out   |        O            

  X     = on the shelf                     
  O     = may be custom built
  68k   = 68000, 68010, 68020, 68030, 68040
  ix86  = 386, 486
  i960  = KA, KB, CA
  SPARC = SPARC, SPARClite

via this blog post from the full-source bootstrap project:

Software is bootstrappable when it does not depend on a binary seed that cannot be built from source. Software that is not bootstrappable—even if it is free software—is a serious security risk (supply chain security) for[1] a[2] variety[3] of[4] reasons[5]. The Bootstrappable Builds project aims to reduce the number and size of binary seeds to a bare minimum.

1 Like