what is linux?



When you say "Linux" most people think of a distribution, but in truth "Linux" actually just refers to the kernel. The kernel of course is the main component of a system that sits between the hardware/bios and the shell. When you're typing into your putty window (or at a direct terminal) the shell you're using is normally 'bash' (but this can vary, sh, csh, ksh, and many more are available) the shell is actually your interface to send commands to the kernel.

Each piece of software has been written by someone and Linux was written "from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net" (quote from kernel.org). On a full Linux distribution, their are infact thousands of different programs and scripts (tar, cat, irssi, cd.. think of any command that you would type) and although some of them may have also been written by Linus, most were not.

A majority of the software you'll find was written by, or is now owned by, the GNU Project. Linus and the GNU Project actually both have the same goals - to create a totally free operating system. GNU started by making all the 'little stuff', all the accessory/auxillary programs. However Linus, he went straight to the kernel itself. Since neither 'actually' finished their project, people now mix them together. If your read the news enough, you'll here some people from the GNU project crying because no one knows who they are (btw, here's a listing of all the software they do control http://directory.fsf.org/GNU/ ). And they want everyone one to include their name, such as "Slackware GNU/Linux" or "Redhat Linux/GNU" but obviously, that never caught on.

Also significant of the GNU Project, is that they are the ones the greated the GNU General Public License. Also to note, when I say talk about he "software they do control", what that means is if you want (they also use the "loosely-knit team of hackers" approach) to develop for them, part of the agreement is that you sign over all rights to anything you make to them; which is then released under the GNU GPL. By doing that, if anyone every tried to claim ownership of something, or get into a legal fight about something, they can kinda be 'the big kid on the block' and protect all the individual contributors becuase the own/control it all.

Most development on the kernel (as well as any other large project with varied authors), is done using CVS. CVS is the Concurrent Version System.. It allows the masters of the project to split of the project into various sections, delegate out those sections to various authors, then check the results back into the main CVS tree.

I'm not personally an author on any such projects, nor have I ever used the CVS system (CVS itself is another open-source project, that any one could use for any project or purpose of their choice), so keep in mind this is all 'TTBOMK' (to the best of my knowledge).

If you haven't been given access to the CVS server, you could still participate in the kernel project (or any other) simply by find an error and fixing it, or impletementing a new feature, etc.. then preparing a diff patch for it, then sending a copy of that patch to the person in charge of that section. Also, if you were to want to take part in the project, there is a mailing list for everyone to stay in contact with each other and keep track of what everyone is working on, etc..

In the beginning, Linus created the main kernel by himself, up until version 0.02 at that time, it would 'run' (that word used loosely). Then he made an announcement telling everyone about it, offering it free to everyone, and requesting any help. Any one that could, looked at it, found something they could fix, and mailed Linus a patch to fix it. Linus would see the patch, evaluate it, and add it into his main source tree if he saw fit. Basically it still works the same now.. only on a much larger, and hopefully better organized scale.

BTW, for reference, here is the link to that first public announcement of Linux, posted on comp.os.minix on Oct 5 1991 at 8:53 am. (the moment of the birth of the Linux project).

Link to Google Groups newsgroup archieve

(also, never used or seen minix, but ttbomk, it's a unix similar closed source os, very popular in it's time.. obviously, it didn't 'quite' catch on as much as Linux did!