Hikmat Surya Permana and pıʌɐſ are both correct as far as they go. I know they identify different people, however, both are correct.
Proprietary software wasn't even economically feasible until the 1970's because computers were so expensive and companies so proprietary they had to pretty much provide compilers and databases for free or risk (gasp) third parties selling software or maybe even hardware.
Thus in the early eighties there were a lot of people around who remembered the days before you went to the store and bought shrink-wrapped proprietary binaries. Richard Stallman, then a grad student at MIT (who left without a degree) decided he DID NOT LIKE this new system, and with some financial backing (ironically, from among others Mitch Kapoor who made his fortune off Lotus 1-2-3 which was proprietary software) began the GNU tools on UNIX -- starting with GCC -- which were intended ultimately to build an entire free operating system.
I had my first experience with the GNU tools before I knew about programming, when I was working as an office temp in the late eighties at small engineering shops in the Providence, RI area who had these expensive UNIX systems but limited budgets, and appreciated tools like tar -- the archiving program and GCC itself -- the compiler, which is released under a license most people do NOT understand. If you use aspects of the compiler WHICH ARE NOT STANDARD C/C++/FORTRAN or any other language the collection compiles, BUT INSTEAD DEPEND ON COMPILER SPECIFIC BEHAVIOR, you must release the source code freely and allow anyone to edit it on the same terms. That means a lot of code out there doesn't have to be released under the General Public License but was either voluntarily or because the creators didn't understand that they don't have to. And more and more people are trying to defy the GPL. They depend on Stallman's excellent programming skills, but so dislike his principles they don't want to abide by his terms (because they are big babies).
Stallman and many people who were attracted to his project very quickly put together most of an operating system, but the one thing they could not get to work smoothly was the kernel. At the same time, IBM, MIT and several other corporations and institutions, seeing the need for a graphic User interface put together a suite of programs called X-Windows which ran mainly on UNIX but were intended to be cross platform. While we have modern desktops the core of X-Windows had more or less its present form by 1989 before Intel Chips were able to run UNIX smoothly.
In 1991 a Finnish Grad Student, working with Minix, an OS intended to teach OS programming, decided to write a UNIX kernel for Intel desktops because he could and because he couldn't afford to buy one. It was quickly named Linux. With the GNU Tools, whose libraries it used because he was comfortable releasing it under the GPL, it ran UNIX programs like X-Windows almost out of the box and quickly became a favorite of both hobbyists and poor grad students such as Mark Shuttleworth who apparently ran what became a very successful Internet security firm on Slackware.
Properly, the more technical versions of Linux should be called GNU/Linux. There has been, for a little over ten years, also a GNU Hurd Operating system, which runs GNU tools off an adaptation of the same (free) Mach kernel which runs Mac OS X, however it does not run as smoothly as either Linux or Mac OS X.