오픈 소스 소프트웨어 란 무엇이며 왜 중요한가?

0
305

우분투 루시드 -lynx-tux-android

Geeks는 종종 프로그램을 “오픈 소스”또는 “무료 소프트웨어”라고 설명합니다. 이러한 용어의 의미와 중요한 이유가 궁금하다면 계속 읽으십시오. (아니요,“무료 소프트웨어”는 무료로 다운로드 할 수 있다는 의미는 아닙니다.)

프로그램이 오픈 소스인지 여부에 관계없이 개발자에게 중요한 것이 아니라 궁극적으로 사용자에게도 중요합니다. 오픈 소스 소프트웨어 라이센스는 사용자에게 그렇지 않은 자유를 부여합니다.

이미지 크레디트 : Flickr의 Quinn Dombrowski

오픈 소스의 정의

프로그램이 오픈 소스 인 경우 사용자가 소스 코드를 무료로 사용할 수 있습니다. 사용자와 다른 사용자는이 소스 코드를 가져 와서 수정하고 자신의 프로그램 버전을 배포 할 수 있습니다. 또한 사용자는 원하는만큼 원본 프로그램의 사본을 배포 할 수 있습니다. 누구나 어떤 목적 으로든 프로그램을 사용할 수 있습니다. 소프트웨어에 라이센스 비용이나 기타 제한이 없습니다. OSI는 웹 사이트에“오픈 소스”에 대한보다 자세한 정의를 가지고 있습니다.

예를 들어 Ubuntu Linux는 오픈 소스 운영 체제입니다. Ubuntu를 다운로드하고 원하는만큼 사본을 만들어 친구에게 제공 할 수 있습니다. 무제한의 컴퓨터에 Ubuntu를 설치할 수 있습니다. Ubuntu 설치 디스크의 리믹스를 만들어 배포 할 수 있습니다. 특히 동기가 있다면 Ubuntu에서 프로그램의 소스 코드를 다운로드하여 수정하여 해당 프로그램 또는 Ubuntu 자체의 사용자 정의 버전을 만들 수 있습니다. 공개 소스 라이센스를 사용하면이 작업을 수행 할 수 있지만 비공개 소스 라이센스는 사용자에게 제한이 있습니다.

오픈 소스 소프트웨어의 반대는 사용자를 제한하고 소스 코드를 유지하는 라이센스를 가진 폐쇄 소스 소프트웨어입니다.

Firefox, Chrome, OpenOffice, Linux 및 Android는 오픈 소스 소프트웨어의 대표적인 예이며 Microsoft Windows는 아마도 가장 인기있는 비공개 소스 소프트웨어 일 것입니다.

오픈 소스와 자유 소프트웨어

오픈 소스 응용 프로그램은 일반적으로 무료로 제공됩니다. 그러나 개발자가 나중에 응용 프로그램과 소스 코드를 재배포 할 수있는 경우 소프트웨어 사본에 대한 요금을 부과하지 않습니다.

그러나 이것이 “무료 소프트웨어”가 아닙니다. 자유 소프트웨어의 “자유”는 “맥주와 같이 자유”가 아닌 “자유와 같이 자유”를 의미합니다. Richard Stallman과 자유 소프트웨어 재단이 이끄는 자유 소프트웨어 캠프는 소프트웨어 사용의 윤리와 도덕에 중점을 둡니다. 사용자가 제어하고 수정합니다. 즉, 자유 소프트웨어 캠프는 사용자의 자유에 중점을 둡니다.

richard-stallman

리차드 스톨만 Flickr의 Fripog 이미지.

오픈 소스 소프트웨어 운동은 이러한 유형의 소프트웨어를 선택하는보다 실용적인 이유에 초점을 맞추기 위해 만들어졌습니다. 오픈 소스 옹호자들은 윤리와 도덕보다는 비즈니스에 더 호소하는 오픈 소스 소프트웨어를 사용함으로써 얻을 수있는 실질적인 이점에 초점을 맞추고 자했습니다.

궁극적으로 오픈 소스 및 무료 소프트웨어 옹호자들은 동일한 유형의 소프트웨어를 개발하고 있지만 메시징에 동의하지 않습니다.

라이센스의 종류

개발자가 자신의 프로그램을 선호하는 오픈 소스 프로젝트에서 사용하는 라이센스는 여러 가지가 있습니다.

