강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

리눅스 탄생과 자유정신

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스 탄생과 자유정신

 

리눅스(LINUX)”, 이제 우리 생활에 가까이 다가와 있다.

 다른 운영체제들이 그러하듯이 리눅스도 이제 우리 생활의 일부분이 되었다.

 

 우리나라의 거의 모든 국민들이 인터넷을 사용한다.

 

 그리고 인터넷을 사용하는 분이라면 Email, 웹사이트 서핑, 검색, 미니홈피등과 같은 서비스를 이용할 것이고 이런 인터넷 서비스를 이용하는 분이라면 본인도 알지 못하는 사이에 리눅스(LINUX)라는 운영체제를 이용하고 있는 것이다.

 

 이들 인터넷서비스들이 리눅스(LINUX)라는 운영체제를 기반으로 운용되는 경우가 많기 때문이다.

 

 LINUX를 서버용도로 활용하기 위해서 공부한다는 것은 인터넷 서비스를 이용하는 클라이언트(Client)로서가 아닌 서비스를 하는 주체인 서버(server)로서의 실무적인 기술과 방법들을 익힌다는 의미이다.

 

 

 

따라서 이 웹사이트(www.linux.co.kr)로 리눅스를 배운다는 것은 LINUX 시스템을 이용하여 현재 인터넷상에서 서비스되고 있는 많은 서비스들을 하기위한 실무적인 시스템관리 기법들을 배운다는 의미이다.

 

 즉 이 책은 리눅스 시스템을 관리하기 위한 시스템관리자를 위한 실무서이다.

 

 참고로 일러두기에서도 언급하였지만 이 책에서 LINUX 또는 리눅스라고 지칭하는 것은 모두 리눅스 "서버"를 의미하는 것이다.

 

 리눅스를 서버로 활용하는 것과 PC로 사용하는 것과는 큰 차이점이 있다.

 이 책에서 언급하는 리눅스 또는 LINUX라는 용어는 모두 리눅스 서버를 의미하는 것이라고 다시한번 강조한다.

 

 , 그럼 리눅스 시스템을 사용하고 있는 한 사람으로서 최소한 리눅스의 개발취지와 개발배경에 대한 기초적인 내용을 알아야하기에 이에 대하여 간략하게 설명하도록 한다.

 

 
 

 

1-1. 리눅스의 탄생!
 

리눅스는 1991년 핀란드의 리누즈토발즈(Linus B. Torvalds)라는 대학생에 의해 제일 처음으로 개발되었다.

 

 리누즈는 자신이 가진 386PC에서 유닉스와 유사한 기능을 가진 운영체제를 개발하기 위하여 자신만의 프로젝트를 진행하여 그 결과물로서 리눅스(LINUX)가 탄생된 것이다.

 

 1991년 10월 5 리누즈는 LINUX의 첫번째 공식버전인 0.02를 당시 처음으로 발표하였다.

 여기서 말하는 LINUX의 버전은 순수 Kernel버전만을 의미한다.

 

 참고로 0.01버전은 리누즈가 개인적으로 소장하고있는 버전이었으며 공개하지는 않았다.  이어서 1993 12월말 쯤에 0.99pl14버전이 발표되었으며 그리고 1994년 리누즈토발즈는 LINUX 커널버전 1.0 정식버전을 발표하게 되었다.

 

 이후 LINUX 커널버전 1.0을 기반으로 한 많은 리눅스 배포판들이 발표되었다.

 



이어서 1996년 6월 9에 linux-2.0.tar.gz가 발표되면서 드디어 현재 우리가 사용하고 있는 LINUX 커널버전 2.0시대를 맞게 된 것이다.

 

 2.0에서는 멀티프로세스(다중CPU)를 지원하는 SMP기능이 장착되었는데 이것은 LINUX가 서버용으로 사용될 수 있는 큰 기틀을 마련하게된 당시에는 일종의 큰 사건이였다.

 

 

 

