Linux Pages


These pages are devoted to the Linux operating system. Some pages contain material that is relatively technical and detailed, for those who want to get into the system and play around with the innards. These pages aren't for everyone. I've tried to make it clear which pages are heavy going, and which are readable by human beings.


What Is Linux?

Humble Origins

Linux is an operating system that originated with a computer science student named Linus Torvalds. Linus wanted to develop a free system he could run on his personal computer, that would have some of the features of the operating system he had access to at school (that was a system called 'minix'). He planned a modest project, and sent out a newsgroup posting inviting others to contribute and help him in this project. His original request was posted on August 25, 1991:

Hello everybody out there using minix -

I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones.  This has been brewing
since april, and is starting to get ready.  I'd like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons)
among other things).

I've currently ported bash(1.08) and gcc(1.40), and things seem to work.
This implies that I'll get something practical within a few months, and
I'd like to know what features most people would want.  Any suggestions
are welcome, but I won't promise I'll implement them :-)

               Linus (torvalds@kruuna.helsinki.fi)

PS.  Yes - it's free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that's all I have :-(.

Relationship with GNU

In his message, Linus refers to a big and professional operating system called GNU. GNU was a project of Richard Stallman, similar in intent to Linus's. Like Linus, Stallman wanted to create a free operating system that would allow users to work unimpeded by restrictive licenses and fees. Stallman began his project in January of 1984, long before Linus started his. However, Stallman's project hasn't yet been completed. While Stallman has produced considerable free software, the kernel is still incomplete. This is the text of Richard Stallman's request for help on his project:

Free Unix!

Starting this Thanksgiving I am going to write a complete
Unix-compatible software system called GNU (for Gnu's Not Unix), and
give it away free(1) to everyone who can use it.
Contributions of time, money, programs and equipment are greatly
needed.

To begin with, GNU will be a kernel plus all the utilities needed to
write and run C programs: editor, shell, C compiler, linker,
assembler, and a few other things.  After this we will add a text
formatter, a YACC, an Empire game, a spreadsheet, and hundreds of
other things.  We hope to supply, eventually, everything useful that
normally comes with a Unix system, and anything else useful, including
on-line and hardcopy documentation.

GNU will be able to run Unix programs, but will not be identical
to Unix.  We will make all improvements that are convenient, based
on our experience with other operating systems.  In particular,
we plan to have longer filenames, file version numbers, a crashproof
file system, filename completion perhaps, terminal-independent
display support, and eventually a Lisp-based window system through
which several Lisp programs and ordinary Unix programs can share a screen.
Both C and Lisp will be available as system programming languages.
We will have network software based on MIT's chaosnet protocol,
far superior to UUCP.  We may also have something compatible
with UUCP.


Who Am I?

I am Richard Stallman, inventor of the original much-imitated EMACS
editor, now at the Artificial Intelligence Lab at MIT.  I have worked
extensively on compilers, editors, debuggers, command interpreters, the
Incompatible Timesharing System and the Lisp Machine operating system.
I pioneered terminal-independent display support in ITS.  In addition I
have implemented one crashproof file system and two window systems for
Lisp machines.


Why I Must Write GNU

I consider that the golden rule requires that if I like a program I
must share it with other people who like it.  I cannot in good
conscience sign a nondisclosure agreement or a software license
agreement.

So that I can continue to use computers without violating my principles,
I have decided to put together a sufficient body of free software so that
I will be able to get along without any software that is not free.


How You Can Contribute

I am asking computer manufacturers for donations of machines and money.
I'm asking individuals for donations of programs and work.

One computer manufacturer has already offered to provide a machine.  But
we could use more.  One consequence you can expect if you donate
machines is that GNU will run on them at an early date.  The machine had
better be able to operate in a residential area, and not require
sophisticated cooling or power.

Individual programmers can contribute by writing a compatible duplicate
of some Unix utility and giving it to me.  For most projects, such
part-time distributed work would be very hard to coordinate; the
independently-written parts would not work together.  But for the
particular task of replacing Unix, this problem is absent.  Most
interface specifications are fixed by Unix compatibility.  If each
contribution works with the rest of Unix, it will probably work
with the rest of GNU.

If I get donations of money, I may be able to hire a few people full or
part time.  The salary won't be high, but I'm looking for people for
whom knowing they are helping humanity is as important as money.  I view
this as a way of enabling dedicated people to devote their full energies to
working on GNU by sparing them the need to make a living in another way.

Stallman's approach was to first develop the basic utilities that would allow a programmer to write and debug an operating system, and then work on the operating system itself. Without these tools, the task of writing the operating system would be overwhelmingly difficult.These programs the GNU (for "GNU's Not Unix) software, were developed in large part by Richard Stallman. Stallman's tools are among some of the most useful software available. True to his ideals, they are all free for everyone to use.

What we call "Linux" is actually a combination of the Linux kernel, and Richard Stallman's GNU programs. Without the GNU software, Linux would be almost useless. You may find some authors referring to GNU/Linux. However, I find this awkward, so I don't use that arguably more correct form. Nevertheless, Linux owes its existence and popularity to Richard Stallman and his GNU programs.

At one time Linux was the province of hardcore geeks and system administrators, an operating system that only such people could use. With the advent of Ubuntu Linux, this is no longer the case. Ubuntu really does "just work" for most people, most of the time. After downloading and burning a CD, you can get up and running with Ubuntu in less than thirty minutes. Once you have finished installing the operating system, you can immediately start to do useful work such as word processing, using spreadsheets and databases, e-mail, browsing, and so on.

What sometimes makes Linux seem scary is that you have the possibility of using a vast array of powerful tools not generally available on other systems. Many people have heard about the Linux command line, with its mysterious syntax and unforgiving nature. If you are careless with it, you can indeed cause damage to your files. However, most people never need to use the command line. It's an option, not a requirement. Like many powerful tools, it can do harm if not used properly. Just as in real life, most people never need to use such powerful tools.

Most users want to use their computers to browse the Internet, send and receive e-mails, listen to music, watch movies. Some may use their computers for word processing, spreadsheets, databases, and other work-related tasks. This is mostly what computers are for - the tasks that people do every day. Linux lets you do all of these and more, just as any other modern operating system will do. If you only want to browse and use e-mail, Linux isn't necessarily a better choice than any other system. Almost any system you have will come with a browser and an e-mail program. Almost any will let you play movies and listen to music.

If you want to do word processing and other tasks, Linux begins to make more sense. On most systems, word processors and other office-related software is costly. You can't just use a friend's copy; you have to buy your own. If you own more than one computer, you have to buy a copy for each computer. This can quickly become prohibitively expensive. Many people simply ignore the law and install these programs on all their computers, but this is not recommended. Whether the laws are fair or not, they're still the law. Some companies are vigorously prosecuting those who make or use illegal copies of software. You probably won't go to jail, but you could very well be subject to a large fine if you get caught. Some of this software "phones home" to report you, so getting caught isn't as unlikely as you may think.

With Linux, the software is free, in both senses of the word. It is free as in beer, and it is free as in speech. While we can usually relate to getting something at no cost, the "free as in speech" part is vital. One of the most important points of software freedom is that you can do what you want with it, as long as you don't try to limit what someone else can do with it. Most proprietary software comes with highly restrictive licenses that prohibit you from copying it, giving it away, using it on more than one computer, modifying it, and so on. Some software is designed to take over your computer to ensure that you can't make a copy of the software. Often these measures interfere with your legitimate use of the computer. In some cases, they render the computer useless.