홈페이지 » 어떻게 » 오픈 소스 소프트웨어 란 무엇이며, 왜 중요한가?

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

    괴짜들은 종종 프로그램을 "오픈 소스"또는 "자유 소프트웨어"로 묘사합니다. 이러한 용어의 의미와 그 중요성에 대해 정확히 알고 싶다면 계속 읽어보십시오. (아니요, "자유 소프트웨어"는 무료로 다운로드 할 수있는 것은 아닙니다.)

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

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

    오픈 소스의 정의

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

    예를 들어 Ubuntu Linux는 오픈 소스 운영 체제입니다. 우분투를 다운로드하고 원하는만큼 사본을 만들어 친구들에게 줄 수 있습니다. 무제한의 컴퓨터에 Ubuntu를 설치할 수 있습니다. Ubuntu 설치 디스크의 리믹스를 만들어 배포 할 수 있습니다. 특히 당신이 동기 부여를했다면, 우분투에서 프로그램의 소스 코드를 다운로드하여 수정하거나, 자신의 커스터마이징 된 버전의 프로그램을 만들거나 우분투 자체를 만들 수 있습니다. 클로즈드 소스 라이센스가 제한을 두는 반면 오픈 소스 라이센스는 모두이를 허용합니다.

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

    파이어 폭스, 크롬, 오픈 오피스, 리눅스, 안드로이드 등이 오픈 소스 소프트웨어의 대표적인 사례이다. 마이크로 소프트 윈도우는 아마도 폐쇄 형 소스 소프트웨어 중 가장 인기있는 제품 일 것이다..

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

    오픈 소스 응용 프로그램은 일반적으로 자유롭게 사용할 수 있습니다. 나중에 응용 프로그램과 소스 코드를 재배포 할 수있는 경우 개발자가 소프트웨어 사본에 대해 요금을 부과하는 것을 막을 수는 없지만.

    그러나 그것은 "자유 소프트웨어"가 의미하는 것이 아닙니다. 자유 소프트웨어의 "자유"는 "맥주처럼 자유롭지"않은 자유를 의미합니다. 리차드 스톨만과 자유 소프트웨어 재단이 주도하는 자유 소프트웨어 수용소는 소프트웨어를 사용할 수있는 윤리와 도덕에 중점을 둡니다. 사용자가 제어하고 수정할 수 있습니다. 즉, 자유 소프트웨어 수용소는 사용자의 자유에 초점을 맞추고 있습니다..

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

    오픈 소스 소프트웨어의 움직임은 이러한 유형의 소프트웨어를 선택하는보다 실용적인 이유에 초점을 맞추기 위해 만들어졌습니다. 오픈 소스 지지자들은 윤리 및 도덕보다는 기업에 더 호소력을 발휘할 수있는 오픈 소스 소프트웨어를 사용함으로써 얻을 수있는 실질적인 이점에 초점을 맞추고 싶었습니다.

    궁극적으로 오픈 소스 및 자유 소프트웨어 지지자 모두 동일한 유형의 소프트웨어를 개발하고 있지만 메시징에 대해서는 동의하지 않습니다.

    라이선스 유형

    개발자가 자신의 프로그램을 선호하는 방식에 따라 오픈 소스 프로젝트에서 사용되는 다양한 라이센스가 있습니다..

    GPL (GNU General Public License)은 Linux와 같은 많은 오픈 소스 프로젝트에서 널리 사용됩니다. 오픈 소스에 대한 위의 모든 정의 외에도 GPL의 조항은 오픈 소스 프로그램을 수정하고 파생 제품을 배포하는 경우 파생 제품에 대한 소스 코드도 배포해야한다고 규정합니다. 다른 말로하면 누구도 오픈 소스 코드를 가져 와서 폐쇄 소스 프로그램을 만들 수 없으며 변경 사항을 커뮤니티에 다시 공개해야합니다. 마이크로 소프트는 GPL 코드를 포함하는 프로그램이 자신의 소스 코드를 공개하도록 강요하기 때문에 GPL을 "바이러스 성"이라고 언급했다. 물론 프로그램 개발자는 문제가있는 경우 GPL 코드를 사용하지 않도록 선택할 수 있습니다..

    BSD 라이센스와 같은 일부 다른 라이센스는 개발자에 대한 제한을 덜어줍니다. BSD 라이센스에 따라 프로그램의 사용이 허가되면 누구든지 프로그램의 소스 코드를 다른 프로그램에 통합 할 수 있습니다. 커뮤니티에 변경 사항을 다시 공개 할 필요는 없습니다. 어떤 사람들은 GPL 라이센스보다 더 "자유 롭다"는 것을 보았습니다. 개발자가 코드를 자신의 폐쇄 소스 프로그램에 통합 할 수있는 자유를주었습니다. 일부 사람들은 권리를 포기하기 때문에 "자유"가 적다고 생각합니다 파생 된 프로그램의 최종 사용자로부터.

    사용자를위한 이점

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

    오픈 소스 프로그램은 또한보다 융통성이 있습니다. 예를 들어, Windows 8의 새로운 인터페이스는 오랫동안 데스크톱 Windows 사용자 중 상당수를 실망 시켰습니다. Windows는 폐쇄 형이기 때문에 Windows 사용자는 Windows 7 인터페이스를 사용하여 수정하고 Windows 8에서 제대로 작동하게 할 수 없습니다. (일부 Windows 사용자는 시도하고 있지만 이진 파일을 리버스 엔지니어링하고 수정하는 데는 많은 노력이 필요합니다. )

    Ubuntu와 같은 Linux 데스크톱에서 일부 사용자가 좋아하지 않는 새로운 데스크탑 인터페이스가 도입되면 사용자는 더 많은 옵션을 사용할 수 있습니다. 예를 들어 GNOME 3이 출시되었을 때 많은 Linux 데스크탑 사용자가 똑같이 꺼졌습니다. 일부는 코드를 이전 버전 인 GNOME 2로 가져 와서 최신 Linux 배포판에서 실행되도록 수정했습니다. 이것은 MATE입니다. 일부는 코드를 그놈 3으로 가져 가서 선호하는 방식으로 작동하도록 수정했습니다. 이것이 계피입니다. 일부 사용자는 기존 대체 데스크톱으로 전환했습니다. Windows가 오픈 소스 인 경우 Windows 8 사용자는 더 많은 선택권과 유연성을 누릴 수 있습니다. 새로운 장치에 대한 기능 및 지원을 추가하는 인기있는 커뮤니티 기반 Android 배포판 인 CyanogenMod를 살펴보십시오..

    오픈 소스 소프트웨어는 또한 개발자가 "거인의 어깨에 서서"자신의 소프트웨어를 만들 수있게합니다. Witness Android 및 Chrome OS : Linux 및 기타 오픈 소스 소프트웨어를 기반으로하는 운영 체제입니다. 애플의 OS X의 코어 - iOS -도 오픈 소스 코드를 기반으로 만들어졌다. Valve는 Steam 게이밍 플랫폼을 Linux에 이식하는 작업에 격렬한 노력을 기울이고 있습니다. Microsoft의 Windows에서는 가능하지 않은 방식으로 자체 하드웨어를 만들고 자신의 운명을 제어 할 수 있기 때문입니다..


    이것은 포괄적 인 설명이 아니며 전체 서적이이 주제에 쓰여졌습니다. 그러나 이제는 오픈 소스 소프트웨어가 실제로 무엇인지 그리고 왜 그것이 유용했는지에 대해 더 잘 이해해야합니다.