The goals of the National Software Works Project were to demonstrate the feasibility and practicality of providing users uniform access to services on a diverse set of computers and operating systems. We have, indeed, succeeded in showing that such access is possible by building, running, and maintaining a system called NSW, which ran on the Arpanet in one form or another between 1976 and 1983. In its final version, NSW connected an IBM 370, two TOPS-20s, a MULTICS and several UNIXes. The need to interact with different computer systems is ever increasing in both military and commercial sectors. The lessons learned from the construction of NSW can help those building the next generation of these systems. This report is about those lessons we learned.