GPL (GNU General Public License)은 Linux와 같은 많은 오픈 소스 프로젝트에서 널리 사용됩니다. 위의 모든 오픈 소스 정의 외에도 GPL의 용어는 누구나 오픈 소스 프로그램을 수정하고 파생 저작물을 배포하는 경우 파생 저작물에 대한 소스 코드도 배포해야 함을 명시합니다. 다시 말해, 아무도 오픈 소스 코드를 사용하여 폐쇄 소스 프로그램을 만들 수 없으며 변경 사항을 커뮤니티에 다시 공개해야합니다. Microsoft는 GPL 코드를 포함하는 프로그램이 자체 소스 코드를 공개하도록 강요하기 때문에 GPL을 “바이러스 성”이라고 언급했습니다. 물론, 프로그램 개발자는 이것이 문제인 경우 GPL 코드를 사용하지 않도록 선택할 수 있습니다.

pidgin-license-agreement

BSD 라이센스와 같은 다른 라이센스는 개발자에 대한 제한이 적습니다. 프로그램이 BSD 라이센스에 따라 라이센스가 부여 된 경우 누구나 프로그램 소스 코드를 다른 프로그램에 통합 할 수 있습니다. 변경 사항을 커뮤니티에 다시 공개 할 필요가 없습니다. 어떤 사람들은이 코드가 GPL 라이센스보다 훨씬 “무료”라고 생각합니다. 개발자는 코드를 자신의 비공개 소스 프로그램에 자유롭게 통합 할 수 있고 권리를 빼앗기 때문에 덜 “무료”로 인식 할 수 있기 때문입니다. 파생 된 프로그램의 최종 사용자로부터.

사용자를위한 혜택

이것은 개발자에게만 중요하고 건조하지 않은 중요한 것은 아닙니다. 오픈 소스 소프트웨어의 가장 큰 장점은 무료로 사용할 수 있다는 것입니다. 위의 Ubuntu Linux의 예는 Windows와 달리 제한없이 Ubuntu의 사본을 원하는만큼 설치하거나 배포 할 수 있음을 분명히합니다. 특히 유용한 서버 일 수 있습니다. 서버를 설정하는 경우 Linux를 설치하기 만하면됩니다. 가상화 된 서버 클러스터를 설정하는 경우 단일 Ubuntu 서버를 쉽게 복제 할 수 있습니다. 라이센싱과 실행 가능한 Linux 인스턴스 수에 대해 걱정할 필요가 없습니다.

오픈 소스 프로그램도 더 유연합니다. 예를 들어, Windows 8의 새로운 인터페이스는 많은 오랜 데스크톱 Windows 사용자를 실망 시켰습니다. Windows는 비공개 소스이므로 Windows 사용자는 Windows 7 인터페이스를 가져 와서 수정하고 Windows 8에서 제대로 작동 할 수 없습니다. (일부 Windows 사용자는 시도하지만 이진 파일을 리버스 엔지니어링하고 수정하는 것은 힘든 과정입니다. )

영상

Ubuntu와 같은 Linux 데스크탑에 일부 사용자가 아닌 새로운 데스크탑 인터페이스가 도입되면 사용자에게 더 많은 옵션이 있습니다. 예를 들어, 그놈 3이 출시되었을 때 많은 리눅스 데스크탑 사용자들이 똑같이 꺼져있었습니다. 일부는 코드를 이전 버전 인 그놈 2로 가져와 최신 Linux 배포판에서 실행되도록 수정했습니다. MATE입니다. 일부는 그놈 3으로 코드를 가져 와서 원하는 방식으로 작동하도록 수정했습니다. 이것이 시나몬입니다. 일부 사용자는 기존 대체 데스크톱으로 전환했습니다. Windows가 오픈 소스 인 경우 Windows 8 사용자는 더 많은 선택과 유연성을 갖게됩니다. 새로운 디바이스에 대한 기능과 지원을 추가하는 인기있는 커뮤니티 중심 Android 배포 인 CyanogenMod를 살펴보십시오.

또한 오픈 소스 소프트웨어를 통해 개발자는 “거대한 어깨 위에 서서”자신의 소프트웨어를 만들 수 있습니다. Linux 및 기타 오픈 소스 소프트웨어로 구축 된 운영 체제 인 Android 및 Chrome OS를 확인하십시오. 애플 OS X의 핵심, 그리고 그에 따른 iOS도 오픈 소스 코드를 기반으로 구축되었습니다. Valve는 Steam 게임 플랫폼을 Linux로 이식하기 위해 열심히 노력하고 있습니다. 이는 Microsoft의 Windows에서는 불가능한 방식으로 자체 하드웨어를 만들고 자체 운명을 제어 할 수 있기 때문입니다.


이 주제에 대한 전체 책이 작성된 완전한 설명은 아니지만 이제 오픈 소스 소프트웨어가 실제로 무엇이고 왜 유용한 지 더 잘 이해할 수 있습니다.