Wirth attributed the saying to Martin Reiser, who, in the preface to his book on the Oberon System, wrote: "The hope is that the progress in hardware will cure all software ills. However, a critical observer may observe that software manages to outgrow hardware in size and sluggishness." Other observers had noted this for some time before; indeed the trend was becoming obvious as early as 1987.
He states two contributing factors to the acceptance of ever-growing software as: "rapidly growing hardware performance," and "customers' ignorance of features that are essential versus nice-to-have". Enhanced user convenience and functionality supposedly justify the increased size of software, but Wirth argues that people are increasingly misinterpreting complexity as sophistication, that "these details are cute but not essential, and they have a hidden cost". As a result, he calls for the creation of "leaner" software, and pioneered the development of Oberon, a software system developed between 1986 and 1989 based on nothing but hardware. Its primary goal was to show that software can be developed with a fraction of the memory capacity and processor power usually required, without sacrificing flexibility, functionality, or user convenience.
The law was restated in 2009 and attributed to Larry Page, founder of Google. It has been referred to as Page's law. The first use of that name is attributed to Sergey Brin at the Google I/O Conference 2009.
Other common forms use the names of the leading hardware and software companies of the 1990s (Intel & Microsoft), or their CEOs (Andy Grove & Bill Gates): "What Intel giveth, Microsoft taketh away" and "What Andy giveth, Bill taketh away".
Gates's law ("The speed of software halves every 18 months") is a variant on Wirth's law, borrowing its name from Bill Gates, co-founder of Microsoft. It is an observation that the speed of commercial software generally slows by 50% every 18 months, thereby negating all the benefits of Moore's law. This could occur for a variety of reasons: "featuritis", "code cruft", developer laziness, or a management turnover whose design philosophy does not coincide with the previous manager.
- Wirth, Niklaus (February 1995). "A Plea for Lean Software". Computer. 28 (2): 64–68. doi:10.1109/2.348001. Retrieved 2007-01-13.
- Ross, Philip E. "5 Commandments". IEEE Spectrum.
- Reiser, Martin (1991). The Oberon System User Guide and Programmer's Manual. ACM Press. ISBN 0-201-54422-9.
- Welsh, Geoffrey (1987). "Yes, There IS a Difference Between Micros and 'Big' Computers". TPUG News. 2 (1). Archived from the original on March 10, 2005.
- "Can "Page's Law" Be Broken?". Slashdot.
- "Sergey Brin On Breaking "Page's Law" Of Software Sluggishness". YouTube. 2009-05-27. Retrieved 2009-05-27.
- "What Intel giveth, Microsoft taketh away". OSNews. 2007-11-15. Retrieved 2017-08-17.
- "Ten Laws Of The Modern World". Forbes. 2005-04-19. Retrieved 2017-08-17.
- Gates' law, from the Jargon Lexicon, in the Jargon File (version 4.4.7).
- Orion, Egan (March 21, 2003). "WinTel trips on Linux?", The Inquirer.
- Eadline, Douglas. "May's Law and Parallel Software". Linux Magazine. Retrieved 9 May 2011.