자유 소프트웨어 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
3번째 줄: 3번째 줄:
 
==개요==
 
==개요==
 
소프트웨어의 수정 및 수정본의 재배포는 인간이 해독 가능한 [[프로그램]]의 [[소스 코드]]가 있어야만 가능하며, 소스 코드는 일반 공중 허가서 등의 [[라이선스]]를 통하거나, 혹은 드물지만, 퍼블릭 [[도메인]]을 통하여 공개된다. 자유 소프트웨어를 이해하기 위해선 먼저 자유에는 일정한 책임이 따른다는 사실을 알아야 한다. 자유 소프트웨어는 자유롭게 이용할 수 있는 소프트웨어를 말하지만, 해당 소프트웨어의 사용 조건이 무엇인지, 출처는 어디인지 밝히고 사용해야 한다. 개인이 자유롭게 사용한다고 하더라도, 재생산되거나 재배포 될 가능성을 배제할 수 없기 때문이다. 즉, 남이 만든 소프트웨어를 사용하는 대신 최소한의 조건을 이행하겠다는 조건 하에 자유 소프트웨어를 사용할 수 있다. 자유 소프트웨어 개발자들은 [[웹]] 브라우저나 [[오피스]] 제품군 혹은 [[멀티미디어]] 플레이어 등 거의 대부분의 [[데스크톱]] [[애플리케이션]]들을 자유 소프트웨어로 만들어냈다. 그러나 많은 영역에서 개인 사용자를 위한 자유 소프트웨어들은 경쟁 독점 소프트웨어들에 비해 미미한 시장 점유율을 지닌다.<ref name=“위키백과”>〈[https://ko.wikipedia.org/wiki/%EC%9E%90%EC%9C%A0_%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4 자유 소프트웨어]〉, 《위키백과》</ref> 자유 소프트웨어가 가진 자유를 크게 4가지로 볼 수 있다. 먼저 프로그램을 어떠한 목적을 위해서도 실행할 수 있는 자유, 이웃을 돕기 위해 프로그램을 복제하고 배포할 수 있는 자유가 있다. 세 번째로, 프로그램의 작동 원리를 연구하고, 이를 자신의 필요에 맞게 변경시킬 수 있는 자유가 있어야 하는데, 이러한 자유를 위해서는 소스 코드에 대한 접근이 선행되어야 한다. 마지막으로 프로그램을 향상시키고 공동체 전체의 이익을 위해서 다시 환원시킬 수 있는 자유가 있어야 한다. 이러한 자유를 위한 조건은 앞의 조건과 동일하게, 소스 코드에 대한 접근이 선행되어야 한다는 것이다.<ref>〈[https://wogns3623.github.io/intro2.html 2.자유 소프트웨어]〉, 《깃허브》, 2016-03-20</ref>  
 
소프트웨어의 수정 및 수정본의 재배포는 인간이 해독 가능한 [[프로그램]]의 [[소스 코드]]가 있어야만 가능하며, 소스 코드는 일반 공중 허가서 등의 [[라이선스]]를 통하거나, 혹은 드물지만, 퍼블릭 [[도메인]]을 통하여 공개된다. 자유 소프트웨어를 이해하기 위해선 먼저 자유에는 일정한 책임이 따른다는 사실을 알아야 한다. 자유 소프트웨어는 자유롭게 이용할 수 있는 소프트웨어를 말하지만, 해당 소프트웨어의 사용 조건이 무엇인지, 출처는 어디인지 밝히고 사용해야 한다. 개인이 자유롭게 사용한다고 하더라도, 재생산되거나 재배포 될 가능성을 배제할 수 없기 때문이다. 즉, 남이 만든 소프트웨어를 사용하는 대신 최소한의 조건을 이행하겠다는 조건 하에 자유 소프트웨어를 사용할 수 있다. 자유 소프트웨어 개발자들은 [[웹]] 브라우저나 [[오피스]] 제품군 혹은 [[멀티미디어]] 플레이어 등 거의 대부분의 [[데스크톱]] [[애플리케이션]]들을 자유 소프트웨어로 만들어냈다. 그러나 많은 영역에서 개인 사용자를 위한 자유 소프트웨어들은 경쟁 독점 소프트웨어들에 비해 미미한 시장 점유율을 지닌다.<ref name=“위키백과”>〈[https://ko.wikipedia.org/wiki/%EC%9E%90%EC%9C%A0_%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4 자유 소프트웨어]〉, 《위키백과》</ref> 자유 소프트웨어가 가진 자유를 크게 4가지로 볼 수 있다. 먼저 프로그램을 어떠한 목적을 위해서도 실행할 수 있는 자유, 이웃을 돕기 위해 프로그램을 복제하고 배포할 수 있는 자유가 있다. 세 번째로, 프로그램의 작동 원리를 연구하고, 이를 자신의 필요에 맞게 변경시킬 수 있는 자유가 있어야 하는데, 이러한 자유를 위해서는 소스 코드에 대한 접근이 선행되어야 한다. 마지막으로 프로그램을 향상시키고 공동체 전체의 이익을 위해서 다시 환원시킬 수 있는 자유가 있어야 한다. 이러한 자유를 위한 조건은 앞의 조건과 동일하게, 소스 코드에 대한 접근이 선행되어야 한다는 것이다.<ref>〈[https://wogns3623.github.io/intro2.html 2.자유 소프트웨어]〉, 《깃허브》, 2016-03-20</ref>  
 +
 +
==특징==
 +
자유 소프트웨어는 완전히 무료 혹은 최소한의 금액만을 받고 자유롭게 배포되어야 하며, 자유 소프트웨어를 통한 비즈니스 모델들은 대게 고객 지원이나 커스터마이징 등을 통한 것들이다. 대부분의 자유 소프트웨어들이 온라인에서 무료로 제공되거나, 오프라인에서 적당한 가격으로 배포되는데, 이것이 필수적인 것은 아니다. 간혹 자유 소프트웨어와 무료 소프트웨어를 같은 의미로 보는 경우가 있는데 자유 소프트웨어는 무료 소프트웨어일 수도 있고, 아닐 수도 있다. 1990년대 후반에 자유 소프트웨어 대신 [[오픈 소스]] 소프트웨어라는 용어가 많이 사용되기 시작했다. 하지만 [[자유 소프트웨어 재단]]은 자유로운 사용을 강조하는 대신 기술적인 면에 치우친 용어라는 점에서 “자유 소프트웨어”라는 용어를 사용할 것을 권장했다.<ref name=“위키백과”></ref> 자유 소프트웨어와 오픈소스 소프트웨어는 같은 소프트웨어를 지칭하기도 하지만, 바라보는 관점에서 차이가 있다. 오픈 소스는 개발 방법론으로, 오픈 소스의 철학은 실용적인 관점에서 소프트웨어를 어떻게 잘 만들 것인가를 고려하는 것이다. 이에 비해 자유 소프트웨어는 사회적 운동으로, 윤리적 명령으로서 사용자에게 주어진 자유를 기본적으로 중요하게 생각한다. 대부분의 오픈 소스 소프트웨어는 자유 소프트웨어이기도 하지만, 일부 오픈 소스 라이선스는 수정된 버전을 만들어 개인적으로 사용할 수 없게 하여, 사용자의 자유를 침해하기도 한다.<ref>joone, 〈[https://foss-story.blogspot.com/2016/03/blog-post.html 만화로 나누는 오픈소스 이야기]〉, 《블로거》, 2016-03-20</ref>
  
 
==역사==
 
==역사==
 
1950년대부터 1970년대까지의 [[컴퓨터]] 사용자들은 대부분의 소프트웨어를 자유롭게 이용할 수 있었다. 사람들은 종종 소프트웨어를 서로 공유했고, [[하드웨어]] 제조사들은 하드웨어를 편리하게 사용할 수 있게 하는 소프트웨어들이 제작되는 것을 기꺼워했다. 1970년대부터 1980년대에 소프트웨어 산업이 복제권을 법적으로 적용하기 시작하여, 사용자들이 소프트웨어를 연구하거나 수정하지 못하도록 바이너리 형태로만 배포하는 기술적 방법들이 사용되곤 했다. 1983년에, [[리처드 스톨만]]은 컴퓨터 산업의 이러한 변화에 저항해 GNU 프로젝트를 시작했다. 1984년에는 GNU [[운영 체제]]의 개발이 시작되었으며, 1985년 10월 자유 소프트웨어 재단(FSF)이 설립되었다. 그는 [[카피레프트]]를 주장하며, 자유 소프트웨어의 정의를 모두가 자유롭게 사용할 수 있도록 디자인된 소프트웨어로 소개하였다. 1991년에는 핀란드에서 [[리누스 토르발스]]가 [[리눅스]]를 발표하였고, 이것이 GNU 프로젝트에 통합되면서, 자유 소프트웨어 커뮤니티가 활성화되기 시작했다.<ref name=“위키백과”></ref>
 
1950년대부터 1970년대까지의 [[컴퓨터]] 사용자들은 대부분의 소프트웨어를 자유롭게 이용할 수 있었다. 사람들은 종종 소프트웨어를 서로 공유했고, [[하드웨어]] 제조사들은 하드웨어를 편리하게 사용할 수 있게 하는 소프트웨어들이 제작되는 것을 기꺼워했다. 1970년대부터 1980년대에 소프트웨어 산업이 복제권을 법적으로 적용하기 시작하여, 사용자들이 소프트웨어를 연구하거나 수정하지 못하도록 바이너리 형태로만 배포하는 기술적 방법들이 사용되곤 했다. 1983년에, [[리처드 스톨만]]은 컴퓨터 산업의 이러한 변화에 저항해 GNU 프로젝트를 시작했다. 1984년에는 GNU [[운영 체제]]의 개발이 시작되었으며, 1985년 10월 자유 소프트웨어 재단(FSF)이 설립되었다. 그는 [[카피레프트]]를 주장하며, 자유 소프트웨어의 정의를 모두가 자유롭게 사용할 수 있도록 디자인된 소프트웨어로 소개하였다. 1991년에는 핀란드에서 [[리누스 토르발스]]가 [[리눅스]]를 발표하였고, 이것이 GNU 프로젝트에 통합되면서, 자유 소프트웨어 커뮤니티가 활성화되기 시작했다.<ref name=“위키백과”></ref>
  
==특징==
+
==GNU 프로젝트==
자유 소프트웨어는 완전히 무료 혹은 최소한의 금액만을 받고 자유롭게 배포되어야 하며, 자유 소프트웨어를 통한 비즈니스 모델들은 대게 고객 지원이나 커스터마이징 등을 통한 것들이다. 대부분의 자유 소프트웨어들이 온라인에서 무료로 제공되거나, 오프라인에서 적당한 가격으로 배포되는데, 이것이 필수적인 것은 아니다. 간혹 자유 소프트웨어와 무료 소프트웨어를 같은 의미로 보는 경우가 있는데 자유 소프트웨어는 무료 소프트웨어일 수도 있고, 아닐 수도 있다. 1990년대 후반에 자유 소프트웨어 대신 [[오픈 소스]] 소프트웨어라는 용어가 많이 사용되기 시작했다. 하지만 [[자유 소프트웨어 재단]]은 자유로운 사용을 강조하는 대신 기술적인 면에 치우친 용어라는 점에서 “자유 소프트웨어”라는 용어를 사용할 것을 권장했다.<ref name=“위키백과”></ref> 자유 소프트웨어와 오픈소스 소프트웨어는 같은 소프트웨어를 지칭하기도 하지만, 바라보는 관점에서 차이가 있다. 오픈 소스는 개발 방법론으로, 오픈 소스의 철학은 실용적인 관점에서 소프트웨어를 어떻게 잘 만들 것인가를 고려하는 것이다. 이에 비해 자유 소프트웨어는 사회적 운동으로, 윤리적 명령으로서 사용자에게 주어진 자유를 기본적으로 중요하게 생각한다. 대부분의 오픈 소스 소프트웨어는 자유 소프트웨어이기도 하지만, 일부 오픈 소스 라이선스는 수정된 버전을 만들어 개인적으로 사용할 수 없게 하여, 사용자의 자유를 침해하기도 한다.<ref>joone, 〈[https://foss-story.blogspot.com/2016/03/blog-post.html 만화로 나누는 오픈소스 이야기]〉, 《블로거》, 2016-03-20</ref>
+
GNU는 “GNU’s not UNIX.”의 약자로, 원래의 문장 안에 자신이 이미 들어 있는 재귀 약자이다. 스톨만은 GNU를 그누로 읽을 것을 제안했다. 1983년 9월 27일 유즈넷(usenet) net.uniw-wizard 그룹을 통해 세상에 알려졌다. 스톨만은 “GNU” 선언문을 비롯한 여러 글들을 작성하여, 초기 전산 공동체에 지배적이었던 협동 정신을 되돌려야 한다고 주장했다. GNU 프로젝트는 누구나 자유롭게 “실행, 복사, 수정, 배포”할 수 있고, 누구도 그런 권리를 제한하면 안 된다는 일반 공중 허가서라는  사용 허가권 아래에서 소프트웨어를 배포한다. 1985년 스톨만이 설립한 자유 소프트웨어 재단은 GNU를 개발할 [[프로그래머]]들을 고용했지만, 실질적으로 프로그램을 개발한 사람들은 자원봉사자들이었다. 이를 주목한 다른 회사들이 GNU의 소프트웨어 개발이나 판매 및 기술 지원을 도와 성공적으로 개발한 것이 현재는 [[레드햇]]의 일부인 시그너스 솔루션(Cygnus Solutions)이다.
  
==GNU 프로젝트==
+
1990년대까지 GNU 시스템에서 확장 가능한 프로그램은 문서 편집기(이맥스), [[컴파일러]](GCC), 표준 [[유닉스]]배포판의 핵심인 [[라이브러리]]와 [[유틸리티]]가 있었지만, 주요 구성요소인 [[커널]]이 포함되지 않았다. 이에 스톨만은 기본적인 커널은 있지만, 유닉스를 흉내 내기 위해선 더 많은 기능이 필요하다고 했고, 이것은 유닉스 7번째 판과 호환되는 트릭스(TRIX)라는 원격 프로시저 호출 커널로 MIT에서 개발되어 자유롭게 배포되었다. 하지만 트릭스를 기반으로 새 커널을 만드는 것은 어렵다는 결론이 내려졌고, 1988년 [[카네기 멜런 대학]]에서 개발되던 마하 통신-전송 커널을 트릭스의 대체품으로 고려했지만, 이를 처음 개발한 개발자들이 AT&T 소유의 코드를 지우면서 지연되었다. 이 커널은 처음에 앨릭스라고 불렸지만, 이후 개발자인 [[마이클 부시넬]](Michael Busgnell)이 [[허드]](HURD)라는 이름을 선호하여, 앨릭스란 이름은 하부 구조로 옮겨지고, 결국 완전히 떨어졌다. 허드의 개발은 기술적이고 개인적인 충돌들로 인하여 지지부진해졌다. 1991년 리누스 토르발스가 유닉스 호환이 가능한 리눅스 커널을 작성하여 일반 공중 허가서 아래에 배포했다. 이후 여러 프로그래머들이 [[인터넷]]을 통해 리눅스를 발전시켰고, 19092년 리눅스가 GNU 프로그램과 통합되었고, 이로써 완전한 공개 운영 체제가 탄생했다. GNU 시스템 가운데 가장 흔한 것이, 바로 이 “GNU/리눅스”또는 “리눅스 배포판”이라고 불리는 프로그램이다.<ref>〈[https://ko.wikipedia.org/wiki/GNU_%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8 GNU 프로젝트]〉, 《위키백과》</ref>
GNU는 “GNU’s not UNIX.”의 약자로, 원래의 문장 안에 자신이 이미 들어 있는 재귀 약자이다. 스톨만은 GNU를 그누로 읽을 것을 제안했다. 1983년 9월 27일 유즈넷(usenet) net.uniw-wizard 그룹을 통해 세상에 알려졌다. 스톨만은 “GNU” 선언문을 비롯한 여러 글들을 작성하여, 초기 전산 공동체에 지배적이었던 협동 정신을 되돌려야 한다고 주장했다. GNU 프로젝트는 누구나 자유롭게 “실행, 복사, 수정, 배포”할 수 있고, 누구도 그런 권리를 제한하면 안 된다는 일반 공중 허가서라는  사용 허가권 아래에서 소프트웨어를 배포한다. 1985년 스톨만이 설립한 자유 소프트웨어 재단은 GNU를 개발할 [[프로그래머]]들을 고용했지만, 실질적으로 프로그램을 개발한 사람들은 자원봉사자들이었다. 이를 주목한 다른 회사들이 GNU의 소프트웨어 개발이나 판매 및 기술 지원을 도와 성공적으로 개발한 것이 현재는 [[레드햇]]의 일부인 시그너스 솔루션(Cygnus Solutions)이다. 1990년대까지 GNU 시스템에서 확장 가능한 프로그램은 문서 편집기(이맥스), [[컴파일러]](GCC), 표준 [[유닉스]]배포판의 핵심인 [[라이브러리]]와 [[유틸리티]]가 있었지만, 주요 구성요소인 [[커널]]이 포함되지 않았다. 이에 스톨만은 기본적인 커널은 있지만, 유닉스를 흉내 내기 위해선 더 많은 기능이 필요하다고 했고, 이것은 유닉스 7번째 판과 호환되는 트릭스(TRIX)라는 원격 프로시저 호출 커널로 MIT에서 개발되어 자유롭게 배포되었다. 하지만 트릭스를 기반으로 새 커널을 만드는 것은 어렵다는 결론이 내려졌고, 1988년 [[카네기 멜런 대학]]에서 개발되던 마하 통신-전송 커널을 트릭스의 대체품으로 고려했지만, 이를 처음 개발한 개발자들이 AT&T 소유의 코드를 지우면서 지연되었다. 이 커널은 처음에 앨릭스라고 불렸지만, 이후 개발자인 [[마이클 부시넬]](Michael Busgnell)이 [[허드]](HURD)라는 이름을 선호하여, 앨릭스란 이름은 하부 구조로 옮겨지고, 결국 완전히 떨어졌다. 허드의 개발은 기술적이고 개인적인 충돌들로 인하여 지지부진해졌다. 1991년 리누스 토르발스가 유닉스 호환이 가능한 리눅스 커널을 작성하여 일반 공중 허가서 아래에 배포했다. 이후 여러 프로그래머들이 [[인터넷]]을 통해 리눅스를 발전시켰고, 19092년 리눅스가 GNU 프로그램과 통합되었고, 이로써 완전한 공개 운영 체제가 탄생했다. GNU 시스템 가운데 가장 흔한 것이, 바로 이 “GNU/리눅스”또는 “리눅스 배포판”이라고 불리는 프로그램이다.<ref>〈[https://ko.wikipedia.org/wiki/GNU_%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8 GNU 프로젝트]〉, 《위키백과》</ref>
 
  
 
===GNU 컴파일러 모음===
 
===GNU 컴파일러 모음===
72번째 줄: 74번째 줄:
 
* [[오픈소스]]
 
* [[오픈소스]]
  
{{소프트웨어|검토 필요}}
+
{{소프트웨어|검토필요}}

위키원에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 위키원:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)