"지엔유"의 두 판 사이의 차이
잔글 |
|||
(사용자 4명의 중간 판 63개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
− | [[파일: | + | [[파일:지엔유 로고.png|썸네일|200픽셀|'''지엔유'''(GNU)]] |
− | [[파일: | + | [[파일:지엔유 글자.png|썸네일|300픽셀|'''지엔유'''(GNU)]] |
+ | '''지엔유'''(GNU)는 GNU's Not Unix의 약자로 무료 공개 [[오픈소스]] [[운영체제]](OS) 또는 그러한 정보 공유 프로젝트를 말한다. 모든 프로그램은 무료여야 하며, 프로그램의 사용, 복사, 수정, 배포에 제한이 없어야 한다는 신념을 기반으로 하고 있다. 1985년 [[리처드 스톨만]](Richard Stallman)이 주도하여 [[자유소프트웨어재단]](FSF)을 만들고, [[GNU GPL]]과 [[GNU LGPL]] 및 [[GNU FDL]](=[[GFDL]]) 등의 [[저작권]]을 만들었다. 한국에서는 GNU를 '''그누'''라고도 읽는다.GNU 프로젝트는운영 체제 커널, [[GNU HURD]]를 포함하고 있으며 이는 [[자유 소프트웨어 재단(FSF)]]에서 본래 초점을 두고 있었던 것이다. 그러나 GNU가 아닌 [[커널]](가장 유명한 것으로 리눅스)은 GNU 소프트웨어와 함께 사용할 수도 있다. 즉, [[허드(Hurd)]] 커널은 아직 운영용으로 준비되지는 않았는데, 이는 어떻게 GNU 시스템이 일반적으로 사용되고 있는지를 설명한다. GNU [[소프트웨어]]와 [[리눅스 커널]]의 결합은 리눅스(또는[[ GNU/리눅스]])로 알려져 있다. | ||
+ | GNU 프로젝트의 설립자 리처드 스톨먼프로젝트의 창립자 [[리처드 스톨먼]]은 GNU를 "사회에 대한 기술적 수단'으로 보았다. 이와 관련해 Lawrence Lessig는 스톨먼의 책 《자유 소프트웨어, 자유 사회》 제2판에서 스톨먼은 소프트웨어의 사회적 관념과 어떻게 자유 소프트웨어가 공동체와 사회 정의를 조성할 수 있는지에 대해 썼다고 언급하였다.<ref name="위키백과 ">〈[http://a.to/19GQOgi gnu 프로젝트]〉《위키백과》</ref> | ||
− | ''' | + | ==개요== |
+ | [[파일:리처드 스툴만.jpg|썸네일|400픽셀|'''리처드 스톨먼'''(Richard Stallman)]] | ||
+ | 리처드 스톨만의 자유 소프트웨어 재단(Free Software Foundation)에서 진행하며 유지 중인 [[OS 프로젝트]]이다. | ||
+ | 상용 유닉스를 GPL에 부합하는 운영 체제로 만들기 위해 컴파일러(GCC), 커널 등을 만들다 진행이 지지부진하던 도중 리눅스 커널과 FSF의 GNU 소프트웨어가 결합된 것이 현재 리눅스의 기원이다. 원래 GNU에서 사용하려고 한 커널은 [[Hurd]]였으나 개발이 너무 늦어 리눅스 커널이 사용됐다. | ||
+ | GNU Hurd 배포판으로 Debian GNU/Hurd나 Arch Hurd 등이 있다. | ||
+ | Hurd를 만들던 도중 완성하지 못하고 리눅스 커널이 그 자리를 차지하긴 했지만 그렇다고 해서 현재의 리눅스가 순수하지 못한 GNU라는 식으로 볼 필요는 없다. GNU의 핵심 사상은 어차피 GPL에 담겨 있으므로 GPL을 따른다면 GNU 사상을 계승한다고 볼 수 있고, 리눅스 커널 자체도 GPL을 따르기 때문. 리눅스에서 라이선싱과 관련해서 두 파로 갈라진 것은 GNOME과 KDE가 더욱 대표적인 예시이며, 이것도 현재는 KDE가 [[GPL]]을 완벽히 따르게 되면서 과거의 일이 되었다. | ||
+ | 골수 GNU 팬들은 극도의 오픈 소스를 추구하며 사용자의 동의 없이 인터넷 연결을 사용하는 프로그램을 극도로 싫어한다. 대표적인 예가 우분투. 우분투는 사용자를 추적한다고 대놓고 써 있다.GNU가 같은 철자의 동물인 '누'를 마스코트로 삼았기 때문에 GNU도 '그누'가 아닌 '누'로 발음한다고 착각하기 쉽지만 실제론 '그누'가 맞는 발음이다. <ref>나무위키, 〈[https://namu.wiki/w/GNU 그누]〉, 《나무위키》</ref> | ||
+ | |||
+ | ==등장배경== | ||
+ | GNU 프로젝트(GNU project)는 1983년 9월 27일 유즈넷 [[net.unix-wizard]] 그룹을 통해 일반에 알려졌다. 스톨만은 첫 선언문에 이은 "GNU 선언문"을 비롯한 여러 글들을 통해서, "초기 전산 공동체에 지배적이었던, 협동 정신을 되돌리자"라고 주장했다. GNU 프로젝트는 누구나 자유롭게 "실행, 복사, 수정, 배포"할 수 있고, 누구도 그런 권리를 제한하면 안 된다는 [[사용 허가권(License)]] 아래 [[소프트웨어]]를 배포한다. [[카피레프트]]로 불리는 이런 생각은 [[GPL(GNU 일반 공중 사용 허가서)]]에 나타나 있다.<ref name="위키백과"></ref> | ||
+ | |||
+ | ==역사== | ||
+ | * 1983년 9월 27일 : 유즈넷 net.unix-wizard 그룹을 통해 지엔유가 일반에 알려졌다. | ||
+ | * 1985년 : 스톨만은 GNU 프로젝트를 철학적, 법률적, 금융적으로 지원하기 위해 자선단체인 자유 소프트웨어 재단(FSF, Free Software Foundation)을 세웠다. | ||
+ | * 1990년 : GNU 시스템엔 확장 가능한 문서 편집기(이맥스), 뛰어난 최적화 컴파일러(GCC), 그리고 표준 유닉스 배포판의 핵심 라이브러리와 유틸리티가 있었다. 하지만, 여기엔 주요 구성요소인 커널이 빠져 있었다. | ||
+ | * 1986년 12월 : 이 커널을 고치는 작업이 시작됐다. 하지만, 개발자들은 결국 트릭스(TRIX)를 기반으로 새 커널을 만드는 것은 어렵다는 결론을 내렸다. | ||
+ | * 1988년 : 카네기멜론 대학교에서 개발되던 마하 통신-전송 커널(Mach message-passing kernel)을 그 대체품으로 고려했지만, 이것은 처음에 이것을 개발한 사람들이 AT&T 소유의 코드를 지우면서 지연되었다. | ||
+ | * 1991년 : 리누스 토르발스는 유닉스 호환의 리눅스 커널을 작성하여 GPL 라이선스 아래에 배포했다. | ||
+ | * 2003년 : 허드(HURD)는 여전히 개발 중이며, 리눅스를 대신하여 허드를 사용한 GNU 시스템을 비공식 실험판으로 사용할 수 있다.<ref name="위키백과"></ref> | ||
+ | |||
+ | ==특징== | ||
+ | GNU는 자유 소프트웨어 인 운영체제이다. 즉, 사용자의 자유를 존중합니다. GNU 운영체제는 GNU 패키지 (GNU 프로젝트에서 특별히 발표 한 프로그램)와 제 3 자에 의해 배포 된 자유 소프트웨어로 구성된다. GNU의 개발로 인해 소프트웨어를 사용하지 않고도 컴퓨터를 자유롭게 사용할 수 있었다.<ref name="gnu">〈[https://www.gnu.org/ gnu ]〉,《GNU 공식홈페이지》</ref> | ||
+ | |||
+ | ===자유 소프트웨어 운동=== | ||
+ | * 자유 소프트웨어 운동은 자유 소프트웨어에서 오는 자유를 계산하는 사용자를 위해 우승합니다. 자유 소프트웨어는 사용자가 자신의 컴퓨팅을 제어 할 수있게한다. | ||
+ | ===자유 소프트웨어=== | ||
+ | * 자유 소프트웨어는 사용자가 소프트웨어를 실행, 복사, 배포, 연구, 변경 및 개선 할 수있는 자유를 누릴 수 있음을 의미한다. | ||
+ | 자유 소프트웨어는 가격이 아니라 자유의 문제입니다. 이 개념을 이해하려면 '무료 맥주'처럼 '자유 언론'처럼 '자유'를 생각해서는 안된다. | ||
+ | 좀 더 정확하게 말하면, 자유 소프트웨어 란 프로그램의 사용자가 4 가지 필수 자유를 가지고 있음을 의미한다 . | ||
+ | |||
+ | # 어떤 목적 으로든 자유롭게 프로그램을 실행할 수 있다. (자유 0). | ||
+ | # 프로그램이 어떻게 작동하는지 연구하고 원하는대로 컴퓨팅을 변경하는 자유 (자유 1). 소스 코드에 대한 액세스가이를위한 전제 조건이다. | ||
+ | # 다른 사람들을 도울 수 있도록 복사본을 재배포 할 자유 (자유 2). | ||
+ | # 수정 된 버전의 사본을 다른 사람에게 배포 할 수있는 자유 (자유 3). | ||
+ | |||
+ | 이렇게하면 전체 커뮤니티가 변경 사항으로부터 이익을 얻을 수있는 기회를 제공 할 수 있다. 소스 코드에 대한 액세스가이를위한 전제 조건이다. | ||
+ | 기술 및 네트워크 사용의 발전으로 인해 1983 년에 비해 이러한 자유 가 더욱 중요 하게되었다. | ||
+ | 요즘 자유 소프트웨어 운동은 GNU 시스템을 개발하는 것 이상이다. | ||
+ | GNU(Listeni/ɡnuː/, 그누)는 운영 체제의 하나이자 컴퓨터 소프트웨어의 모음집이다. 즉, 응용 프로그램, 라이브러리, 개발자 도구, 게임 등 많은 프로그램 모음이다. 1984 년 1 월에 시작된 GNU의 개발은 GNU 프로젝트로 알려져 있다. | ||
+ | GNU의 많은 프로그램은 GNU 프로젝트의 지원하에 배포된다. GNU는 온전히 자유 소프트웨어로 이루어져 있으며, 그 중 대부분이 GNU 프로젝트의 GPL로 라이선스가 된다. GNU는 "GNU's Not Unix!"(GNU는 유닉스가 아니다!)의 재귀 약자이며, 이렇게 선정된 이유는 GNU의 디자인이 유닉스 계열이지만 자유 소프트웨어인 점과 유닉스 코드를 포함하지 않는다는 점에서 차별을 두려는 것이다. GNU 프로젝트는운영 체제 커널, GNU HURD를 포함하고 있으며 이는 자유 소프트웨어 재단(FSF)에서 본래 초점을 두고 있었던 것이다. 그러나 GNU가 아닌 커널(가장 유명한 것으로 리눅스)은 GNU 소프트웨어와 함께 사용할 수도 있다. 즉, 허드(Hurd) 커널은 아직 운영용으로 준비되지는 않았는데, 이는 어떻게 GNU 시스템이 일반적으로 사용되고 있는지를 설명했다. GNU 소프트웨어와 리눅스 커널의 결합은 리눅스(또는 GNU/리눅스)로 알려져 있다. 프로젝트의 창립자 리처드 스톨먼은 GNU를 "사회에 대한 기술적 수단'으로 보았다. 이와 관련해 Lawrence Lessig는 스톨먼의 책 《자유 소프트웨어, 자유 사회》 제2판에서 스톨먼은 소프트웨어의 사회적 관념과 어떻게 자유 소프트웨어가 공동체와 사회 정의를 조성할 수 있는지에 대해 썼다고 언급하였다.<ref name="위키백과"></ref> | ||
+ | 기계 자원을 할당하고 하드웨어와 통신하는 Unix 계열 시스템의 프로그램을 "커널"이라고 한다. GNU는 일반적으로 Linux라는 커널과 함께 사용된다. 이 조합은 GNU / Linux 운영 체제 이다. GNU / Linux는 실수로 "Linux"라고 부르기는 하지만 수백만 명이 사용한다.<ref name="gnu"></ref> | ||
+ | GNU의 자체 커널 인 The Hurd 는 1990 년에 시작되었다 (Linux가 시작되기 전). 자원 봉사자는 흥미로운 기술 프로젝트이기 때문에 허드 개발을 계속한다. | ||
+ | |||
+ | ==활용== | ||
+ | ===기본 시스템=== | ||
+ | :{|class=wikitable width=1100 style="background-color:#ffffee" | ||
+ | |+<big>지엔유 (GNU)<big> | ||
+ | !align=center style="background-color:#ffffee"|이름 | ||
+ | !align=center style="background-color:#ffffee"|제공 | ||
+ | |- | ||
+ | |align=center|bash | ||
+ | |align=center|bash | ||
+ | |- | ||
+ | |align=center|coreutils | ||
+ | |align=center| | ||
+ | * '''fileutils''':Chgrp, Chown, Chmod, cp,dd, df, dir, du, In, Ls(유닉스), Mkdir, 명명된 파이프, 장치 파일, Mv, rm, etc. | ||
+ | * '''textutils''':cat, chsum, head, tail, md5sum, nl, od, pr, tsort, join, wc, tac, paste, etc. | ||
+ | * '''shellutils''':Basename, Chroot, date, Dirname, echo, env, groups, 호스트명, nice, nohup, printf, sleep, etc. | ||
+ | |- | ||
+ | |align=center|cpio | ||
+ | |align=center|cpio | ||
+ | |- | ||
+ | |align=center|Diffutils | ||
+ | |align=center|Diff,cmp,diff3,Diff | ||
+ | |- | ||
+ | |align=center|findutils | ||
+ | |align=center|find.locate,updatedb,Xargs | ||
+ | |- | ||
+ | |align=center|finger | ||
+ | |align=center|n/a | ||
+ | |- | ||
+ | |align=center|Grep | ||
+ | |align=center|grep | ||
+ | |- | ||
+ | |align=center|groff | ||
+ | |align=center|groff | ||
+ | |- | ||
+ | |align=center|GRUB | ||
+ | |align=center|grub | ||
+ | |- | ||
+ | |align=center|Gzip | ||
+ | |align=center|gzip | ||
+ | |- | ||
+ | |align=center|hurd[Note1] | ||
+ | |align=center|n/a | ||
+ | |- | ||
+ | |align=center|inetutils | ||
+ | |align=center|ftp, 텔넷, rsh,Rlogin,TFTP | ||
+ | |- | ||
+ | |align=center|리눅스 리브레 | ||
+ | |align=center|graph,libplot,libplotter | ||
+ | |- | ||
+ | |align=center|plotutils | ||
+ | |align=center|graph,libplot,libplotter | ||
+ | |- | ||
+ | |align=center|readline | ||
+ | |align=center|readline | ||
+ | |- | ||
+ | |align=center|screen | ||
+ | |align=center|screen | ||
+ | |- | ||
+ | |align=center|sysutils[Note 2] | ||
+ | |align=center|add-shell, chage, chfn,chgroup, chgrpmem, chpasswd, chsh, chuser, cppw, expiry, gpasswd, grpck, gshadow, hwclock, isosize, last, lastlog, login, lsage, lsgroup, lsuser, mkusr, nologin, passwd, pwck, remove-shell, rmgroup, rmuser, setpwnam, vipw, wall, write | ||
+ | |- | ||
+ | |align=center|tar | ||
+ | |align=center|tar | ||
+ | |- | ||
+ | |align=center|texinfo | ||
+ | |align=center|n/a | ||
+ | |- | ||
+ | |align=center|time | ||
+ | |align=center|time | ||
+ | |} | ||
+ | |||
+ | ==종류== | ||
+ | ===GNU 소프트웨어=== | ||
+ | * Bison, yacc을 대체하려고 만든 파서 발생기 | ||
+ | * Bash, 셸 | ||
+ | * Binutils, 어셈블러와 링커를 포함 | ||
+ | * 이맥스 (Emacs), 다양한 기능의 문서 편집기 | ||
+ | * GCC, C를 비롯한 다양한 프로그래밍 언어를 위한 컴파일러 | ||
+ | * GDB, 디버깅 프로그램 | ||
+ | * 김프, 그림 편집기 | ||
+ | * glibc, C 라이브러리 | ||
+ | * GMP, 수치 계산 라이브러리 | ||
+ | * 그놈, 그래픽 데스크톱 환경 | ||
+ | * GNU 빌드 시스템 - Autoconf, Automake, Libtool | ||
+ | * GNUStep - 오픈스텝 표준의 추가 (그래픽 응용 소프트웨어를 위한 라이브러리 및 개발 도구 집합) | ||
+ | * GSL, GNU 과학 라이브러리 | ||
+ | * GZip, 데이터 압축을 위한 라이브러리와 프로그램 | ||
+ | * HURD, 유닉스 커널과 같은 기능을 수행하는 마이크로커널과 서버들의 모임 | ||
+ | * Maxima, 컴퓨터 대수학 체계. | ||
+ | * Octave, MATLAB과 비슷한 수치 계산기. | ||
+ | * GNU MDK, MIX 안에서 프로그램을 짜기 위한 개발 키트 | ||
+ | * GNU 라디오, 범용 하드웨어를 이용한 소프트웨어 무선 통신 신호 처리 패키지 | ||
+ | * 오픈오피스 (Open Office), GNU 오피스<ref name="위키백과"></ref> | ||
+ | |||
+ | ==문제점== | ||
+ | # GNU가 무료라면 아무도 그것을 사용하지 않을 것이다. 왜냐하면 무료라는 것은 어떠한 지원도 기대할 수 없다는 것을 의미하기 때문이다. 지원 서비스를 제공하기 위해서는 프로그램에 비용을 부과해야만 한다. | ||
+ | # 광고를 하지 않으면 많은 사람들에게 알릴 수 없다. 따라서 프로그램을 널리 알리기 위해서는 프로그램에 광고 비용를 부과해야만 한다. 무료로 구할 수 있는 프로그램을 광고하는 것은 무의미하다. | ||
+ | # 내 회사는 경쟁 우위를 차지하기 위해서 독점 운영체제가 필요하다. | ||
+ | # 프로그래머는 자신의 창의력에 대한 보상을 받을 자격이 있지 않은가? 그렇다면, 프로그래머는 그의 창의력에 대한 보상을 요구할 수 없단 말인가? | ||
+ | # 창작자는 창작물의 사용을 통제할 권리를 갖고 있지 않은가? | ||
+ | # 금전적인 특혜가 없다면 아무도 프로그래밍을 하지 않을 것이다. | ||
+ | # 프로그래머들도 어떤 식으로든 그들의 생계를 꾸려 나가야 하지 않은가?<ref name="위키백과"></ref> | ||
+ | |||
+ | ==대안== | ||
+ | ===본사측의 반대의견=== | ||
+ | * 단순히 GNU를 무료로 얻는 것보다 GNU와 이에 대한 지원 서비스를 유료로 함께 구입하는 것을 사람들이 선호한다면, GNU를 무료로 구한 사람들에게 지원 서비스만을 제공하는 것으로 수익을 얻는 업체도 생겨날 수 있을 것이다.지원 서비스는 실제 프로그래밍 작업이 포함된 것과 단순 지원 작업으로 구별해야 하는데, 전자는 기존의 소프트웨어 업체를 통해서 해결할 수 없는 것 중의 하나이다. 만일 여러분의 문제가 다른 사람에게도 발생하는 일반적으로 것이 아니라면, 해당 업체는 그 문제를 쉽게 해결해 주려고 하지 않을 것이다. | ||
+ | 만약 여러분의 사업이 다른 사람의 지원에 의존해야만 하는 것이라면, 여러분이 선택할 수 있는 유일한 방법은 필요한 모든 원시 코드와 도구들을 구비하는 것이다. 그런 연후에 문제를 해결할 수 있는 사람을 고용할 수 있다. 이것은 다른 사람의 자비를 구하는 것과는 다르다. 유닉스의 경우에는 원시 코드를 이용하기 위한 가격이 고가이기 때문에 대부분의 사업에서 이러한 방법이 고려의 대상이 될 수 없다. 그러나 GNU에서는 이것이 용이하다. 물론, 이 경우에도 유능한 사람을 구하지 못할 가능성은 여전히 존재하지만 이것을 GNU가 무료로 배포되는데 따른 문제라고 비난할 수는 없다. GNU는 이 세계의 모든 문제를 해결하는 것이 아니라 단지 그 중 일부를 해결할 수 있을 뿐이다.한편, 컴퓨터에 대해 전혀 모르는 사용자들은 단순 지원 서비스를 필요로 한다. 이러한 서비스는 사용자 스스로 능히 처리할 수 있는 종류의 것들이지만 사용자들이 그 방법을 모르기 때문에 서비스가 필요한 것이다.이런 서비스들은 단순 보수 작업이나 복구 서비스를 지원하는 회사들이 제공할 수 있다. 사용자들이 제품을 구입하고 그에 대한 서비스를 제공받는 방식을 받아들인다면, 제품을 무료로 받고 서비스에 대한 비용을 지불하는 방식에도 기꺼이 동의할 것이다. 서비스를 제공하는 회사들은 가격과 품질로 경쟁할 것이고 사용자들은 특정한 업체에 얽매이지 않아도 될 것이다. 또한, 그러한 서비스가 필요하지 않은 사람들은 서비스에 대한 비용을 들이지 않고도 프로그램들을 사용할 수 있을 것이다. | ||
+ | |||
+ | * GNU와 같은 프로그램을 무료 또는 극히 적은 비용으로 많은 컴퓨터 사용자에게 홍보할 수 있는 다양한 정보 전파 방식이 존재한다. 그러나 광고를 이용하면 보다 많은 사람들에게 프로그램을 알릴 수 있다는 점은 옳을 수 있다. 만약 이것이 정말 사실이라면 GNU를 유료로 복제하고 배송하는 서비스 사업은 광고비 혹은 그 이상의 비용을 지불하기에 충분할 만큼 성공해야 한다. 이러한 방식에서는 광고를 보고 제품을 구입하는 등의 광고로부터 이익을 얻은 사용자가 광고비를 부담한 것이 된다.반면에, 많은 사람들이 GNU를 그들의 친구로부터 구하고 또한 위와 같은 회사가 성공하지 못한다면 그것은 GNU가 확산되는데 광고가 반드시 필요하지 않다는 것을 의미하는 것이다. 자유 시장 옹호자들은 왜 이 문제를 자유 시장이 결정하도록 놔두지 않는 것일까? | ||
+ | |||
+ | * GNU는 시스템 소프트웨어를 경쟁이라는 범주에서 제외시킬 것이다. 여러분의 회사는 이 분야에서 경쟁 우위를 점할 수 없겠지만, 그것은 여러분의 경쟁사도 모두 마찬가지가 될 것이다. 여러분과 여러분의 경쟁사는 다른 분야에서 경쟁하겠지만, 이 분야에서는 모두 이익을 얻게 될 것이다. 만약 여러분의 사업이 운영체제를 판매하는 것이라면 GNU를 좋아하지 않을 것이고 혹독한 상대가 되겠지만, 여러분의 사업이 다른 것이라면 GNU는 운영체제의 구입에 따른 막대한 비용을 절감해 줄 수 있다.나는 많은 업체와 사용자들이 GNU의 발전에 기여해 나감으로써 서로의 비용을 절감할 수 있기를 희망한다. | ||
+ | |||
+ | * 유해한 수단을 사용하지 않는다면, 노동에 대한 보수와 자신의 소득이 극대화되기를 바라는 것은 아무 문제가 없다. 그러나 지금까지 소프트웨어 산업에서 보편화된 수단은 유해한 방법이다.프로그램을 사용하는 것에 제한을 둠으로써 돈을 벌어들이는 행위는 프로그램이 사용되는 범위와 방식을 제한하기 때문에 유해한 것이다. 이는 프로그램으로부터 얻을 수 있는 인간적인 풍요로움을 전체적으로 감소시키는 것이다. 프로그램의 자유로운 사용에 대한 제한은 결국, 유해한 파괴 행위라고 할 수 있다.선량한 시민이라면 자신이 보다 부유해지기 위해서 그러한 수단을 쓰지 않는다. 그 까닭은, 만일 모든 사람들이 그렇게 한다면 상호간의 유해한 행위로 인해 결과적으로 우리 모두는 보다 빈곤해질 것이기 때문이다. 이것은 칸트의 윤리학(네 의지의 준칙이 언제나 보편적 입법의 원리로서 타당하게 행동하라-실천이성비판)이나 황금률과 같은 분명한 것이다. 나는 모든 사람들이 자기만의 정보를 축적해 나가는 것은 바람직하지 않다고 여기기 때문에, 누군가 그런 일을 한다면 그것이 잘못된 일이라고 생각한다. 명확하게 말하면, 한 개인의 창의성을 보장받고자 하는 욕구가 일반적으로 전체의 창의성이나 혹은 그 일부분을 저하시키는 행위를 정당화시키는 것은 옳지 않다. | ||
+ | |||
+ | * 자신의 아이디어를 다른 사람이 사용하는 것을 통제한다는 것은 결국 다른 사람의 삶을 통제한다는 것이며, 이것은 타인의 삶을 위축시키기 위해서 흔히 사용되는 것이다. 변호사와 같이 지적 소유권 문제를 연구해 온 사람들은 지적 소유물에는 본질적인 권리가 존재할 수 없다고 주의 깊게 말한다. 정부가 인정하는 가상의 지적 소유권은 특정한 목적을 위해 만들어진 특정 법률 조항으로부터 발생한 것이다. 예를 들어, 특허 제도는 발명가로 하여금 발명품의 세부 사항을 공개하도록 장려하기 위해서 만들어진 것이다. 따라서 그 목적은 발명자를 돕기보다 사회를 돕기 위한 것이다. 시간적인 측면에서 보면, 특허가 갖는 17년간의 유효 기간은 기술의 발전 속도와 비교해 볼 때 짧은 것이다. 특허는 제조업체들 간의 문제이고 특허 사용 계약을 체결하는 것이 제품을 직접 생산하기 위해서 필요한 노력과 비용에 비해 적기 때문에 그다지 해롭게 작용하지 않는다. 또한 특허품을 사용하는 대부분의 개인에 대해서는 별다른 제한을 두지 않는다. 고대에는 저작권 개념이 존재하지 않았으며, 당대의 작가들은 흔히 논픽션 작품 속에 다른 작가의 작품 상당량을 옮겨 넣었다. 이런 관행은 유용한 것이었으며 비록 일부분이나마 많은 작가들의 작품이 계속해서 남아 있을 수 있는 유일한 방법이었다. 저작권 제도는 특별히 저술업을 활성화시키려는 의도로 만들어진 것이다. 이 영역에 속하는 책은 인쇄기를 통해서 경제적으로 만들어질 수 있기 때문에 저작권은 그다지 해롭지 않았다. 또한 책을 읽는 대다수의 사람들을 제한하지도 않았다. 모든 지적 소유권은 그것이 옳든 그르든 간에 그를 허용함으로써 사회 전체에 이익이 된다고 여겨져서 사회가 부여한 허가일 뿐이다. 그러나 어떤 특정 상황에서도 우리는 “그런 허가를 내주는 것이 정말 우리에게 유익한가? 개인에게 어떤 종류의 행위를 허용하는 허가를 내줄 것인가?”라는 질문을 해보아야만 한다. 오늘날의 프로그램의 경우는 백여년 전의 책의 경우와 크게 다르다. 프로그램이 옆사람을 통해 가장 쉽게 복제될 수 있다는 점과 원시 코드와 목적 코드로 구분된다는 점, 단순히 읽거나 즐기기 위한 것이 아니라 특정한 용도를 위해 사용된다는 점들이 복합적인 상황을 만들게 되어 저작권을 강요하는 사람들은 사회 전체에 정신적으로나 물질적으로 해를 끼치는 상황을 만들고 있으며 법적 허용 여부에 관계없이 사용자들의 이용을 제한하고 있는 것이다. | ||
+ | |||
+ | * 실제로 많은 사람들은 어떠한 금전적 보상 없이도 프로그래밍을 계속 할 것이다. 프로그래밍은 어떤 사람들에게 있어 저항할 수 없는 매력이며 이는 프로그래밍에 능숙한 사람일수록 더욱 그렇다. 생계를 유지할 희망이 보이지 않더라도 꾸준히 활동을 계속하는 직업 음악인들이 많이 있듯이 말이다. 그러나 실제로 이 질문은 비록 일반적으로 많이 제기는 것이기는 하지만 조금은 다른 관점의 문제라고 할 수 있다. 왜냐하면 프로그래머들의 소득원이 없어지는 것이 아니라 단지 수입이 줄어드는 것이기 때문이다. 따라서 올바른 질문은 “금전적인 보상이 줄어들더라도 프로그래밍을 계속할 사람이 있을까?”일 것이다. 내 경험에 비추어 보면 그렇게 할 것이라고 생각한다. 십년 이상 동안, 세계 정상급 프로그래머들이 MIT 인공 지능 연구소에서 근무했지만 그들이 받은 보수는 다른 어떤 곳에서 기대할 수 있는 것보다 훨씬 적은 것이었다. 그들은 사회적 존경이나 명성과 같은 다양한 종류의 비금전적인 보상을 받았다. 그리고 창조적 작업은 이미 그 자체가 자신에게 흥미와 보상을 주는 것이다. 그러나 시간이 흐르자 이전의 작업처럼 그들이 흥미롭게 생각하는 일을 높은 보수를 받으며 할 수 있는 기회가 주어지자 그들 중 대부분은 연구소를 떠나갔다. 이 사실에서 알 수 있는 것은, 사람들은 부유해지기 위해서보다 나름대로 어떤 이유 때문에 프로그래밍을 한다는 것이다. 그러나 동일한 일에 대해서 보다 많은 보수까지 받을 기회가 주어지면, 그것을 기대하고 원하게 된다는 점이다. 보수가 낮은 조직은 높은 보수를 받는 조직과의 경쟁에서 뒤쳐지겠지만, 만약 높은 보수를 받는 조직이 허용되지 않는다면 훌륭하게 활동할 수 있을 것이다. | ||
+ | |||
+ | * 요컨대 이것은 진실이다. 그러나 프로그램의 사용 권리를 파는 것 이외에도 프로그래머로서 생계를 꾸려갈 수 있는 방법은 많이 있다. 이러한 방법이 관례적으로 사용되고 있는 이유는 프로그래머나 사업가들이 보다 많은 돈을 벌 수 있기 때문이지 결코 이것이 생계를 유지할 수 있는 유일한 방법이기 때문은 아니다. 다른 방법을 찾고자 한다면 얼마든지 가능할 것이다. 여기 여러 가지 예들이 있다. 새로운 컴퓨터를 내놓는 제조업자는 새 기계에 운영체제를 이식하기 위한 비용을 지불할 것이다. 교육이나 단순 관리 작업, 유지 보수 서비스를 제공하는 회사에서도 역시 프로그래머를 고용할 것이다. 프리웨어라는 이름으로 프로그램을 배포한 뒤에 사용자가 제품에 만족한다면 이에 대한 기부금을 요청하거나 지원 서비스를 판매하는 방식의 새로운 아이디어를 갖고 있는 사람들도 있다. 나는 이미 이러한 방법으로 성공한 사람들을 알고 있다. 비슷한 요구를 가진 사용자들은 사용자 모임을 결성하고 회비를 조성할 수 있을 것이다. 사용자 모임은 프로그래밍 회사와 계약을 맺고 회원들이 원하는 프로그램을 주문 제작할 수 있을 것이다. 모든 종류의 개발에 필요한 기금은 소프트웨어에 대한 다음과 같은 세금으로 조성될 수 있다. 소프트웨어 세금이 모든 컴퓨터의 판매 가격에 부과된다면 정부는 이 세금을 국립과학재단 같은 기관으로 위임하여 소프트웨어 개발을 위해서 사용되도록 할 수 있을 것이다. 그러나 컴퓨터를 구입하는 사람이 소프트웨어 개발에 직접 기부하고자 할 때에는 기부금이 세금을 대신할 수 있으며, 기부액은 세금의 범위 안에서 얼마든지 대신될 수 있다. 기부자들은 때때로 그 결과물을 자신이 쓸 수 있을 것이라는 기대를 갖고 기부할 프로젝트를 선택할 수 있을 것이다. 전체적인 세율은 납세자들의 투표를 통해 결정할 수 있으며 구입액에 따른 누진율을 적용할 수도 있을 것이다. 이러한 결과는 다음과 같다. 컴퓨터 사용자 공동체는 소프트웨어의 개발을 지원한다. 어느 정도의 지원이 필요한가는 이 공동체가 결정한다. 자신의 돈이 어떤 프로젝트에 지원되는가에 관심이 있는 개인은 이를 직접 결정할 수 있다. 프로그램을 자유롭게 만든다는 것은 결국, 더이상 생계를 위해 고되게 일할 필요가 없는 풍요로운 세계로 가는 한 단계인 것이다. 사람들은 법률 제정이나 가정 상담, 로보트 수리, 소행성 채굴 등과 같은 주당 열 시간 정도의 근무 시간을 마친 후에는 프로그래밍과 같은 흥미를 가질 수 있는 일에 자신을 몰입할 수 있는 자유를 갖게 될 것이다. 더이상 프로그래밍을 생계의 수단으로 삼을 필요가 없게 될 것이다. 우리가 이미 실질적인 생산을 위해 사회 전체가 수행해야 할 작업량의 상당 부분을 줄여왔음에도 불구하고 노동자들을 위한 여가 시간이 아직 충분히 보장되지 않고 있는 이유는, 주로 자유 경쟁에 반하는 관료 제도와 저항들에 의해서 생산적인 활동에 많은 비생산적 요소들이 개입되기 때문이다. 자유 소프트웨어는 소프트웨어 생산 분야에서 이러한 소모적인 요소들을 대폭적으로 줄일 수 있을 것이다. 또한 그렇게 해야만 소프트웨어 생산에 대한 기술적 성과들이 우리들 자신의 노동량을 감소시키도록 할 수 있을 것이다.<ref name="위키백과"></ref> | ||
+ | |||
{{각주}} | {{각주}} | ||
==참고자료== | ==참고자료== | ||
− | * | + | *〈[http://a.to/19GQOgi gnu 프로젝트]〉,《위키백과》 |
+ | *〈[https://namu.wiki/w/GNU GNU]〉,《나무위키》 | ||
+ | * 〈[https://www.gnu.org/ gnu ]〉,《GNU 공식홈페이지》 | ||
== 같이 보기 == | == 같이 보기 == | ||
− | * [[ | + | * [[리처드 스톨만]] |
* [[유닉스]] | * [[유닉스]] | ||
+ | * [[리눅스]] | ||
+ | * [[자유 소프트웨어]] | ||
+ | * [[자유 소프트웨어 운동]] | ||
− | {{운영체제| | + | {{운영체제|검토 필요}} |
2020년 3월 11일 (수) 01:12 기준 최신판
지엔유(GNU)는 GNU's Not Unix의 약자로 무료 공개 오픈소스 운영체제(OS) 또는 그러한 정보 공유 프로젝트를 말한다. 모든 프로그램은 무료여야 하며, 프로그램의 사용, 복사, 수정, 배포에 제한이 없어야 한다는 신념을 기반으로 하고 있다. 1985년 리처드 스톨만(Richard Stallman)이 주도하여 자유소프트웨어재단(FSF)을 만들고, GNU GPL과 GNU LGPL 및 GNU FDL(=GFDL) 등의 저작권을 만들었다. 한국에서는 GNU를 그누라고도 읽는다.GNU 프로젝트는운영 체제 커널, GNU HURD를 포함하고 있으며 이는 자유 소프트웨어 재단(FSF)에서 본래 초점을 두고 있었던 것이다. 그러나 GNU가 아닌 커널(가장 유명한 것으로 리눅스)은 GNU 소프트웨어와 함께 사용할 수도 있다. 즉, 허드(Hurd) 커널은 아직 운영용으로 준비되지는 않았는데, 이는 어떻게 GNU 시스템이 일반적으로 사용되고 있는지를 설명한다. GNU 소프트웨어와 리눅스 커널의 결합은 리눅스(또는GNU/리눅스)로 알려져 있다. GNU 프로젝트의 설립자 리처드 스톨먼프로젝트의 창립자 리처드 스톨먼은 GNU를 "사회에 대한 기술적 수단'으로 보았다. 이와 관련해 Lawrence Lessig는 스톨먼의 책 《자유 소프트웨어, 자유 사회》 제2판에서 스톨먼은 소프트웨어의 사회적 관념과 어떻게 자유 소프트웨어가 공동체와 사회 정의를 조성할 수 있는지에 대해 썼다고 언급하였다.[1]
목차
개요[편집]
리처드 스톨만의 자유 소프트웨어 재단(Free Software Foundation)에서 진행하며 유지 중인 OS 프로젝트이다. 상용 유닉스를 GPL에 부합하는 운영 체제로 만들기 위해 컴파일러(GCC), 커널 등을 만들다 진행이 지지부진하던 도중 리눅스 커널과 FSF의 GNU 소프트웨어가 결합된 것이 현재 리눅스의 기원이다. 원래 GNU에서 사용하려고 한 커널은 Hurd였으나 개발이 너무 늦어 리눅스 커널이 사용됐다. GNU Hurd 배포판으로 Debian GNU/Hurd나 Arch Hurd 등이 있다. Hurd를 만들던 도중 완성하지 못하고 리눅스 커널이 그 자리를 차지하긴 했지만 그렇다고 해서 현재의 리눅스가 순수하지 못한 GNU라는 식으로 볼 필요는 없다. GNU의 핵심 사상은 어차피 GPL에 담겨 있으므로 GPL을 따른다면 GNU 사상을 계승한다고 볼 수 있고, 리눅스 커널 자체도 GPL을 따르기 때문. 리눅스에서 라이선싱과 관련해서 두 파로 갈라진 것은 GNOME과 KDE가 더욱 대표적인 예시이며, 이것도 현재는 KDE가 GPL을 완벽히 따르게 되면서 과거의 일이 되었다. 골수 GNU 팬들은 극도의 오픈 소스를 추구하며 사용자의 동의 없이 인터넷 연결을 사용하는 프로그램을 극도로 싫어한다. 대표적인 예가 우분투. 우분투는 사용자를 추적한다고 대놓고 써 있다.GNU가 같은 철자의 동물인 '누'를 마스코트로 삼았기 때문에 GNU도 '그누'가 아닌 '누'로 발음한다고 착각하기 쉽지만 실제론 '그누'가 맞는 발음이다. [2]
등장배경[편집]
GNU 프로젝트(GNU project)는 1983년 9월 27일 유즈넷 net.unix-wizard 그룹을 통해 일반에 알려졌다. 스톨만은 첫 선언문에 이은 "GNU 선언문"을 비롯한 여러 글들을 통해서, "초기 전산 공동체에 지배적이었던, 협동 정신을 되돌리자"라고 주장했다. GNU 프로젝트는 누구나 자유롭게 "실행, 복사, 수정, 배포"할 수 있고, 누구도 그런 권리를 제한하면 안 된다는 사용 허가권(License) 아래 소프트웨어를 배포한다. 카피레프트로 불리는 이런 생각은 GPL(GNU 일반 공중 사용 허가서)에 나타나 있다.[1]
역사[편집]
- 1983년 9월 27일 : 유즈넷 net.unix-wizard 그룹을 통해 지엔유가 일반에 알려졌다.
- 1985년 : 스톨만은 GNU 프로젝트를 철학적, 법률적, 금융적으로 지원하기 위해 자선단체인 자유 소프트웨어 재단(FSF, Free Software Foundation)을 세웠다.
- 1990년 : GNU 시스템엔 확장 가능한 문서 편집기(이맥스), 뛰어난 최적화 컴파일러(GCC), 그리고 표준 유닉스 배포판의 핵심 라이브러리와 유틸리티가 있었다. 하지만, 여기엔 주요 구성요소인 커널이 빠져 있었다.
- 1986년 12월 : 이 커널을 고치는 작업이 시작됐다. 하지만, 개발자들은 결국 트릭스(TRIX)를 기반으로 새 커널을 만드는 것은 어렵다는 결론을 내렸다.
- 1988년 : 카네기멜론 대학교에서 개발되던 마하 통신-전송 커널(Mach message-passing kernel)을 그 대체품으로 고려했지만, 이것은 처음에 이것을 개발한 사람들이 AT&T 소유의 코드를 지우면서 지연되었다.
- 1991년 : 리누스 토르발스는 유닉스 호환의 리눅스 커널을 작성하여 GPL 라이선스 아래에 배포했다.
- 2003년 : 허드(HURD)는 여전히 개발 중이며, 리눅스를 대신하여 허드를 사용한 GNU 시스템을 비공식 실험판으로 사용할 수 있다.[1]
특징[편집]
GNU는 자유 소프트웨어 인 운영체제이다. 즉, 사용자의 자유를 존중합니다. GNU 운영체제는 GNU 패키지 (GNU 프로젝트에서 특별히 발표 한 프로그램)와 제 3 자에 의해 배포 된 자유 소프트웨어로 구성된다. GNU의 개발로 인해 소프트웨어를 사용하지 않고도 컴퓨터를 자유롭게 사용할 수 있었다.[3]
자유 소프트웨어 운동[편집]
- 자유 소프트웨어 운동은 자유 소프트웨어에서 오는 자유를 계산하는 사용자를 위해 우승합니다. 자유 소프트웨어는 사용자가 자신의 컴퓨팅을 제어 할 수있게한다.
자유 소프트웨어[편집]
- 자유 소프트웨어는 사용자가 소프트웨어를 실행, 복사, 배포, 연구, 변경 및 개선 할 수있는 자유를 누릴 수 있음을 의미한다.
자유 소프트웨어는 가격이 아니라 자유의 문제입니다. 이 개념을 이해하려면 '무료 맥주'처럼 '자유 언론'처럼 '자유'를 생각해서는 안된다. 좀 더 정확하게 말하면, 자유 소프트웨어 란 프로그램의 사용자가 4 가지 필수 자유를 가지고 있음을 의미한다 .
- 어떤 목적 으로든 자유롭게 프로그램을 실행할 수 있다. (자유 0).
- 프로그램이 어떻게 작동하는지 연구하고 원하는대로 컴퓨팅을 변경하는 자유 (자유 1). 소스 코드에 대한 액세스가이를위한 전제 조건이다.
- 다른 사람들을 도울 수 있도록 복사본을 재배포 할 자유 (자유 2).
- 수정 된 버전의 사본을 다른 사람에게 배포 할 수있는 자유 (자유 3).
이렇게하면 전체 커뮤니티가 변경 사항으로부터 이익을 얻을 수있는 기회를 제공 할 수 있다. 소스 코드에 대한 액세스가이를위한 전제 조건이다. 기술 및 네트워크 사용의 발전으로 인해 1983 년에 비해 이러한 자유 가 더욱 중요 하게되었다. 요즘 자유 소프트웨어 운동은 GNU 시스템을 개발하는 것 이상이다. GNU(Listeni/ɡnuː/, 그누)는 운영 체제의 하나이자 컴퓨터 소프트웨어의 모음집이다. 즉, 응용 프로그램, 라이브러리, 개발자 도구, 게임 등 많은 프로그램 모음이다. 1984 년 1 월에 시작된 GNU의 개발은 GNU 프로젝트로 알려져 있다.
GNU의 많은 프로그램은 GNU 프로젝트의 지원하에 배포된다. GNU는 온전히 자유 소프트웨어로 이루어져 있으며, 그 중 대부분이 GNU 프로젝트의 GPL로 라이선스가 된다. GNU는 "GNU's Not Unix!"(GNU는 유닉스가 아니다!)의 재귀 약자이며, 이렇게 선정된 이유는 GNU의 디자인이 유닉스 계열이지만 자유 소프트웨어인 점과 유닉스 코드를 포함하지 않는다는 점에서 차별을 두려는 것이다. GNU 프로젝트는운영 체제 커널, GNU HURD를 포함하고 있으며 이는 자유 소프트웨어 재단(FSF)에서 본래 초점을 두고 있었던 것이다. 그러나 GNU가 아닌 커널(가장 유명한 것으로 리눅스)은 GNU 소프트웨어와 함께 사용할 수도 있다. 즉, 허드(Hurd) 커널은 아직 운영용으로 준비되지는 않았는데, 이는 어떻게 GNU 시스템이 일반적으로 사용되고 있는지를 설명했다. GNU 소프트웨어와 리눅스 커널의 결합은 리눅스(또는 GNU/리눅스)로 알려져 있다. 프로젝트의 창립자 리처드 스톨먼은 GNU를 "사회에 대한 기술적 수단'으로 보았다. 이와 관련해 Lawrence Lessig는 스톨먼의 책 《자유 소프트웨어, 자유 사회》 제2판에서 스톨먼은 소프트웨어의 사회적 관념과 어떻게 자유 소프트웨어가 공동체와 사회 정의를 조성할 수 있는지에 대해 썼다고 언급하였다.[1]
기계 자원을 할당하고 하드웨어와 통신하는 Unix 계열 시스템의 프로그램을 "커널"이라고 한다. GNU는 일반적으로 Linux라는 커널과 함께 사용된다. 이 조합은 GNU / Linux 운영 체제 이다. GNU / Linux는 실수로 "Linux"라고 부르기는 하지만 수백만 명이 사용한다.[3] GNU의 자체 커널 인 The Hurd 는 1990 년에 시작되었다 (Linux가 시작되기 전). 자원 봉사자는 흥미로운 기술 프로젝트이기 때문에 허드 개발을 계속한다.
활용[편집]
기본 시스템[편집]
지엔유 (GNU) 이름 제공 bash bash coreutils - fileutils:Chgrp, Chown, Chmod, cp,dd, df, dir, du, In, Ls(유닉스), Mkdir, 명명된 파이프, 장치 파일, Mv, rm, etc.
- textutils:cat, chsum, head, tail, md5sum, nl, od, pr, tsort, join, wc, tac, paste, etc.
- shellutils:Basename, Chroot, date, Dirname, echo, env, groups, 호스트명, nice, nohup, printf, sleep, etc.
cpio cpio Diffutils Diff,cmp,diff3,Diff findutils find.locate,updatedb,Xargs finger n/a Grep grep groff groff GRUB grub Gzip gzip hurd[Note1] n/a inetutils ftp, 텔넷, rsh,Rlogin,TFTP 리눅스 리브레 graph,libplot,libplotter plotutils graph,libplot,libplotter readline readline screen screen sysutils[Note 2] add-shell, chage, chfn,chgroup, chgrpmem, chpasswd, chsh, chuser, cppw, expiry, gpasswd, grpck, gshadow, hwclock, isosize, last, lastlog, login, lsage, lsgroup, lsuser, mkusr, nologin, passwd, pwck, remove-shell, rmgroup, rmuser, setpwnam, vipw, wall, write tar tar texinfo n/a time time
종류[편집]
GNU 소프트웨어[편집]
- Bison, yacc을 대체하려고 만든 파서 발생기
- Bash, 셸
- Binutils, 어셈블러와 링커를 포함
- 이맥스 (Emacs), 다양한 기능의 문서 편집기
- GCC, C를 비롯한 다양한 프로그래밍 언어를 위한 컴파일러
- GDB, 디버깅 프로그램
- 김프, 그림 편집기
- glibc, C 라이브러리
- GMP, 수치 계산 라이브러리
- 그놈, 그래픽 데스크톱 환경
- GNU 빌드 시스템 - Autoconf, Automake, Libtool
- GNUStep - 오픈스텝 표준의 추가 (그래픽 응용 소프트웨어를 위한 라이브러리 및 개발 도구 집합)
- GSL, GNU 과학 라이브러리
- GZip, 데이터 압축을 위한 라이브러리와 프로그램
- HURD, 유닉스 커널과 같은 기능을 수행하는 마이크로커널과 서버들의 모임
- Maxima, 컴퓨터 대수학 체계.
- Octave, MATLAB과 비슷한 수치 계산기.
- GNU MDK, MIX 안에서 프로그램을 짜기 위한 개발 키트
- GNU 라디오, 범용 하드웨어를 이용한 소프트웨어 무선 통신 신호 처리 패키지
- 오픈오피스 (Open Office), GNU 오피스[1]
문제점[편집]
- GNU가 무료라면 아무도 그것을 사용하지 않을 것이다. 왜냐하면 무료라는 것은 어떠한 지원도 기대할 수 없다는 것을 의미하기 때문이다. 지원 서비스를 제공하기 위해서는 프로그램에 비용을 부과해야만 한다.
- 광고를 하지 않으면 많은 사람들에게 알릴 수 없다. 따라서 프로그램을 널리 알리기 위해서는 프로그램에 광고 비용를 부과해야만 한다. 무료로 구할 수 있는 프로그램을 광고하는 것은 무의미하다.
- 내 회사는 경쟁 우위를 차지하기 위해서 독점 운영체제가 필요하다.
- 프로그래머는 자신의 창의력에 대한 보상을 받을 자격이 있지 않은가? 그렇다면, 프로그래머는 그의 창의력에 대한 보상을 요구할 수 없단 말인가?
- 창작자는 창작물의 사용을 통제할 권리를 갖고 있지 않은가?
- 금전적인 특혜가 없다면 아무도 프로그래밍을 하지 않을 것이다.
- 프로그래머들도 어떤 식으로든 그들의 생계를 꾸려 나가야 하지 않은가?[1]
대안[편집]
본사측의 반대의견[편집]
- 단순히 GNU를 무료로 얻는 것보다 GNU와 이에 대한 지원 서비스를 유료로 함께 구입하는 것을 사람들이 선호한다면, GNU를 무료로 구한 사람들에게 지원 서비스만을 제공하는 것으로 수익을 얻는 업체도 생겨날 수 있을 것이다.지원 서비스는 실제 프로그래밍 작업이 포함된 것과 단순 지원 작업으로 구별해야 하는데, 전자는 기존의 소프트웨어 업체를 통해서 해결할 수 없는 것 중의 하나이다. 만일 여러분의 문제가 다른 사람에게도 발생하는 일반적으로 것이 아니라면, 해당 업체는 그 문제를 쉽게 해결해 주려고 하지 않을 것이다.
만약 여러분의 사업이 다른 사람의 지원에 의존해야만 하는 것이라면, 여러분이 선택할 수 있는 유일한 방법은 필요한 모든 원시 코드와 도구들을 구비하는 것이다. 그런 연후에 문제를 해결할 수 있는 사람을 고용할 수 있다. 이것은 다른 사람의 자비를 구하는 것과는 다르다. 유닉스의 경우에는 원시 코드를 이용하기 위한 가격이 고가이기 때문에 대부분의 사업에서 이러한 방법이 고려의 대상이 될 수 없다. 그러나 GNU에서는 이것이 용이하다. 물론, 이 경우에도 유능한 사람을 구하지 못할 가능성은 여전히 존재하지만 이것을 GNU가 무료로 배포되는데 따른 문제라고 비난할 수는 없다. GNU는 이 세계의 모든 문제를 해결하는 것이 아니라 단지 그 중 일부를 해결할 수 있을 뿐이다.한편, 컴퓨터에 대해 전혀 모르는 사용자들은 단순 지원 서비스를 필요로 한다. 이러한 서비스는 사용자 스스로 능히 처리할 수 있는 종류의 것들이지만 사용자들이 그 방법을 모르기 때문에 서비스가 필요한 것이다.이런 서비스들은 단순 보수 작업이나 복구 서비스를 지원하는 회사들이 제공할 수 있다. 사용자들이 제품을 구입하고 그에 대한 서비스를 제공받는 방식을 받아들인다면, 제품을 무료로 받고 서비스에 대한 비용을 지불하는 방식에도 기꺼이 동의할 것이다. 서비스를 제공하는 회사들은 가격과 품질로 경쟁할 것이고 사용자들은 특정한 업체에 얽매이지 않아도 될 것이다. 또한, 그러한 서비스가 필요하지 않은 사람들은 서비스에 대한 비용을 들이지 않고도 프로그램들을 사용할 수 있을 것이다.
- GNU와 같은 프로그램을 무료 또는 극히 적은 비용으로 많은 컴퓨터 사용자에게 홍보할 수 있는 다양한 정보 전파 방식이 존재한다. 그러나 광고를 이용하면 보다 많은 사람들에게 프로그램을 알릴 수 있다는 점은 옳을 수 있다. 만약 이것이 정말 사실이라면 GNU를 유료로 복제하고 배송하는 서비스 사업은 광고비 혹은 그 이상의 비용을 지불하기에 충분할 만큼 성공해야 한다. 이러한 방식에서는 광고를 보고 제품을 구입하는 등의 광고로부터 이익을 얻은 사용자가 광고비를 부담한 것이 된다.반면에, 많은 사람들이 GNU를 그들의 친구로부터 구하고 또한 위와 같은 회사가 성공하지 못한다면 그것은 GNU가 확산되는데 광고가 반드시 필요하지 않다는 것을 의미하는 것이다. 자유 시장 옹호자들은 왜 이 문제를 자유 시장이 결정하도록 놔두지 않는 것일까?
- GNU는 시스템 소프트웨어를 경쟁이라는 범주에서 제외시킬 것이다. 여러분의 회사는 이 분야에서 경쟁 우위를 점할 수 없겠지만, 그것은 여러분의 경쟁사도 모두 마찬가지가 될 것이다. 여러분과 여러분의 경쟁사는 다른 분야에서 경쟁하겠지만, 이 분야에서는 모두 이익을 얻게 될 것이다. 만약 여러분의 사업이 운영체제를 판매하는 것이라면 GNU를 좋아하지 않을 것이고 혹독한 상대가 되겠지만, 여러분의 사업이 다른 것이라면 GNU는 운영체제의 구입에 따른 막대한 비용을 절감해 줄 수 있다.나는 많은 업체와 사용자들이 GNU의 발전에 기여해 나감으로써 서로의 비용을 절감할 수 있기를 희망한다.
- 유해한 수단을 사용하지 않는다면, 노동에 대한 보수와 자신의 소득이 극대화되기를 바라는 것은 아무 문제가 없다. 그러나 지금까지 소프트웨어 산업에서 보편화된 수단은 유해한 방법이다.프로그램을 사용하는 것에 제한을 둠으로써 돈을 벌어들이는 행위는 프로그램이 사용되는 범위와 방식을 제한하기 때문에 유해한 것이다. 이는 프로그램으로부터 얻을 수 있는 인간적인 풍요로움을 전체적으로 감소시키는 것이다. 프로그램의 자유로운 사용에 대한 제한은 결국, 유해한 파괴 행위라고 할 수 있다.선량한 시민이라면 자신이 보다 부유해지기 위해서 그러한 수단을 쓰지 않는다. 그 까닭은, 만일 모든 사람들이 그렇게 한다면 상호간의 유해한 행위로 인해 결과적으로 우리 모두는 보다 빈곤해질 것이기 때문이다. 이것은 칸트의 윤리학(네 의지의 준칙이 언제나 보편적 입법의 원리로서 타당하게 행동하라-실천이성비판)이나 황금률과 같은 분명한 것이다. 나는 모든 사람들이 자기만의 정보를 축적해 나가는 것은 바람직하지 않다고 여기기 때문에, 누군가 그런 일을 한다면 그것이 잘못된 일이라고 생각한다. 명확하게 말하면, 한 개인의 창의성을 보장받고자 하는 욕구가 일반적으로 전체의 창의성이나 혹은 그 일부분을 저하시키는 행위를 정당화시키는 것은 옳지 않다.
- 자신의 아이디어를 다른 사람이 사용하는 것을 통제한다는 것은 결국 다른 사람의 삶을 통제한다는 것이며, 이것은 타인의 삶을 위축시키기 위해서 흔히 사용되는 것이다. 변호사와 같이 지적 소유권 문제를 연구해 온 사람들은 지적 소유물에는 본질적인 권리가 존재할 수 없다고 주의 깊게 말한다. 정부가 인정하는 가상의 지적 소유권은 특정한 목적을 위해 만들어진 특정 법률 조항으로부터 발생한 것이다. 예를 들어, 특허 제도는 발명가로 하여금 발명품의 세부 사항을 공개하도록 장려하기 위해서 만들어진 것이다. 따라서 그 목적은 발명자를 돕기보다 사회를 돕기 위한 것이다. 시간적인 측면에서 보면, 특허가 갖는 17년간의 유효 기간은 기술의 발전 속도와 비교해 볼 때 짧은 것이다. 특허는 제조업체들 간의 문제이고 특허 사용 계약을 체결하는 것이 제품을 직접 생산하기 위해서 필요한 노력과 비용에 비해 적기 때문에 그다지 해롭게 작용하지 않는다. 또한 특허품을 사용하는 대부분의 개인에 대해서는 별다른 제한을 두지 않는다. 고대에는 저작권 개념이 존재하지 않았으며, 당대의 작가들은 흔히 논픽션 작품 속에 다른 작가의 작품 상당량을 옮겨 넣었다. 이런 관행은 유용한 것이었으며 비록 일부분이나마 많은 작가들의 작품이 계속해서 남아 있을 수 있는 유일한 방법이었다. 저작권 제도는 특별히 저술업을 활성화시키려는 의도로 만들어진 것이다. 이 영역에 속하는 책은 인쇄기를 통해서 경제적으로 만들어질 수 있기 때문에 저작권은 그다지 해롭지 않았다. 또한 책을 읽는 대다수의 사람들을 제한하지도 않았다. 모든 지적 소유권은 그것이 옳든 그르든 간에 그를 허용함으로써 사회 전체에 이익이 된다고 여겨져서 사회가 부여한 허가일 뿐이다. 그러나 어떤 특정 상황에서도 우리는 “그런 허가를 내주는 것이 정말 우리에게 유익한가? 개인에게 어떤 종류의 행위를 허용하는 허가를 내줄 것인가?”라는 질문을 해보아야만 한다. 오늘날의 프로그램의 경우는 백여년 전의 책의 경우와 크게 다르다. 프로그램이 옆사람을 통해 가장 쉽게 복제될 수 있다는 점과 원시 코드와 목적 코드로 구분된다는 점, 단순히 읽거나 즐기기 위한 것이 아니라 특정한 용도를 위해 사용된다는 점들이 복합적인 상황을 만들게 되어 저작권을 강요하는 사람들은 사회 전체에 정신적으로나 물질적으로 해를 끼치는 상황을 만들고 있으며 법적 허용 여부에 관계없이 사용자들의 이용을 제한하고 있는 것이다.
- 실제로 많은 사람들은 어떠한 금전적 보상 없이도 프로그래밍을 계속 할 것이다. 프로그래밍은 어떤 사람들에게 있어 저항할 수 없는 매력이며 이는 프로그래밍에 능숙한 사람일수록 더욱 그렇다. 생계를 유지할 희망이 보이지 않더라도 꾸준히 활동을 계속하는 직업 음악인들이 많이 있듯이 말이다. 그러나 실제로 이 질문은 비록 일반적으로 많이 제기는 것이기는 하지만 조금은 다른 관점의 문제라고 할 수 있다. 왜냐하면 프로그래머들의 소득원이 없어지는 것이 아니라 단지 수입이 줄어드는 것이기 때문이다. 따라서 올바른 질문은 “금전적인 보상이 줄어들더라도 프로그래밍을 계속할 사람이 있을까?”일 것이다. 내 경험에 비추어 보면 그렇게 할 것이라고 생각한다. 십년 이상 동안, 세계 정상급 프로그래머들이 MIT 인공 지능 연구소에서 근무했지만 그들이 받은 보수는 다른 어떤 곳에서 기대할 수 있는 것보다 훨씬 적은 것이었다. 그들은 사회적 존경이나 명성과 같은 다양한 종류의 비금전적인 보상을 받았다. 그리고 창조적 작업은 이미 그 자체가 자신에게 흥미와 보상을 주는 것이다. 그러나 시간이 흐르자 이전의 작업처럼 그들이 흥미롭게 생각하는 일을 높은 보수를 받으며 할 수 있는 기회가 주어지자 그들 중 대부분은 연구소를 떠나갔다. 이 사실에서 알 수 있는 것은, 사람들은 부유해지기 위해서보다 나름대로 어떤 이유 때문에 프로그래밍을 한다는 것이다. 그러나 동일한 일에 대해서 보다 많은 보수까지 받을 기회가 주어지면, 그것을 기대하고 원하게 된다는 점이다. 보수가 낮은 조직은 높은 보수를 받는 조직과의 경쟁에서 뒤쳐지겠지만, 만약 높은 보수를 받는 조직이 허용되지 않는다면 훌륭하게 활동할 수 있을 것이다.
- 요컨대 이것은 진실이다. 그러나 프로그램의 사용 권리를 파는 것 이외에도 프로그래머로서 생계를 꾸려갈 수 있는 방법은 많이 있다. 이러한 방법이 관례적으로 사용되고 있는 이유는 프로그래머나 사업가들이 보다 많은 돈을 벌 수 있기 때문이지 결코 이것이 생계를 유지할 수 있는 유일한 방법이기 때문은 아니다. 다른 방법을 찾고자 한다면 얼마든지 가능할 것이다. 여기 여러 가지 예들이 있다. 새로운 컴퓨터를 내놓는 제조업자는 새 기계에 운영체제를 이식하기 위한 비용을 지불할 것이다. 교육이나 단순 관리 작업, 유지 보수 서비스를 제공하는 회사에서도 역시 프로그래머를 고용할 것이다. 프리웨어라는 이름으로 프로그램을 배포한 뒤에 사용자가 제품에 만족한다면 이에 대한 기부금을 요청하거나 지원 서비스를 판매하는 방식의 새로운 아이디어를 갖고 있는 사람들도 있다. 나는 이미 이러한 방법으로 성공한 사람들을 알고 있다. 비슷한 요구를 가진 사용자들은 사용자 모임을 결성하고 회비를 조성할 수 있을 것이다. 사용자 모임은 프로그래밍 회사와 계약을 맺고 회원들이 원하는 프로그램을 주문 제작할 수 있을 것이다. 모든 종류의 개발에 필요한 기금은 소프트웨어에 대한 다음과 같은 세금으로 조성될 수 있다. 소프트웨어 세금이 모든 컴퓨터의 판매 가격에 부과된다면 정부는 이 세금을 국립과학재단 같은 기관으로 위임하여 소프트웨어 개발을 위해서 사용되도록 할 수 있을 것이다. 그러나 컴퓨터를 구입하는 사람이 소프트웨어 개발에 직접 기부하고자 할 때에는 기부금이 세금을 대신할 수 있으며, 기부액은 세금의 범위 안에서 얼마든지 대신될 수 있다. 기부자들은 때때로 그 결과물을 자신이 쓸 수 있을 것이라는 기대를 갖고 기부할 프로젝트를 선택할 수 있을 것이다. 전체적인 세율은 납세자들의 투표를 통해 결정할 수 있으며 구입액에 따른 누진율을 적용할 수도 있을 것이다. 이러한 결과는 다음과 같다. 컴퓨터 사용자 공동체는 소프트웨어의 개발을 지원한다. 어느 정도의 지원이 필요한가는 이 공동체가 결정한다. 자신의 돈이 어떤 프로젝트에 지원되는가에 관심이 있는 개인은 이를 직접 결정할 수 있다. 프로그램을 자유롭게 만든다는 것은 결국, 더이상 생계를 위해 고되게 일할 필요가 없는 풍요로운 세계로 가는 한 단계인 것이다. 사람들은 법률 제정이나 가정 상담, 로보트 수리, 소행성 채굴 등과 같은 주당 열 시간 정도의 근무 시간을 마친 후에는 프로그래밍과 같은 흥미를 가질 수 있는 일에 자신을 몰입할 수 있는 자유를 갖게 될 것이다. 더이상 프로그래밍을 생계의 수단으로 삼을 필요가 없게 될 것이다. 우리가 이미 실질적인 생산을 위해 사회 전체가 수행해야 할 작업량의 상당 부분을 줄여왔음에도 불구하고 노동자들을 위한 여가 시간이 아직 충분히 보장되지 않고 있는 이유는, 주로 자유 경쟁에 반하는 관료 제도와 저항들에 의해서 생산적인 활동에 많은 비생산적 요소들이 개입되기 때문이다. 자유 소프트웨어는 소프트웨어 생산 분야에서 이러한 소모적인 요소들을 대폭적으로 줄일 수 있을 것이다. 또한 그렇게 해야만 소프트웨어 생산에 대한 기술적 성과들이 우리들 자신의 노동량을 감소시키도록 할 수 있을 것이다.[1]
각주[편집]
참고자료[편집]
같이 보기[편집]