1-2. 21세기의 리눅스!

 

필자는 리눅스를 처음 접했을 때  리눅스의 인기와 그 열기에 조금은 당황하였다.

 필자는 1997년도에 코넷(KORNET)운용실에서 Windows NT UNIX시스템으로 호스팅서비스를 담당하고 있었다.

 

  당시 다양한 서비스를 요구하는 고객들은 리눅스호스팅을 요구하게되었고 필자는 필연적으로 리눅스를 호스팅서버로 구축해야 했다. 이때가 바로 필자가 LINUX를 처음으로 서비스하게된 시기였다.

 이제는 웬만한 호스팅업체에서는 거의 대부분 리눅스로 서비스를 하고 있다.

 뿐만 아니라 다른 운영체제보다 경제적인 비용을 굉장히 줄일수 있기 때문에 국내뿐아니라 해외에서도 웬만한 기업의 웹서버는 대부분 리눅스로 운용되고 있다.

 

 

이제는 리눅스가 가장 경쟁력있는 운영체제가 된 듯하여, 개인적으로 필자는 굉장한 자부심을 느끼고 있다.

 

 

필자는 리누즈토발즈를 직접 만나보지는 못했다. 하지만 필자는 LINUX를 통해 리누즈토발즈를 이와 같이 만나고 있다.

 그리고 이제는 LINUX를 하는 수많은 LINUXER들과 함께하고 있다.

 

 

리눅스는 흔히 공짜 프로그램이라고 한다.

 

 물론, 리눅스라는 운영체제를 사용함에 있어 아무런 비용부담없이 사용할 수 있는 것으로만 본다면 리눅스는 공짜 프로그램이 맞다. 리눅스를 이용하여 부가가치사업을 해도 리눅스를 사용하는 어떠한 대가를 지불하는 것도 아니다.

 

 

하지만 리눅스는 절대 공짜 프로그램이 아니다.

       

 

리눅스는 GNU(GNU is Not UNIX) GPL를 따르는 소프트웨어로서 누구나 자유롭게 사용하고 개발에 참여할 수 있으며 리눅스의 개작을 통해 공개된 배포를 할 수도 있는 자유개념을 지닌 자유소프트웨어이다.

 

 GNU GPL(General Public License)이란 개발되고 업그레이드되는 소프트웨어들이 소스와 함께 지속적으로 공개될 수 있도록 보장하고 있는 일종의 라이센스 정책이다.

 

 즉 자유롭게 소스를 공유함으로서 정보의 독식으로 인하여 유발될 수 있는  여러가지 문제점들과 부작용들을 근절하기 위한 것이다.

 

 이외에도 다른 여러가지 목적들이 있지만 그에 대한 자세한 부분은 GNU선언문에 잘 나타나 있으므로 참조하기 바라며 한가지 꼭 확인하고 넘어가야하는 것이 있다.

 LINUX를 언급할 때 누구나 자유롭게 사용할 수 있는 운영체제라고 얘기한다.

 

 여기서 말하는 자유라는 단어에는 두가지가 있다.

 

첫번째는 금전적인 대가를 지불하지 않아도 된다는 의미
두번째는 모든 구속으로부터 자유롭다는 의미

위의 두가지를 동시에 내포하고 있다는 것을 정확하게 이해해야 한다.

 

 

하지만 이부분에서 우리가 잘못 생각하기 쉬운 것이 한가지 있다.

 공개되어 자유롭게 사용할 수 있는 소프트웨어들 가운데 우리가 사용하는 배포판리눅스들에는 상업적인 목적으로 만들어져 함부로 복사 및 유통해서는 안되는 소프트웨어들이 들어있다는 점이다.

 

 흔히 가장 일반적으로 사용하고 있는 레드햇리눅스에는 공개적으로 자유롭게 사용할 수 있는 LINUX커널과 함께 레드햇사에서 자체 개발한 여러가지 소프트웨어들이 함께 들어가 있다.

 이들 중 레드햇사에서 자체 개발한 소프트웨어들은 GNU GPL을 따르지 않는 소프트웨어들도 다수 있으므로 이들은 레드햇사의 자체 저작물이며 레드햇사의 라이센스정책을 따르고 있다.

 이부분을 조심해야 한다는 것을 강조하고 있는 것이다.

 

 

 

