오픈 소스 소프트웨어 란 무엇입니까? 오픈 소스 및 FOSS 설명

사용하는 모든 소프트웨어의 기본은 명령을 실행하고 소프트웨어가 수행 할 수 있도록 데이터를 처리하는 소스 코드입니다. 누가 소스 코드를보고, 변경하거나, 재배포 할 권리를 가져야하는지에 대한 질문은 오랫동안 컴퓨팅 세계에서 근본적인 이념적 분열 중 하나였습니다.

이름에서 알 수 있듯이 오픈 소스 소프트웨어의 지지자들은 개방성 측면에 있습니다. 그들은 사람들이 사용하는 소프트웨어의 소스 코드에 액세스 할 권리가 있어야한다고 생각합니다. 그러나 우리가 보게 될 것처럼 실제로는 그 레이블에 속하는 많은 다양성이 있습니다. 다양한 종류의 오픈 소스 소프트웨어가 여러분이 생각할 수있는 거의 모든 틈새 시장에 존재합니다. 사실 오픈 소스가 그 대부분을 지배합니다.

오픈 소스 소프트웨어는 무엇이며 자유 소프트웨어는 무엇이며 서로 다른가요?

오픈 소스 소프트웨어의 간결한 정의는 기본 코드를 검사, 변경 및 재배포 할 수있는 소프트웨어라는 것입니다. (조금 더 길고 공식적인 정의가 있습니다.)“변경 및 재배포 된”부분은 오픈 소스 철학의 핵심입니다. 이름이 의미하는 바에도 불구하고 단순히 소스 코드를 열어 사람들이 볼 수 있도록한다고해서 오픈 소스가되는 것은 아닙니다.

어떤면에서 "오픈 소스 소프트웨어"라는 용어는 복고풍입니다. 컴퓨터 과학의 초기 수십 년 동안 소프트웨어의 소스 코드는 당연히 사용 가능했으며 연구자와 산업 과학자간에 자유롭게 교환되었습니다. 컴퓨터는 거의 없었고 사용자가 광범위하게 수정할 것으로 예상되었으므로 사람들은 코드에 액세스해야했습니다. 여러면에서 소프트웨어는 컴퓨터 하드웨어의 추가 기능으로 간주되었습니다. 1974 년까지는 소프트웨어가 저작권의 대상이된다는 것이 합법적으로 입증되기까지했습니다. 그러나 1970 년대 후반에 마이크로 컴퓨터 시대가 시작되면서 업계는 소프트웨어가 그 자체로 금전적 가치를 지닌 것이며 소프트웨어 제작자를 보호하기 위해 기본 코드에 대한 액세스를 제한 할 수 있고 제한해야한다는 입장으로 전환하기 시작했습니다. '권리.Microsoft의 첫 번째 제품인 Altair BASIC 인터프리터의 광범위한 불법 복제에 대해 불만을 제기하는 Bill Gates의 유명한 1976 년 애호가들에게 공개 서한은 이러한 변화에 대한 분수령 문서입니다.

이러한 새로운 아이디어는 빠르게 성장하는 소프트웨어 산업에 의해 빠르게 채택되었지만 일부 사람들은 이에 반대했습니다. 가장 초기의 반대자 중 하나는 1985 년에 FSF (Free Software Foundation)를 설립 한 Richard Stallman이었습니다. 자유 소프트웨어의 "무료"는 사용자가 원하는대로 코드를 변경하고 배포 할 수있는 자유를 의미합니다. 이런 의미에서 자유 소프트웨어에 돈을 청구하는 것에 대한 규칙은 없습니다. 자유 소프트웨어는 후자의 진영에 속하며 "무료 맥주에서와 같이 무료"와 "발언의 자유에서와 같이 무료"사이에서 종종 구분됩니다.

