Why has Plan 9 chosen statically linked binaries instead of dynamic ones? (2004)
There was a strange and mutually self-supporting pair of ideas in the Plan 9 community at the time:<p>1) &quot;Shared libraries are bogus.&quot;<p>2) &quot;Anyone who likes normal-looking user interfaces rather than plain boxes with text in them is a poopipants.&quot;<p>Both of these propositions are contentious to say the least, but what bothered me was that two propositions were mutually supporting while being (to my mind) orthogonal. The obvious and most compelling example of a shared library on the Unixen at the time were all the various UI libraries (Motif and various other abominations; all of them huge and unwieldy). It seemed necessary to accept that these libraries were obviously Completely Unnecessary to buy into the Plan 9 idea that shared libraries didn&#x27;t do anything worth mentioning.<p>I&#x27;m sure it&#x27;s possible to design a better UI library (or maybe even a wacky user level file system for user interfaces; in fact, my honours project in 1993!) but <i>at the time</i> the way people made interfaces that looked vaguely like what other people expected computer programs to look like was to use big-ass shared libraries on Linux.<p>This was <i>also</i> the way (dragging in one of those godawful blobs like Motif etc) that anyone might have exerted themselves to port across a (not completely pitiful) web browser, but the degree of aggressive disinterest in supporting Other Peoples Code was  extreme (Howard Trickey&#x27;s &quot;ANSI POSIX Environment&quot; or &quot;APE&quot; didn&#x27;t get much love as far as I could tell).<p>It was quite undignified to watch people struggling with text-based web browsers or firing them up on non-P9 boxes because of the inability to support the web at the time.