결국 리눅스가 공짜 프로그램이 아니라는 말의 의미는 리눅스사용에 있어 어떤 금전적인 대가를 지불한다는 의미가 아니라 자유를 공유할 의무를 가져야한다는 뜻이라는 것을 거듭 강조한다.

 

 

 

 

 

2. 리눅스의 역사

 

사람들은 말한다.

 

 리눅스가 뭐냐고이미 리눅스를 설치하고 관리하고 있는 시스템관리자들도 말한다.

 

 리눅스가 어떻게 만들어 졌나고이 책을 보고 있는 분이라면 분명 리눅스 시스템을 설치해서 사용하고 있는 사람일 것이라 생각한다.

 

 그런 분들에게 필자는 리눅스가 어떻게 만들어지게 되었는지 정도는 알아야한다고 생각한다.

 

 물론, 리눅스에 대한 기본적인 것을 알고있는 독자라면 리눅스의 역사에 대해서는 잘알고 있으리라 생각한다.

 

 리눅스를 조금 일찍 시작했던 한사람으로서 필자는 좀 더 현실적인 리눅스의 역사를 알려줘야한다는 약간의 의무감을 가지고 있다.

 따라서 이번 절에서는 리눅스의 역사에 대해서 좀 구체적으로 알아보고자 한다.

 

 부담 가질 것은 전혀 없다. 리눅스에 대한 이해를 좀 더 깊이있게 하기 위해서는 리눅스의 역사에 대해서 알아야 하고 또한 보다 정확하고 깊이있는 이해를 하도록 하는 것이 이번 절에서 필자가 목적으로 하는 것이다.

 

 사실 리눅스커널이 처음 공개된 것은 1991년이지만 필자가 전하는 리눅스의 역사이야기는 다음과 같이 1950년대부터 시작한다.

 

 리눅스가 오픈소스이고 오픈소스의 이해를 위해서는 소프트웨어에 대한 인식이 있어야만 가능하다. , 그럼 이야기를 시작해 보자.

 

 

1950년대 (1950 ~ 1959)

 

이 시기는 컴퓨터프로그램의 초기 사용시기이다.

 

 컴퓨터가 개발되기 시작한 시기이고, 필연적으로 소프트웨어가 필요했던 시기이다.

 

 따라서 모든 소프트웨어(사실 소프트웨어라고 하기에도 부적합하다.)는 공개적으로 개발되었으며 또한 소스가 모두 공개되었다.

 

 이 부분에서 필자가 강조하고자 하는것은 컴퓨터가 만들어진 초기시절부터 소프트웨어는 공개된것에서 부터 시작되었다는 것이다.

 

 필자는 이점이 오픈소스와 리눅스를 이해하는데있어서 매우 중요하다고 생각한다.

 

 

 

지금부터 오픈소스의 간략한 역사에 대해 필자가 아는대로 얘기해 보려한다.

 

 다만 이 책이 리눅스 전문서적이기 때문에, 그리고  가장 성공하고 가장 대표적인 오픈소스가 바로 리눅스이기 때문에, 필자는 오픈소스의 역사를 리눅스의 탄생배경과 리눅스의 발전이라는 관점에서 얘기해보고자 한다.

 

 

 

1960년대 (1960 ~ 1969)

 