그럼에도 불구하고 자유 소프트웨어에 대한 아이디어는 결국 물건을주는 것을 좋아하지 않는 민간 산업의 많은 사람들을 긴장하게 만들었습니다. 1998 년 Christine Peterson은 신규 이민자, 특히 영리 기업에서 일하는 사람들이 아이디어에 더 쉽게 접근 할 수 있도록하기 위해 부분적으로 "오픈 소스"라는 문구를 만들었습니다. Stallman은 오픈 소스라는 용어에 저항하면서 자유 소프트웨어라는 원래의 정치적, 철학적 아이디어에서 벗어났다고 말했지만이 개념을 설명하는 지배적 인 문구가되었습니다. 무료 및 오픈 소스 소프트웨어의 벤 다이어그램은 가끔 FOSS (무료 및 오픈 소스 소프트웨어)라는 약어로 결합 될 정도로 충분히 겹칩니다 . 일반적으로 모든 무료 소프트웨어는 오픈 소스이지만 오픈 소스 소프트웨어의 일부에는 무료가 아니라는 것을 의미하는 라이선스 조건이 있습니다 (잠시 오픈 소스 라이선스에 대해 자세히 설명합니다).

"독점 소프트웨어 : 무료 및 오픈 소스 소프트웨어의 개념은 다른 retronym 정의에 상승했다 " 오픈 소스가 아닌 임의의 소프트웨어를.

오픈 소스 소프트웨어 라이선스

오픈 소스 소프트웨어와 관련된 모든 권리와 책임은 소프트웨어가 배포되는 라이선스에 의해 설정됩니다. 소프트웨어가 저작권의 대상이라는 법적 원칙이 확립됨에 따라 저작권 소유자와 사용자 간의 계약을 제공하기 위해 소프트웨어 라이센스가 작성되기 시작하여 사용자에게 개인용 컴퓨터에서 소프트웨어를 실행할 수있는 권한을 부여했습니다.

소프트웨어 라이선스는 원래 사용자 행동을 제한하고 소프트웨어 제조업체의 권리를 보호하기 위해 존재했습니다. 그러나 자유 소프트웨어 옹호자들은 라이선스의 원래 목적을 뒤집을 수 있다는 사실을 깨달았습니다. 소프트웨어 패키지의 라이선스는 소프트웨어를 사용하는 모든 사람이 기본 코드를 사용할 수 있어야하며 사용자는 해당 코드를 편집하고 재배포 할 권리가 있어야합니다. 첫 번째 오픈 소스 소프트웨어 라이선스 (기간 이전에)는 아마도 FSF의 Stallman이 작성한 Emacs 텍스트 편집기 버전에 대해 1985 년에 발표 된 GNU Emacs 복사 허가 통지 일 것입니다.

그 이후로 무료 및 오픈 소스 라이선스의 수가 급증하여 라이선스 코드 사용에 대해 각각 약간 다른 조건을 설정했습니다. Wikipedia는 가장 중요한 라이선스에 대한 세부 정보가 포함 된 꽤 좋은 차트를 유지합니다. 정의에 따라 이러한 오픈 소스 라이선스는 사용자에게 소스 코드를 읽고, 편집하고, 재배포 할 수있는 세 가지 기본 자유를 부여합니다. 그들이 다른 주요 영역은 재배포에 부과하는 용어입니다.

  • 허용 라이선스를 사용하면 적절하다고 판단되는 모든 소스 코드를 재배포 할 수 있습니다. 예를 들어 허용 라이센스에 따라 릴리스 된 소스 코드를 가져 와서 자신의 소프트웨어에 통합 한 다음 독점 라이센스에 따라 해당 소프트웨어를 릴리스 할 수 있습니다. BSD 라이선스는 가장 유명한 허용 라이선스 중 하나입니다.
  • 카피 레프트 라이선스 에는 라이선스 코드가 포함 된 재배포 코드도 유사한 라이선스로 출시되어야합니다. FSF의 GNU Public License (GPL)의 다양한 버전은 카피 레프트 라이선스이며, 그들의 목표는 개발자가 프로젝트에 오픈 소스 코드를 통합하여 얻은 혜택을 공유하여 지불하도록하는 것입니다.

