To compile it yourself you'll need Linux 2.2.17 kernel, XFree86 4.0.1 and libc 2.1.3 or 2.1.92. The first release was finished in 1999. Most of the time was spent in general design and testing. The more you refine your algorithms on paper, the faster the coding happens. Threading offloaded all the concurrency requirements to the operating system, saving another chunk of coding time.
Every window is a separate thread.
Almost every object is a thread. It fills up your process table, not as elegant as classical signal handling, but it's fast to write. Beyond having a very high credit limit, there are techniques you use to accelerate application development at the expense of formality. Linux hackers tend to prefer clean build environments, tight programming languages, and classical signal handling, so there's an inflated perception of how complex a program has to be. Broadcast 2000 is now right between the low end machines and the high end machines.