이 시기는 IBM360으로 대표되는 메인프레임이 지배하던 시기이다.

 

 물론, 소프트웨어와 하드웨어가 매우 밀접하게 결합되어 있어서 두가지를 구분하는 것이 어려울 정도였다.

 하지만 우리가 잘알고 있듯이 1969 AT&T의 벨연구소에 근무하던 켄톰슨(Ken Thompson) UNIX라는 운영체제를 만들었다.

 

 물론, 이때도 UNIX의 모든 소스는 공개되었고 소스접근 자체가 개방되어 있었다.

 

 그러나 얼마후 AT&T의 전략변경으로 소스프로그램이 개방되지 않게 되었으며 1960년대 후반에 와서는 소프트웨어라는 상품으로 포장되어 판매되는 상품으로 인식되기 시작하였다.

 따라서 이때부터 소프트웨어는 개발한 회사의 일급비밀이 되어 소스코드를 공개하지 않게 되었다.

 

 그러나 여전히 이때에도 UNIX의 모든 소스코드는 공개되어 있었다.

 

 따라서 1960년대 중.후반기에는 공개소프트웨어와 비공개소프트웨어가 공존했던 시기였다고 할 수 있다.

 

 

1970년대 (1970 ~ 1979)

 

이 시기는 UNIX 소스코드가 확산되는 시기로써 많은 대학에서 자유롭게 사용하고 수정할 수 있었다.

 

 특히 연구소, 대학교등에서 운영체제에 관심있는 모든 개발자들이 오픈되어있는 UNIX소스코드를 수정하고 또한 이를 배포하는 시기였다.

 또한 UNIX뿐아니라 UNIX에서 사용될 수 있는 많은 공개소프트웨어들도 자유롭게 수정되고 사용되었다.

 

 1970년대 중반 홈브루 컴퓨터 클럽(HOMEBREW COMPTER CLUB)”이라는 해커(긍정적인 의미)그룹이 실리콘밸리에서 만들어졌다. 또한 1976년도쯤에 빌게이츠가 마이크로소프트웨어를 창업하였고 홈브루 컴퓨터 클럽에서 발행하는 1976년 1월 31 뉴스레터에 빌게이츠는 소프트웨어의 소스를 공개하는 오픈소스에 대하여 부정적인 시각을 어필하면서 소프트웨어가 자산화 상품화되어야 한다는 당시에는 비교적 새로운 개념인 독점소프트웨어에 대하여 강조하였다.

 

 

1980년대 초 (1980 ~ 1983)

 

1980년대 초부터 상용UNIX가 대두되기 시작하였으며 이런 기류를 타고 선마이크로시스템즈(SUN Microsystems) 1982년에 설립되었다.

 

 그리고 UNIX의 소유권을 보유하고 있었던 AT&T는 수수료를 높이기 시작하였고 UNIX의 배포를 제한하기 시작하였다.

 또한 대학에서도 UNIX에 라이센스를 적용하기 시작하였다.

 즉 이 시기부터 소스를 공개하고 공유하는 공개소프트웨어의 개념이 희박해지면서 독점소프트웨어가 본격적으로 출현하여 소프트웨어를 완전히 제품화하여 유통하고 판매하는 시기가 된 것이다.

 

 

 

1984년도

 

드디어 공개 및 공유되어 왔던 소프트웨어 소스코드가 완전히 사유화, 제품화, 상품화되었다.

 

 이때쯤 초기부터 모든 소스를 공개하고 공유해서 개발해 왔던 MIT연구소의 UNIX개발자였던 리차드스톨만은 UNIX가 기업의 수익을 위한 상품화된 것에 회의를 느끼게 되었으며 MIT의 리차드스톨만은 “소프트웨어는 공유되어야 한다”라는 소신을 가지고 그 뜻을 실현하기 위하여 1984 1월에 GNU프로젝트를 시작하였다.

 물론, 리차드스톨만은 GNU프로젝트를 시작하면서 1971년부터 1984년까지 약13년간 근무했던 MIT연구소를 그만두었다.

 

 이때부터 자유소프트에어 운동이 시작되었다.

 

 리차드스톨만은 소프트웨어의 소스코드 공개와 공유를 실현하기 위한 자유소프트웨어 운동을 전개하기 위하여 자유소프트웨어에 채택하기 위한 GNU라이센스 개발에 착수하게 되었다.

 

 

 