이러한 라이선스의 아이디어가 소프트웨어 세계를 넘어서 확산되었다는 사실은 흥미 롭습니다. 크리에이티브 커먼즈는 서면 또는 시각 예술 작품에 유사한 용어를 적용하기위한 법적 기반입니다.

오픈 소스 정의와 오픈 소스 이니셔티브

오픈 소스는 본질적으로 단일 엔티티 또는 조직에 의해 제어되지 않습니다. 1998 년에 Bruce Perens와 Eric S. Raymond를 포함한 저명한 개발자 그룹은 대규모 소프트웨어 산업 내에서 오픈 소스를 옹호하는 데 전념하는 비영리 단체 인 OSI (Open Source Initiative)를 설립했습니다. OSI는 1999 년에 오픈 소스라는 용어를 상표로 등록하려고 시도했지만 실패했습니다. 그럼에도 불구하고 그들의 공식적인 오픈 소스 정의는 합의에 의해 오픈 소스라고 부르는 모든 라이선스가 따르는 프레임 워크입니다. 오픈 소스 정의는 이미 논의한 코드를 조사, 수정 및 재배포 할 수있는 자유 외에도 특정 목적이나 분야에 코드가 사용되는 것을 방지하는 특정 그룹이나 사람을 차별하는 라이선스를 금지합니다. 또는 특정 장치 또는 장치 유형에서 실행됩니다.

오픈 소스 개발 및 오픈 소스 프로젝트

오픈 소스 코드를 사용한 개발은 대학에서 대기업에 이르기까지 모든 종류의 환경에서 이루어지며 종종 다른 종류의 소프트웨어 개발과 동일한 패턴을 따릅니다. 그러나 오픈 소스와 관련된 특정 종류의 개방형 커뮤니티 개발 프로세스가 있습니다. 그의 영향력있는 에세이 인 "The Cathedral and the Bazaar"에서 Eric S. Raymond는 누구나 코드에 액세스 할 수있는이 프로세스에 대한 자신의 비전을 설명했습니다.이 프로세스는 널리 분산 된 개발자 그룹의 코드베이스에 추가됩니다. 그들의 관심이 지시합니다.

이러한 유형의 오픈 소스 개발은 오픈 소스 프로젝트를 중심으로 구성됩니다 . 이들은 때로는 단일 소프트웨어 및 때로는 전체 관련 응용 프로그램 집합에서 작동합니다. 버전 제어 소프트웨어는 모든 사람의 기여도를 유지합니다. GitHub가 아마도 가장 인기가있을 것입니다.

때로는 한 사람에 의해 시작되는 오픈 소스 프로젝트는 일반적으로 자체 조직 된 소규모 인터넷 커뮤니티이며 누구나 모든 프로젝트에 기여할 수 있지만 대부분은 비교적 적은 수의 개발자가 작업합니다. 때로는 프로젝트가 생산하는 소프트웨어를 사용할 계획이있는 영리 기업의 후원을받을 수 있으며 프로젝트의 가장 저명한 개발자를 급여에 넣을 수도 있습니다.

오픈 소스 예

실제로 오픈 소스 소프트웨어는 어디에나 존재하며 현대 인터넷의 기반을 많이 만듭니다. 아마도 가장 유명한 오픈 소스 프로젝트는 수백만 대의 서버를 지원하는 오픈 소스 Unix 변종 인 Linux 일 것입니다. 다른 유명하고 매우 중요한 프로젝트로는 Apache 웹 서버, MySQL 데이터베이스 및 WordPress가 있습니다. Ruby on Rails에서 Microsoft의 .Net Core에 이르기까지 수많은 개발 프레임 워크가 오픈 소스로 출시되었습니다.

