1.2 자유소프트웨어 운동(GNU프로젝트)

GNU project


GNU프로젝트에서 사용하는 '자유'라는 단어는 금전적인 측면의 자유가 아닌 구속되지 않는다는 관점에서의 자유를 의미한다. 따라서, 소프트웨어를 사용하기 위해서 지불된 비용의 유무에 상관없이 일단 소프트웨어를 입수한 뒤에는 다음과 같은 세가지 종류의 자유가 실질적으로 보장된다.


첫째, 프로그램을 복제(copying)하고 친구나 동료와 함께 이를 공유할 수 있는 자유
둘째, 소스 코드를 원용해서 이를 개작(modification)할 수 있는 자유
셋째, 개작된 프로그램을 배포(distribution)할 수 있는 자유


GNU프로젝트의 시작



다양한 운영체제들

GNU 프로젝트는 초기의 컴퓨터 공동체 안에 충만해 있던 호의적인 상호 협력의 정신을 재건하기 위한 구체적인 실현 방법으로 1983년에 시작됐다. 이는 독점 소프트웨어의 소유자들이 만든 장벽들을 제거함으로써 상호 협력의 풍토를 다시 한번 부활시키는 것을 그 목적으로 한다. 리차드 스톨만은 1971년에 MIT에서 자유 소프트웨어를 사용하는 연구실에서 일하게 되었다. 그 시절은 상업적인 컴퓨터 회사들 조차도 자유 소프트웨어를 배포하던 때였으므로 프로그래머들은 아무런 제약없이 서로 협력할 수 있었다.

그러나 1980년대에 이르러 거의 모든 소프트웨어들은 소유와 독점에 관한 법률에 의해서 제한되었고, 소유권자들은 소프트웨어의 자유로운 이용을 통한 사용자들의 상호 협력을 그들의 권리를 내세워서 금지시켰다.
이것이 GNU 프로젝트가 시작된 이유였다.

컴퓨터를 사용하기 위해서는 운영체제가 필요하다. 자유롭게 사용할 수 있는 운영체제가 없다면 컴퓨터를 사용하고자 하는 사람들은 상용운영체제를 사용하게 된다. 따라서, 자유 소프트웨어를 위한 첫번째 프로젝트는 자유 운영체제를 만드는 것이었다.

By Bobbo - Own work, CC BY-SA 3.0

운영체제는 단순히 커널만을 의미하는게 아니다. 운영체제에는 컴파일러와 문서 편집기, 메일과 같은 다양한 종류의 소프트웨어가 통합되어 있어야한다. 따라서, 완성된 운영체제를 만드는 것은 많은 시간과 노력을 필요로 한다.

첫번째 프로젝트는 1990년대에 시작했다. 커널을 제외한 주요 부분을 개발하던 과정에서 GNU는 리누스 토발즈에 의해 리눅스가 개발되고 있다는 것을 알게 되었고, 리눅스와 GNU는 합류했다. 자유 소프트웨어인 리눅스 커널과의 결합으로 GNU 는 독립된 운영체제로서의 완성된 모습을 갖추게 되었다.

GNU이름의 기원


GNU라는 이름은 MIT의 해커들이 프로그램의 이름을 지을 때 사용하던 재귀적 약어의 습관을 반영한 것으로 GNU’s Not Unix 즉, “GNU는 유닉스가 아니다.”라는 뜻이 되도록 GNU라는 단어를 처음부터 의도적으로 조합해서 만든 것이다. 예를 들면,EINE라는 이름의 에디터는 Emacs가 아니라는 의미로 “Eine Is Not Emacs”라는 문구를 먼저 생각한 뒤에 여기서 각 단어의 첫 글자를 따서 EINE라는 이름이 되도록 만든 것이다. 따라서 GNU는 유닉스와 호환되도록 만들어진 운영체제이기는 하지만 유닉스와는 다른 운영체제라는 의미를 내포 시키기 위해서 만든 이름이라고 할 수 있다.

GNU의 원칙


자유 소프트웨어 운동은 다음 대표적인 몇가지의 원칙을 기반으로 하는데,

1.소프트웨어를 어떠한 목적을 위해서도 실행할 수 있는 자유를 가진다.
2.소프트웨어의 작동 원리를 연구하고 이를 자신의 필요에 맞게 변경시킬 수 있는 자유를 가진다.
3.소프트웨어를 이웃과 함께 공유하기 위해서 이를 복제하고 배포할 수 있는 자유를 가진다.
4.소프트웨어를 향상시키고 이를 공동체 전체의 이익을 위해서 다신 환원시킬 수 있는 자유를 가진다.

즉, 소스 코드 공개를 통해 누구나 소프트웨어를 수정할 수 있게 하며, 자유로운 복제와 배포를 허용하는 것이다.

results matching ""

    No results matching ""