Linux's principles and philosophy

12
+ Linux’s Principles and Philosophy

Transcript of Linux's principles and philosophy

Page 1: Linux's principles and philosophy

+

Linux’s Principles and Philosophy

Page 2: Linux's principles and philosophy

+Today’s Linux World

Seeing Today’s Linux World

Creation of new support tools

Improvements in support tools

Creation of new distributions

Page 3: Linux's principles and philosophy

+Using Open Source Software The philosophies that underlie much software

development for Linux are different from those that drive most software development for Windows. These differing phi- losophies affect how you obtain the software, what you can do with it, and how it changes over time. Thus, I describe these principles. I also describe how Linux func- tions as a sort of “magnet,” integrating software from many sources in one place.

Page 4: Linux's principles and philosophy

+Basic Open Source Principles Broadly speaking, software can be described as coming

in several different forms, each with different expectations about payment, redistribution, and users’ rights.

The number of categories varies depending on the depth of analysis and the prejudices of the person doing the categorization, but as a starting point, four categories will do:

Page 5: Linux's principles and philosophy

+

Basic Open Source Principles • Commercial software• Shareware software • Freeware • Open source software

Page 6: Linux's principles and philosophy

+

• Better code • More flexibility • Lower cost • Lack of vendor lock-in

Page 7: Linux's principles and philosophy

+Linux as a Software Integrator Since soon after Unix was created, the OS fragmented into a set of loosely

affiliated OSs. These OSs were incompatible on the binary level but more or less compatible on the source code level. This is still true today. You can take the same program and compile it for FreeBSD, OS X, and Linux, and it will work the same on all three platforms—but the compiled binaries made for one platform won’t work on the others.

There are exceptions to this rule, though. Some programs rely on features that are available on just some Unix-like OSs. Others have quirks that make it impossible to compile them on some OSs. If a program falls into disuse, it may become unusable on newer OSs because it relies on compiler or OS features that have changed. Such problems tend to be ironed out over time, but they do crop up periodically.

Because of Linux’s popularity, most open source Unix programs compile and work fine on Linux. Commercial programs for Linux also exist, although most of these are obscure or specialized. In any event, Linux has become an OS that most open source Unix programs must support. This effect is so strong that many projects now target Linux as the primary platform.

Page 8: Linux's principles and philosophy

+OS Roles

Computers fill many roles in the world, and as computers have become more common and less expensive, those roles have multiplied. Linux can serve as the OS for most of these roles, each of which draws on its own subset of support utilities. Some of these roles also require tweaking the kernel itself. I briefly describe three of these roles: embedded computers, desktop and laptop computers, and server computers.

Page 9: Linux's principles and philosophy

+

Embedded Computers

• Cell phones • e-book readers • DVRs • Appliances

Page 10: Linux's principles and philosophy

+Desktop and Laptop Computers Linux began life on a desktop computer, and although Linux doesn’t come close to

dominating that market, desktop computers are a good way to begin learning about Linux. Laptop computers are similar to desktop computers from a system administration perspective; both types of computers are often used by a small number of people for productivity tasks, such as word processing, Web brows- ing, and managing digital photos. For brevity, I’ll use the term desktop to refer to both types of computer from here on.

Linux software for such tasks is widely available and is quite good, although some people prefer commercial counterparts, such as Microsoft Office or Adobe Photoshop, that aren’t available for Linux. This preference for a few specific com- mercial products is part of why Microsoft Windows continues to dominate the desktop market. Some people have speculated that the open source development model doesn’t lend itself to the creation of popular GUI applications because soft- ware developers tend to be too technically oriented to fully appreciate the needs of less technically capable users. Without an explicit way to require developers to fulfill these needs, which for-profit companies create, open source software projects lag behind their commercial counterparts in usability. This view is not

universally held, though, and at worst, open source projects lag behind their commercial counterparts just a bit.

Page 11: Linux's principles and philosophy

+Desktop and Laptop Computers The X Window System GUI (X for short)

A popular desktop environment, such as GNOME, KDE, Xfce, or Unity

A Web browser, such as Mozilla Firefox An email client, such as Mozilla Thunderbird or Evolution

A graphics editor, such as the GIMP

An office suite, such as OpenOffice.org or the similar LibreOffice

Page 12: Linux's principles and philosophy

+Server Computers

Web servers, such as Apache Email servers, such as sendmail and Postfix Databases, such as MySQL File servers, such as the Network File System (NFS) or Samba Print servers, such as the Common Unix Printing System (CUPS) or Samba Domain Name System (DNS) servers, such as the Berkeley Internet Name Domain

(BIND) Dynamic Host Configuration Protocol (DHCP) servers, such as the Internet

Software Consortium’s (ISC’s) dhcpd Time servers, such as the Network Time Protocol (NTP)

Remote login servers, such as Secure Shell (SSH) or Virtual Network Computing (VNC)