오픈 소스는 일반 사용자를위한 가정용 컴퓨터 소프트웨어를 생산하는 데 덜 성공적이었습니다. Microsoft Word 및 Adobe Photoshop과 같은 독점 소프트웨어 패키지의 높은 비용에도 불구하고 OpenOffice 및 GIMP와 같은 오픈 소스 제품은 열성적인 애호가 이상의 틈새 시장을 찾지 못했습니다. 사용하다. (독점 공급 업체의 파일 형식 고정은 도움이되지 않았습니다.) 1990 년대 후반부터 오픈 소스 OS가 데스크톱을 장악하는 데 1 년 밖에 걸리지 않는다고 주장해온 Linux조차도 실제로 소비자 공간. 일반적으로 오픈 소스는 최종 사용자 소프트웨어보다 인프라에 훨씬 더 많이 사용됩니다.그러나 클라우드 기반 인프라는 대부분 오픈 소스가 지배하는 스택을 기반으로하므로 로컬에서 실행하는 모 놀리 식 소프트웨어에서 SaaS 앱으로의 이동은 오픈 소스로의 이익이었습니다.

오픈 소스를 지원하는 영리 기업에 대해 우리가 말한 것을 기억하십니까? 종종 이러한 프로젝트는 허용 라이선스에 따라 생성되므로 해당 회사는 커뮤니티 프로젝트와 동시에 별도의 오픈 소스 코드베이스를 유지하면서 독점 제품의 핵심에 오픈 소스 코드를 배치 할 수 있습니다. 예를 들어, 안드로이드 모바일 OS는 그 핵심에 리눅스를 가지고 있습니다. Apple의 모든 모바일 및 데스크톱 OS는 원래 BSD Unix에서 파생 된 오픈 소스 운영 체제 인 Darwin을 기반으로합니다. Google의 Chrome조차도 Chromium이라는 오픈 소스 브라우저를 기반으로합니다.

오픈 소스 커뮤니티와 오픈 소스 운동

오픈 소스는 단순한 개발 프로세스가 아닙니다. 사람들이 열정을 가지고 있다는 철학이고, 프로그래밍 기술을 가진 사람이라면 누구나 참여할 수있는 소셜 커뮤니티입니다. 사실, 그것은 리눅스 재단이 말했듯이 전체적인 일련의 커뮤니티입니다. (Linux Foundation 및 OSI와 같은 비영리 단체의 존재는 그 커뮤니티의 중요한 측면입니다.) Florian Effenberger는 오픈 소스 커뮤니티가 어떻게 그의 삶을 풍요롭게했는지에 대한 훌륭한 에세이를 가지고 있습니다.

사람들이 정치와 옹호를 함축하는 오픈 소스 또는 자유 소프트웨어 운동에 대해 이야기하는 것을 자주 듣게 될 것입니다. 오픈 소스 커뮤니티의 많은 사람들은 다양한 이유로 오픈 소스 소프트웨어의 광범위한 채택을 촉구했습니다. 그들은 오픈 소스가 본질적으로 더 나은 코드를 생성한다고 생각하거나 소스 코드에 대한 액세스가 컴퓨터 사용자가 누려야 할 기본적인 권리라고 생각합니다. 또는 둘의 조합. 커뮤니티의 이러한 측면은 오늘날 눈에 잘 띄지 않는 것처럼 보이지만 여러면에서 오픈 소스가 승리했기 때문일 수 있습니다. 2001 년 당시 마이크로 소프트 CEO 인 스티브 발머 (Steve Ballmer)는 오픈 소스 라이선스로 인해 리눅스가 "접촉하는 모든 것에 지적 재산권 측면에서 부착되는 암"이라고 말했다. 오늘날 Microsoft는 오픈 소스 소프트웨어의 광범위한 사용자이자 제작자입니다.이것은 간단히 말해서 지난 20 년간의 오픈 소스 역사입니다.

오픈 소스 소프트웨어 다운로드

오픈 소스 프로젝트를 탐색하고 수정하고 싶습니까? opensource.com의 프로젝트 및 애플리케이션 페이지, GitHub의 탐색 탭 또는 오픈 소스 개발 네트워크의 소프트웨어 맵을 확인하십시오. 모든 기술 수준의 호기심 많은 사람들이 있습니다.