1985년도

 

리차드스톨만은 이러한 자유소프트웨어 운동을 본격적으로 전개하기 위해서 재단설립이 필요하다는 인식을 갖게되었으며 이를 배경으로 리차드스톨만은 자유소프트웨어재단(FSF, Free Software Foundation)을 설립한다.

 

 물론 자유소프트웨어재단은 이때부터 현재까지 오픈소스운동을 주도하는 가장 공인된 대표적인 단체로 활약하고 있다.

 

 

1989년도

 

자유소프트웨어운동에 필요한 라이센스개발의 성과로서 리차드스톨만과 FSF재단에 의해 GNU GPL V1이 개발되었고 이를 발표하였다.

 

 

1991년도 6

 

GNU GPL V1을 좀 더 보완한 GNU GPL V2가 리차드스톨만과 FSF재단에 의해 발표되었다.

 

 GPL2는 이때부터 2007년까지 공식적이고 대표적인 오픈소스 라이센스였으며 아직까지도 많은 오픈소스 소프트웨어들이 GPL2를 라이센스로 채택하고 있다.

 

 

1991년도 10

 

핀란드의 헬싱키대학의 학생이었던 리누즈토발즈(Linus B. Torvalds)는 자신의 386PC에서 당시 UNIX와 유사한 기능을 가진 운영체제를 개발하기 시작했고 그 결과물로서 1991년 10월 5 리누즈토발즈는 LINUX커널의 첫번째 공식버전인 0.02(linux kernel)를 당시 처음으로 뉴스그룹(comp.os.minix라는 USENET)에 발표하였다.

 이것이 현재의 리눅스로 발전하게된 본격적인 계기가 되었다.

 

 그리고 0.02버전에는 GPL라이센스가 채택되었다.

 

 여기서 얘기하는 리눅스의 0.02버전이란 리눅스의 커널만을 의미한다는 점에 유의해야 한다.

 

 참고로 0.01버전은 리누즈토발즈가 개인적으로 소장하고 있었으며 일반에게 공개하지는 않았다. 어쨌든 이때부터 리눅스의 역사가 시작되었으며 더욱 중요한 것은 리눅스커널소스가 공개된 이 시점 이후부터 리눅스는 리누즈토발즈의 개인 프로젝트가 아닌 수많은 개발자들이 공동으로 개발하는 공개프로젝트로 진행되기 시작하였다.

 물론, 현재까지도 리눅스커널 개발의 메인커미터는 리누즈토발즈가 맡고있다.

 리눅스 커널의 이런 공개프로젝트로의 개발방식은 리차드스톨만이 진행하고 있던 자유소프트웨어운동 즉 GNU프로젝트가 그 기반이 되었다는 것은 매우 큰 의미를 가진다.

 

1993년도

 

1993 12월말경에 리눅스커널 0.99버전이 발표되었으며, 이와 거의 동시에 아파치 웹서버 프로젝트(Apache WebServer Project)가 시작되었다.

 

 

 

1994년도

 

드디어 리눅스커널 1.0 정식버전이 공식적으로 발표되었으며 이때부터 리눅스커널 1.0버전을 기반으로한 많은 배포판들이 나오게 되었다.

 

 리눅스커널 1.0을 기반으로한 리눅스배포판을 개발하기 위하여 1994년도에 레드햇(Redhat)이 설립되게 되었다.

 

 

 

1995년도

 

아파치웹서버 개발자 그룹이 생성되었다.

 

 

 

1996년도

 

