|Home||Switchboard||Unix Administration||Red Hat||TCP/IP Networks||Neoliberalism||Toxic Managers|
May the source be with you, but remember the KISS principle ;-)
Bigger doesn't imply better. Bigger often is a sign of obesity, of lost control, of overcomplexity, of cancerous cells
Nikolai Bezroukov. Portraits of Open Source Pioneers
For readers with high sensitivity to grammar errors access to this page is not recommended :-)
"Never in the field of human conflict was so much owed by so many to so few."
But, as we look to the horizon of a decade hence, we see no silver bullet. There is no single development, in either technology or in management technique, that by itself promises even one order-of-magnitude improvement in productivity, in reliability, in simplicity.
— Fred Brooks, No Silver Bullet
This book is a warning that we've lost sight of a simple truth — languages, tools, fancy methodologies and organizational structures don't write software; people do. The gap between the best software developers and the talented software developers (to say nothing about average) is very wide — perhaps wider than in any other engineering discipline. Not that you can do a lot without money, but you can do more then in many other engineering fields.
Still while the old myth about single software cowboy is wrong, large software projects are very expensive and strongly depend both on the individual talent of multiple individuals involved as well as management and financing.
We do not want to promote Romantic version software authorship: an individual genius (possibly working part time in McDonalds to support himself) creates entirely original work, has no debt of gratitude to anyone, no obligations to any organization, and at the same time has no moral rights to all his work and are obliged to bestow them to the public charity (which is accidentally supervised by RMS himself) getting nothing but respect in return. As you can see from the chapters below this is simply not true. The fact that we disagree with orthodox Raymondism or orthodox Stallmanism should be no surprise.
While individual contribution is the name of the game in software, individual genius phase in software development is over if it ever existed. Computers from the beginning were quite an expensive toys and only those who were under umbrella of some rich organization were able to write programs for it. Also most large software projects are done by teams working for organizations with multi-million budgets and without financial incentives and strict discipline imposed on developers by such an environment and professional managers (who can be extremely talented themselves, as was the case with Fred Brooks) it is not clear whether such a project can be accomplished. The individual geniuses or even loosely coupled network of individual geniuses are the most important asset of any project and the prerequisite of it being successful, but clearly they are not enough.
Also it is important to understand that large software projects are pretty harmful for the health of people involved (note the Stallman himself no longer programs, supposedly because of repetitive stress injury to one of his hands but most probably because of burnout) and are extremely exhausting and even dangerous for the mental health. So the issue of compensation is far from being mute. In this regard software development is not unlike chemical industry. Would anybody like to work for free in the chemical industry ?
This book deals mainly with XX century authors, when programming was closer to a real art and when individual achievements were valued much more then in the cruel atmosphere of outsourcing and downsizing as it exists today. In short this book about the state of the art before outsourcing wave overrun the US information technology industry. It was a very fine industry achievements of which we need to remember.
The state of contemporary software scene is slightly troubling. It no longer supports for programmers in this country in a long term (and programmers maturity is not the thing that can be achieved in a couple of years after the college). It's now all about outsourcing. I would not say that all good software firms are all on the verge of extinction. But the software market PR machine is really fascinated with outsourcing real or imaginary savings. Open source is an interesting variant of outsourcing where your contributors (often all over the world) works for free and you (assuming you are a commercial organization like Red Hat) can rip financial benefits along with your share of contribution to the project.
If one asks prominent open source software authors what they mean by "open source" and why they are working on this type of product each answer will be different. People outside the movement tend to think of those great authors as a rather homogenous crowd who are in complete agreement with the movement's political and business leaders and that open source programming project are created by an army of ants working in synch on different continents, as if open source is the next incarnation of the "human wave" method of software development. This is simply not true. Open source is about individual talent and as you can see from the subsequent chapters great open source software authors are very different.
Craftsmanship is what Knuth meant by the "Art of programming" and it is a self-sustaining system in which individual great masters produce lasting peaces of work and sometimes arrange for the training of their replacements. Of course those pieces are later commercialized and developed into Christmas trees by large corporations, but the initial implementations) always stand as the monument to the people who wrote them. And other then the individual talent, there is no silver bullet in software engineering, not even somewhere at the horizon. As Frederick P. Brooks, Jr. aptly put it is his famous essay :
But, as we look to the horizon of a decade hence, we see no silver bullet. There is no single development, in either technology or in management technique, that by itself promises even one order-of-magnitude improvement in productivity, in reliability, in simplicity. In this article, I shall try to show why, by examining both the nature of the software problem and the properties of the bullets proposed.
Skepticism is not pessimism, however. Although we see no startling breakthroughs--and indeed, I believe such to be inconsistent with the nature of software--many encouraging innovations are under way. A disciplined, consistent effort to develop, propagate, and exploit these innovations should indeed yield an order-of-magnitude improvement. There is no royal road, but there is a road.
The first step toward the management of disease was replacement of demon theories and humours theories by the germ theory. That very step, the beginning of hope, in itself dashed all hopes of magical solutions. It told workers that progress would be made stepwise, at great effort, and that a persistent, unremitting care would have to be paid to a discipline of cleanliness. So it is with software engineering today.
End he was right, even 30 years later, while there are significant achievements still there is no silver bullet. Among other things this book tries to dispel myths about open source as a magic "cure for any disease" miracle.
If you're a software engineer, your basic building material is human intellect and your primary tool is you. Rather than designing a structure to the last detail and then handing the blueprints to someone else for construction, design is intermixed with the implementation. The whole job of programming is building virtual reality — it's probably one of the most purely mental activities you can do. BTW many xUSSR universities awarded computer scientists PhD degrees in applied mathematic. In retrospect there is some sense in this classification. For that reason programming work is difficult to supervise because it is difficult to understand what you're working on without replicating most of the work. We all know about projects in which 80% of the time was spend on subsystem that developers found interesting and 20% on everything else.
I think that each prominent open source software author has its own idea of "open source software" which has much less in common with others than one would like to assume. The motivation of Donald Knuth (the author of TeX, who at this time was already a famous author and computer scientist) was different than the motivation Linus Torvalds who started writing the POSIX compatible kernel during his university years, not knowing much about operating systems, complexity of the task and even about C language and then decided to became rich due to this effort. And motivation of Larry Wall who is still driving old Honda Accord is quite different from the motivation of Linus Torvalds who bought himself BMW roadster to get to work.
Also you cannot compare Linus Torvalds and Larry Wall in their goals. A single goal of Linux Torvald (other then to become rich) was to replicate POSIX kernel. At the same time Larry Wall broke a new path with Perl language, like an icebreaker forcing his way into the territory that was never accessible before.
I do not want to exaggerate the differences. I just want to show the stunning diversity of people in the movement. The leading edge open source developers, the people who are the real heart of open source have and been pioneering new turf can be found mainly in the area of scripting languages. I strongly believe that scripting languages developers are the most bold and innovative part of the open source movement.
Further, you have to distinguish between open source projects, and open source companies. While so much of the hype has centered on Linux, and especially attempts by Linus Torvalds & Co to recreate Microsoft's past successes by commoditizing Unix kernel and turning it into a kind of new BIOS, the key issue here is that open source companies server the role similar to generic drug makers. They do not invent anything, they use inventions of others and drive price down, often to zero. Most open source software that is developed by open source companies is essentially the product that provide more then 80% of functionality of their commercial counterparts but it costs less (zero without software support).
I am convinced that scripting languages should be considered as the main achievement of the open source movement and that the fact that Linux kernel is getting all the ink is somewhat unfortunate. Open source scripting languages -- never so hyped as Linux--has not only held on but extended its leading market share, despite attempts of Sun and Microsoft to dethrone them. I am also convinced that the history of creation of scripting languages is much more interesting and that biography of the creators of those languages are definitely worth reading in the context of this book.
I am convinced that scripting languages should be considered as the main achievement of the open source movement and that the fact that Linux kernel which is no better than FreeBSD kernel is getting all the ink is somewhat unfortunate.
As anyone who frequents certain newsgroups and the Slashdot site knows, the open source advocates in general and Linux advocates in particular can be quite aggressive to those who disagree with them. This is actually the form of enforcing political correctness (somewhat similar to Lysenkoism). I would like forewarn that this book is not an advocacy book. It is quite skeptical and, for example, I consider Stallman's GPL to be a bad programming license and Linus' idea of "world domination" to be destructive to the movement. Of course I can be wrong, but in my view "serving the world approach" is a much better approach than dominating it, and I try to argue that that real open source is closer to academic research than to anything else. See also my paper of this subject.
I would like to reiterate it again that open/free source is far from being a silver bullet that magically eliminates all the problems with software development. Contrary to the views expressed by Eric Raymond in his famous "The Cathedral and the Bazaar", it is far from being a new paradigm of software development. It also has serious problems in the intellectual property area. The latter is especially true for the software licensed under GPL license advocated by Richard Stallman.
At the same time I think that open source reflects one important quality of software -- the possibility of producing any number of perfect copies at a an extremely low cost, and as such it is not a fad that will disappear in a decade or two. It also serves as important democratic movement that created possibility to avoid Microsoft's "operating system tax" in developing countries. This role of open source as a counterbalance to firms like Microsoft should be underestimated.
As Red Hat and VA Linux IPO and the following Linux gold rush have shown that open source is not only people who are working on software they like, it is now a very controversial business phenomenon that attracts a lot of "make money fast" adventurists. Whether Red Hat will go bankrupt or bought in the future or not, it will remain in history as the first multi-billion related-related IPO that influenced and probably twisted the open source movement in many ways. This is really a surprising fact, taking into account the almost complete absence of revenue from this tiny company, socialist overtones of open source movement in general and Linux in particular. Although I will mention some aspects of this in my chapter about Linus Torvalds, this phenomenon is generally beyond the scope of the book.
I believe that both the open source history and the fascinating personalities driving it are very interesting subject for a book. That's why I am writing this book. I hope that most people who write or use open source software will find this book useful, and that it will help them to form their own, more educated, opinion about the movement, its history and its major players.
Often books and articles about history of free/open source are never meant to be objective or balanced. A lot are like "The Hacker Crackdown" by Bruce Sterling, a good abeit slightly boring read, full of interesting characters, but at the same time having a false sense of authenticity that made the reader feel like they were there. Like any writer, Bruce Sterling researched materials, but one need to understand that the book was aimed to be an entertainment. Or consider "hacker papers" of John Markoff. Even completely drunk programmer would never claim that his articles on hacking are accurate. But despite his absolute ignorance on the topic, it is remarkable how many other journalists rehash his work as if it is history. So when thinking of "free/open source history", there are some problems that need to be addressed:
Similar thing happened with Free/Open/NetBSD troika. BSD was the first completely free Unix and for forget about this fact means to twist the history. Linux in a sense is a byproduct of AT&T lawsuit. Similar thing is true about most of GNU utilities: most of them have earlier counterparts in FreeBSD.
People are understandably curious about the lives of the authors of great software. But when it comes to open source software, we usually don’t look any further than the programs they created. I believe we should know more than that. The first and rather old question we may ask is "What makes a great software developer?". I do not think that there is much difference between open source and non-open source developers. I think some people are just born to be a great programmers, but it take years of practice to master the art and learn the necessary theory. In this sense, programming is pretty close to piano playing. One needs both talent and constant practice. Any one component is not enough. And if you stop, you are history...
The choice of open source or closed source is to a certain extent accidental -- these people would be programming day and night anyway. I usually shrug my shoulders when somebody says "I invented Linux" in an interview, but there is a subtle relevant point here -- most of the talented programmers that I have known have a lot in common with inventors as a personality type. Both groups have strong natural curiosity, perseverance, creativity, a tendency to analyze things, dissatisfaction with things that do not work well, willingness to take risks, courage to challenge experts, and desire to change the status quo.
According to Larry Wall some of great programmers are lazy and looking for an easier way, but this is only partially true. They may look for an easier way but not for himself, because programming a new software to simplify some boring task is not always the best way to deal with the problem. I doubt that Larry benefited form Perl -- he put so many hours into it that anything else would be actually an easier way.
The old saying "Practice makes perfect" is especially applicable in programming. With talent practice may provide tremendous improvement in this art. Programming is sometimes called science -- computer science. It is really both an art and science as Donald Knuth aptly put it in his famous Turing lecture. And like in case of many artists, writers and chess players capable people can rather quickly get to the top in programming even without much formal training. Just think that Linus Torvalds started writing POSIX compatible Unix kernel without decent knowledge of C language, and definitely without a decent computer science training (up to that moment he has not managed to get even a BS degree.) But like in chess to stay on top one needs to keep learning and here theory can be indispensable.
I would like to stress it again that my favorite role model for the open source movement is Donald Knuth and Larry Wall. Not Richard Stallman, not Linus Torvalds, although I have great respect for both, but Donald Knuth, the author of the classical three volume series The Art of Computer Programming, the creator of the brilliant open source typesetting systems TeX and Metafond and five volumes of Computers & Typesetting. What is interesting, that this great computer scientist believes that programming can be an aesthetic experience, much like composing poetry or music. This is very close to my views on programming. Below there are a short sketches that are expanded in the subsequent chapters:
Donald Knuth -- the author of the classical three-volume series The Art of Computer Programming, believes that programming can be an aesthetic experience, much like composing poetry or music. He is the creator of open source typesetting systems Tex and Metafond (written in WEB for Pascal) and five volumes of Computers & Typesetting. He fought with religious fanatics worshiping programming without "goto" (see his cornerstone article "Structured programming with goto statements"; (Sorry, due to ACM selfishness and greed neither this article, no his Turing lecture are available on the WEB). Later he fought with verification zealots and coined the famous phrase "Beware of bugs in the above code; I have only proved it correct, not tried it.'' Among his other achievements is so called Literate Programming (WEB programming), and he is still supporting the open source CWEB system of structured documentation, which was written by Silvio Levy (Berkeley). Literate programming originated an idea of richer language for source code than plain ASCII (now the best candidate for CWEB is probably HTML and the simplest tool is any programmable word processor including MS Word, WordPerfect, etc.). Please follow this link for the chapter about Donald Knuth
Richard Stallman -- the founder of the GNU project and the Free Software Foundation. He is the principal author of the now famous GPL license. He was born in New York in 1953. He graduated from the Department of Physics of Harvard University in 1974. In 1983 he resigned from the AI lab at MIT, so he would be free to produce free software, which he could then distribute on his own terms. He wrote the famous GNU Manifest in 1986. He is the principal author of GNU Emacs, GNU C compiler and GNU debugger (GDB) as well as the contributor to a lot of other GNU tools. In 1990, he received the ACM Grace Hopper Award for developing the original ITS Emacs. He also received a MacArthur Foundation $240,000 fellowship in that year, which was used for financing the GNU project and the FSF. Please follow this link for the chapter about Richard Stallman
But again i would like to stress that the most important (but still in early beta stages) parts of the book are chapters devoted to the creators of scripting languages. Among them:
Dr. Nikolai Bezroukov
May 16, 1999
Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers : Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism : The Iron Law of Oligarchy : Libertarian Philosophy
War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda : SE quotes : Language Design and Programming Quotes : Random IT-related quotes : Somerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose Bierce : Bernard Shaw : Mark Twain Quotes
Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 : Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law
Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds : Larry Wall : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOS : Programming Languages History : PL/1 : Simula 67 : C : History of GCC development : Scripting Languages : Perl history : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history
The Peter Principle : Parkinson Law : 1984 : The Mythical Man-Month : How to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Hater’s Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite
Most popular humor pages:
Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor
The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D
Copyright © 1996-2018 by Dr. Nikolai Bezroukov. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) in the author free time and without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.
FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.
This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...
|You can use PayPal to make a contribution, supporting development of this site and speed up access. In case softpanorama.org is down you can use the at softpanorama.info|
The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.
Last modified: September 12, 2017