The Unix operating system was created by Ken Thompson and Dennis Ritchie at AT&T Bell Laboratories in 1969 and 1970, along with C, one of the first programming languages. It was one of the first operating systems that could be used on multiple different computers.
The Computer Systems Research Group at the University of California at Berkeley developed an operating system based on Unix 6 called BSD, though AT&T sued to stop development in the early 1990s.
In 1983, a programmer named Richard Stallman decided to quit his job at MIT and start the GNU project, a project with the goal of creating a clone of Unix whose source code would be available under a permissive license, called GNU (for GNU is Not UNIX). The announcement was posted on the Unix Wizard board on the Usenet forum:
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 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
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
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
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.
Development started in 1984. He used the TRIX kernel (a kernel is a program that coordinates between hardware and software) which had previously been developed by MIT. In 1985, the Free Software Foundation was started to fund GNU development.
By 1990, GNU had a functional operating system, but TRIX was rather buggy, so it was necessary to replace it. The FSF began negotiations to create an open-source version of the Mach kernel, created by Professor Rashid at Carnegie Mellon University. These negotiations never finished.
In 1987, Andrew S, Tannenbaum released his own Unix clone called MINIX, which was made specifically for educational use. THe source code was made available, but redistribution was restricted and it was designed for 16-bit computers rather than the increasingly popular Intel 386's 32-bit architecture.
In 1991, Linus Torvalds, a student at the University of Helsinki, started developing another free Unix clone called Freax as a hobby project, which he announced on the Internet forum Usenet, in a section dedicated to Minix:
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 :-)
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 :-(.
Linus Torvalds created what we now know as the Linux kernel and ported several GNU utilities to create the operating system. He published it on FUNET FTP in September, under a non-commercial license.
Server administrator Ari Lemmke hated the name Freax and thought a better name for the OS would be Linux (after Linus Torvalds), so on the FTP server he renamed the files to Linux. Though Ari did so without Torvalds' consent, Torvalds also liked the name, so he kept it.
In 1992, Linus Torvalds changed Linux's licensing terms to use GNU's license, the GPL, which promoted commercial usage. The first Linux distributions, Yggdrasil LGX, MCC Linux, and Softlanding Linux were released, using the Linux name rather than the GNU name because it was simpler. Parts of Unix and BSD were also open-sourced. The GNU project was now successful in a way, even though they didn't get their choice of the name.
By 1993, over 100 developers were now working on Linux, many of whom were from the GNU project, and who needed a kernel for GNU. The Linux kernel was adapted to GNU's environment and updated to work with one another. Softlanding Linux became Slackware Linux, the oldest surviving Linux distribution, and Debian GNU/Linux was created as another replacement for Softlanding Linux.
Throughout 1994 and 1995, many people noticed that nobody had trademark rights to Linux and tried to register the trademark. Linus Torvalds eventually successfully sued for the rights and gave them to the Linux Mark Institute, which was dedicated to protecting the trademark. In 2000, the Open Source Development Lab was created as a group optimising Linux for server use. Linus Torvalds got a job there after losing his previous job to the company's bankruptcy.
In 1998, IBM, Compaq, Oracle, and Netscape all began supporting Linux, with IBM even creating an ad campaign targeted at server owners. Red Hat, a company created specifically for Linux, achieved widespread success.
Microsoft saw Linux as a threat to Windows's marketshare, so in 1998 they discussed the potential of creating proprietary software for Linux that users couldn't live without, then removing support for said software to get those users to move to Windows, in a strategy called "Embrace, Extend, Extinguish." In 2004, Microsoft and Linux distributors released conflicting studies regarding the reliability and security of Linux.
The need emerged to protect Linux from Microsoft competition, so the OSDL merged with the Linux Mark Institute and Free Standards Group to create the Linux Foundation for that purpose in 2007. Later, though, starting in 2009 Microsoft started contributing to the Linux kernel in order to gain leverage over its developers, and even became a major contributor to the Linux Foundation.
Most Linux distributions used the X Window System, which was created in 1984, along with a window manager which added window controls and a virtual terminal, to create the user interface. In 1996, developer Matthias Ettrich was concerned about the inconsistencies in the user interfaces of Linux's applications and proposed that an advanced, Windows-like desktop be created in a post on Usenet's German Linux board:
New Project: Kool Desktop Environment (KDE)
Unix popularity grows thanks to the free variants, mostly Linux. But still a
consistant, nice looking free desktop-environment is missing. There are
several nice either free or low-priced applications available, so that
Linux/X11 would almost fit everybody needs if we could offer a real GUI.
Of course there are GUI's. There is the Commond Desktop Environment (much
too exansive), Looking Glas (not too expensive but not really the solution),
and several free X-Filemanagers that are almost GUI's. Moxfm for example is
very well done, but unfortunately it is based on Motif. Anyway, the
question is: What is a GUI? What should a GUI be?
First of all, since there are a lot of missunderstandings on this topic,
what is NOT a GUI:
- the X-Window-System is NOT a GUI. It's what its name says: A Window system
- Motif is NOT a GUI. They tried to create a GUI when they made Motif, but
unfortunately they couldn't really agree, so they released Motif as
Widget-Library with a Window-Manager. Much later they completed Motif with
the CDE, but too late, since Windows already runs on the majority of
- Window-managers are NOT GUI's. They are (better: should be) small programs
that handle the windows. It's not really the idea to hack a lot of stuff
IMHO a GUI should offer a complete, graphical environment. It should allow a
users to do his everyday tasks with it, like starting applications, reading
mail, configuring his desktop, editing some files, delete some files, look
at some pictures, etc. All parts must fit together and work together. A
nice button with a nice "Editor"-icon isn't not at all a graphical user
environment if it invokes "xterm -e vi". Maybe you have been disappointed
long time ago too, when you installed X with a nice window manager, clicked
on that beautiful "Help"-Icon ... chrk chrk (the hard disk)...an ugly,
unsuable, weird xman appeared on the desktop :-(
So KDE was created. The first few versions were criticized because they used Qt, which had a restriction on modification, so the GNOME desktop environment and Harmony toolkit were created by GNU to either replace KDE or Qt. GNOME adapted code from and image editor called GIMP into a replacement for Qt, called GTK, and the Harmony project was cancelled. In 1998, Qt was made open source.
In 2011, GNOME released a new version (GNOME 3) whose interface was designed primarily for tablets. This led GNOME 2 to be forked into the MATE project.
X quickly became obsolete, so in 2008 the Wayland project was started to replace it. Wayland has now superseded X in GNOME, and is planned to in KDE.
Google uses the Linux kernel (but not any of GNU) in their Chrome OS and Android operating systems.
Linus Torvalds' autobiography, "Just For Fun"