1996 6 9 리눅스커널 2.0버전을 공식적으로 발표하였다.

 리눅스커널 2.0의 가장 큰 특징은 SMP기능으로 당시 한개의 프로세서만을 사용할 수 있었던 리눅스에 다중프로세서를 장착하여 사용할 수 있는 계기가 되었다.

 

 또한 이것은 리눅스가 PC뿐아니라 Server용으로 그 가능성을 가지게 된 것이다.

 

 그리고 1996 10월에는 KDE데스크탑 프로젝트가 시작되었다.

 

 

 

1997년도

 

1997 3월에는 에릭레이몬드(Eric Raymond)성당과 시장이라는 논문을 발표하였다.

 그리고 이구엘 드 이카자가 이끌고 Redhat Software가 후원하는 GNOME 데스크탑 프로젝트가 시작되었다.

 

 

 

1998년도

 

1998 2월부터 오픈소스(OpenSource)라는 용어가 탄생되어 사용되었다.

 

 이때까지는 자유소프트웨어라는 용어를 사용하였으나 자유라는 용어에 한계를 느낀 에릭레이몬드를 주축으로 한 오픈소스 운동가들에 의해 자유소프트웨어라는 용어 대신 오픈소스 소프트웨어라는 용어를 사용하게 되었다.

 

 그리고 1998년 넷스케이프사가 에릭레이몬드(Eric Raymond)의 논리를 수용하여 당시 인기있었던 웹브라우저인 Communicator의 소스코드를 공개한다고 발표하였다.

 또한 Raymond와 그의 주장에 동의하는 사람들은 오픈소스 소프트웨어 운동을 관리하기 위해 OSI(Open Source Initiative)라는 조직을 결성하였다.

 Debian의 자유소프트웨어 가이드라인을 참조하여 브루스페런스가 OSD(오픈소스의 정의문)를 작성하였다.

  자유소프트웨어의 이념적 측면보다는 소프트웨어가 개발되는 방식에 초점을 맞추는 실용적 접근을 취하는 이들은 자유소프트웨어는 산업계는 물론이고 개발자에게도 경제적인 보상을 제공할 수 있어야한다고 주장하였다.

 

 

1999년도

 

1999 1월 리눅스커널 2.2버전이 공식 발표되었다.

 

 

 

2001년도

 

리눅스커널 2.4버전이 발표되었다.

 

 2.4버전에서는 리눅스에서 16개의 프로세스까지 확장가능하게 되었으며 당시 IBM, SUN, HP등이 주축이던 엔트프라이즈급 대형 시스템에도 리눅스가 사용될 수 있다는 것을 입증하게 되었다.

 

 

 

2003년도

 

리눅스커널 2.6버전이 발표되었다.

 

 아울러 리눅스가 대형 엔트프라이즈급 시스템에서도 본격적으로 사용하게 되었다.

 

 

 

2006년도

 

2006 1 GPL3의 초안 발표되었고 논의를 시작하였다.

 하지만 DRM등을 둘러싼 자유소프트웨어 진영의 원칙론자들과 실용주의자들의 논란이 일게되었다.

 

 

 

2007년도

 

많은 논의 토론끝에 GPL3 정식버전이 발표되었다.

 

 GPL3를 발표하였다는 의미가 곧 수많은 오픈소스 소프트웨어들이 모두 GPL3를 라이센스로 채택하였다는 의미는 결코 아니다.

 오픈소스 라이센스의 종류에는 약 50여가지 이상이 있으며 어떤 라이센스를 채택할 것인가는 오픈소스를 처음 개발했던 개발자나 단체에서 결정하게 된다. 하지만 GPL 1 GPL 2, 그리고 GPL 3은 가장 대표적인 오픈소스 소프트웨어의 공식적인 라이센스로서 가장 많은 오픈소스들이 GPL을 라이센스로 채택하고 있다.

 

 

2009년도

 

리눅스커널 공식버전 2.6.30버전이 가장 최근의 안정버전으로 발표되어 있다.

 이는 kernel.org에서 확인할 수 있다.

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,811 개
  • 현재 접속자 :  137 명