Preface

Several years after the publication of The UNIX Philosophy[1], Phil Sutherland, formerly the publisher at Digital Press, approached me about writing a book on Linux. He said that Linux was going to be big and that he believed that there was a need for a "Linux philosophy" sort of book. Phil and I proceeded to discuss the topic at great length in a series of email exchanges that lasted more than a year. And, despite the established need for such a book and the wealth of ideas to fill it, something just wasn't right about it.

Phil was pushing for a Linux edition of The UNIX Philosophy, which certainly would have made sense from a marketing perspective. But I was seeing something different going on in the Linux community. There was a fresh vigor flowing through the Unix world. It was clear that the aging Unix devotees had succeeded in infusing knowledge of the "way of thinking that is Unix" into the minds of a new, vibrant breed of hackers and other enthusiasts who loved to play with the insides of Unix on their own machines. Linux is Unix, yes, but it's not your father's Unix.

I'd wanted to capture this spirit of innovation in a book that was to be titled "The Linux Manifesto". Eventually it became apparent that "open source" was what Linux really was about. So "The Linux Manifesto" would have to be renamed "The Open Source Manifesto" if it were to fit the subject matter. But Eric Raymond had already written the best "this is why we do this" piece about open source in his classic The Cathedral and the Bazaar[2]. I wasn't keen about doing a copycat book and so the idea was shelved for a time.

Good ideas have a tendency to come back in a different form when the original idea doesn't pan out. Pam Chester of Digital Press pointed out to me a couple of years ago that some of the information in The UNIX Philosophy had become dated and asked if I would be interested in doing a revision. But how does one revise a philosophy? If something is The Truth, then it will continue to be The Truth a month from now, a year from now, and even centuries from now.

Then it finally dawned on me. The UNIX Philosophy book, as a description of the Unix way of thinking, was a "first system". It was now being drawn into becoming a "second system". And the second system, in this case, is a fuller, more developed, more relevant edition of the first. While The UNIX Philosophy was the bare necessities, Linux and the Unix Philosophy takes the original concepts forward and explores new territory. It also still retains the original philosophical tenets because The Truth is still The Truth.

So the readers of the first book are going to find plenty of familiar ideas here. The original tenets of the Unix philosophy are still intact, but I've gone over every chapter to examine how to best express things in a Linux context. In one sense, this book is a revision of the first. But in another it is exploring new ground. The developmental reviewers have spoken of this in their feedback. It has helped them to look at Unix in ways that the first book never did. It is one thing to tell people that the Unix philosophy has affected how Unix programmers have written an operating system. It is a bolder proposition to show how the philosophy is having an effect on other parts of the computer world and even life outside of the computer world.

The software world is undergoing a major shift once again because of Linux and open source software. The Unix philosophy is going mainstream in the computer industry now. Lots of people have adopted its tenets. These ideas have caused a dramatic upheaval as icons are cast aside and people are questioning whether there is a different way to embrace computing on a personal level. Linux is right there, standing in this gap, offering a way for mainstream computer users to experience Unix first-hand. As more of them experience Linux, they are seeing what they perceive as new ways of doing things. The Unix devotees, on the other hand, are finding that personal computing is coming back to familiar territory.

The Linux philosophy is really the Unix philosophy on steroids. I say this emphatically and in conflict with those who would choose to believe that Linux is not Unix. But I am also quick to admit that Linux as a phenomenon is different from what has transpired with Unix. The Linux community is much more attuned to overcoming proprietary approaches to software development than the Unix community ever realized that it had to be.

The Linux community is more savvy, market-wise, too. It recognizes that for Linux to win, it must outthink, outplay, and outspin the competition at every turn. It's doing an outstanding job. The Linux developers, rumored to be more than a million, are vociferously challenging the works of the other operating system developers on their own turf in every vital area: ease of installation, graphical user interface, hardware compatibility, reliability, security, performance, web development, databases, games, and so on.

Thanks to the persistent efforts of its development community, Linux has become the proverbial itch that doesn't go away no matter how much you scratch it.

Who will benefit from this book

In the early days, only system programmers found Unix material interesting. Today's Linux users and developers comprise a far more diverse group with a variety of personal and professional interests. As Linux moves towards the computing mainstream, the kind of people who had never heard about Unix before have seen, used, and perhaps even own a Linux system. In this book I have tried to reach many of them by avoiding low-level technical details while providing thought-provoking views of the nature of Unix, Linux, and open source software. These fringe people will find in here an introduction to Unix ideas and the realization of them in Linux without getting bogged down in command parameters, programmatic interfaces, and such.

Linux developers will benefit from learning the cornerstone ideas of Unix contained here and how Linux has embraced and enhanced them. They will learn that, while Linux has an excellent graphical user interface environment, its intrinsic worth comes from the philosophy behind it. In order to become a true Linux "power user", they need to understand why its textual underpinnings and tools approach give it overwhelming advantages over the competition.

"Old school" Unix programmers might consider reading this book because it will help them to realize why Unix has not gone away and why it will never go away. In Linux, it has simply reinvented itself in a new, more capable form. This book will show them how Linux addresses the computing needs of the new millennium in new, exciting ways while preserving the tenets of the original Unix philosophy.

Other seasoned developers working in today's fast-paced, highly competitive development environments often find that there is great pressure to abscond with the principles of good software design. In other cases, companies put great emphasis on using new development processes because they are the latest fads instead of ensuring that their approaches have sufficient substance. This book serves as a kind of sanity check when design issues appear impossible to resolve or solutions contain questionable assumptions.

In the business world, IT managers today already know about Linux. Many are considering introducing it into their environments because of anticipated cost savings. Their strategy is usually one of replacing older Solaris and HP-UX platforms with less expensive Intel- or AMD-based Linux servers for the less critical applications. As IBM and Oracle further enhance their Linux offerings, switching to Linux for their primary servers will be a more acceptable option than it was a few years ago.

However, IT managers thus far have been afraid to migrate their desktop users to Linux. This book will help them to realize that, not only is Linux a viable alternative, it is actually the preferred alternative. They will find that the philosophy behind Linux and open source software actually makes desktops easier to maintain, less costly, and more secure than their Windows-based counterparts. The same ideas that make Linux an ideal server also carry forth to the desktop. Before they respond with "Yes, but", I have one thing to say to them: Read the book.

Finally, people who deal with the abstract world of ideas will find value in learning about the Unix philosophy. Many techniques used to develop software apply to other endeavors as well. Writers, graphic artists, teachers, and speakers may discover that rapid prototyping and leveraging work in their fields, too. And with the plethora of inexpensive (as in "free") Linux applications available today, they can afford to use the kinds of tools that were formerly too costly for them to explore.

[1]Gancarz, Mike, The UNIX Philosophy, Digital Press, 1995.

[2]Raymond, Eric S., The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary. Sebastopol, CA: O'Reilly & Associates, Inc., 2001.



Linux and the Unix Philosophy
Linux and the Unix Philosophy
ISBN: 1555582737
EAN: 2147483647
Year: 2005
Pages: 92
Authors: Mike Gancarz

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net