이 섹션에서는 오픈 소스, 오픈 표준 및 폐쇄 소스 소프트웨어의 정의와 이들 간의 비교를 제공합니다. 또한 이 세 가지 요소를 함께 사용하여 우리 모두가 의존하는 기술 솔루션을 제공하는 방법에 대한 개요도 제공합니다.
이 섹션이 끝나면 다음을 수행할 수 있습니다:
-
오픈 소스, 오픈 표준 및 폐쇄 소스 소프트웨어를 정의합니다.
-
세 가지 개념의 차이점과 유사점을 설명할 수 있습니다.
-
세 가지 개념이 함께 작동하는 방식을 이해합니다.
Wikipedia에 따르면:
오픈 소스 소프트웨어 (OSS)는 저작권 소유자가 사용자에게 소프트웨어를 연구, 변경 및 배포할 수 있는 권한을 사용자에게 부여하는 라이선스 하에 소스 코드가 공개된 컴퓨터 소프트웨어 유형입니다. 오픈 소스 소프트웨어는 공동의 공개 방식으로 개발될 수 있습니다.
Let's break down this definition and explore it a bit:
컴퓨터 소프트웨어
컴퓨터 소프트웨어는 작성자가 작성한 프로그램 또는 펌웨어를 말합니다. 소프트웨어 작성자는 한 명 또는 여러 명이 될 수 있으며 회사를 대신하여 작업을 수행할 수도 있습니다. 프로그램은 '소스 코드'를 '바이너리 형식'으로 알려진 변환을 통해 달성되는 기계 판독 가능 형식을 통해 특정 컴퓨터에서 실행할 수 있습니다.
소스 코드
소스 코드는 컴퓨터가 실행할 알고리즘이나 아이디어를 나타내는 데 사용되는 사람이 읽을 수 있는 명령 집합을 나타냅니다. 많은 컴퓨터 언어를 사용하여 소스 코드를 작성할 수 있으며 컴파일 또는 실시간 해석 과정을 통해 기계가 읽을 수 있는 이진 형식으로 변환됩니다. 소스 코드가 있으면 소프트웨어를 연구하고 효율적으로 수정할 수 있습니다.
라이선스
라이선스는 소프트웨어 및/또는 소스 코드와 관련된 법적으로 집행 가능한 일련의 행위, 프로세스 또는 계약 의무, 의무 또는 권리를 기록하고 공식적으로 표현 하는 법적 문서입니다.
연구, 변경 및 배포
오픈 소스 소프트웨어의 기본 구성 요소는 개인이 소프트웨어를 연구하고 자신의 목적에 맞게 변경한 다음 변경 사항을 어떤 목적으로든 다른 사람에게 재배포할 수 있도록 다양한 오픈 소스 라이선스가 부여하는 자유입니다. 변경된 버전에 대한 요구 사항은 사용하는 오픈 소스 라이선스의 유형에 따라 다릅니다. 이에 대한 자세한 내용은 이 과정 시리즈의 이후 모듈에서 제공됩니다.
협업적 공개 매너
라이선스가 제공하는 자유로 인해 인기 있는 오픈 소스 소프트웨어를 중심으로 대규모의 다양한 커뮤니티가 형성되어 혁신을 주도하고 기업이 이러한 소프트웨어 프로젝트에 기여하고 이익을 얻을 수 있기 때문에 협업적 공개 매너가 중요합니다. Linux는 그러한 커뮤니티 중 하나의 주요 예이지만 Apache Web Server, Kubernetes 및 OpenStack과 같은 다른 커뮤니티도 많이 있습니다.
오픈 소스 소프트웨어가 아닌 소프트웨어는 폐쇄 소스 소프트웨어입니다. 다음은 Wikipedia 정의를 기반으로 하는 비오픈 소스 소프트웨어에 대한 설명입니다:
종종 독점 소프트웨어 라고도 하는, 폐쇄형 소스 소프트웨어는 소프트웨어 게시자 또는 다른 사람이 오픈 소스 소프트웨어에 허용된 것 이상의 지적 권리(일반적으로 소스 코드의 저작권 이지만 때로는 특허권도 포함)를 보유하는 비자유 컴퓨터 소프트웨어입니다 .
이전과 마찬가지로 이 정의를 약간 풀고 몇 가지 핵심 요소를 살펴보겠습니다.:
폐쇄 소스
오픈 소스와 달리 폐쇄 소스 소프트웨어의 사람이 읽을 수 있는 지침은 소프트웨어 작성자가 사용할 수 없습니다. 컴퓨터에 전달되고 설치된 것은 기계가 읽을 수 있는 형식일 뿐입니다. 예를 들어 Microsoft Office와 같은 인기 있는 프로그램은 이러한 방식으로 제공됩니다.
무료 아님
여기서 자유롭지 않다는 것은 저자(들)가 프로그램을 연구, 수정 또는 재배포하는 것을 금지하는 오픈 소스 소프트웨어가 아닌 라이선스에 따라 배포한다는 사실을 나타냅니다. 사용료가 있을 수도 있고 없을 수도 있습니다.
지적 권리
작성자는 소스 코드뿐만 아니라 프로그램 설계에 사용된 아이디어 및/또는 알고리즘에 대한 액세스 권한을 보유합니다.
여기서 또 다른 주요 차이점은 폐쇄 소스 소프트웨어가 일반적으로 외부 커뮤니티 구성원과 협력하지 않는 개발자 팀(일반적으로 기업에서 일하지만 항상 그런 것은 아님)이 설계하고 개발한다는 것입니다(일반적으로 오픈 소스 소프트웨어에서 수행되는 것처럼).
'오픈 표준'이 무엇인지에 대한 다양한 정의가 있으며 여기에서 그 일부를 통합할 수 있습니다.:
오픈 표준 은 공개적으로 이용 가능하고 로열티가 없으며, '표준'은 모든 이해 당사자가 참여할 수 있고 합의에 따라 운영되는 공식 위원회에서 승인한 기술을 의미합니다. 오픈 표준은 공개적으로 사용 가능하며 협업 및 합의 기반 프로세스를 통해 개발, 승인 및 유지 관리됩니다.
또한, 오픈 표준은 오픈 소스 소프트웨어에서 구현을 준수하는 것을 금지해서는 안 됩니다.
여기서도 조금 더 깊이 들어가 보겠습니다:
공개적으로 사용 가능
표준은 무료로 대중에게 제공됩니다.
로열티 프리
이것은 오픈 표준과 비오픈 표준의 중요한 차이점입니다. 이는 기업으로부터 라이선스를 취득하지 않고도(또는 기업에 비용을 지불하지 않고도) 표준을 활용하여 솔루션을 구축할 수 있는 능력이 보다 폭넓게 채택되는 데 가장 중요합니다.
협업 및 합의 기반 프로세스
이것은 이제 오픈 소스에 대한 이전 정의에서 여러분에게 친숙할 것이며, 더 넓은 관점과 다양한 회사와 개인이 광범위하게 채택할 수 있는 최상의 기회를 모두 허용하기 때문에 여기에서도 중요합니다. 또한 때로는 표준을 정의하는 데 시간이 오래 걸립니다.
준수 구현
이는 승인된 오픈 소스 라이선스와 오픈 소스의 공식 정의를 모두 유지하는 데 도움이 되는 산업 컨소시엄인 OSI(Open Source Initiative)에서 제시한 특정 정의입니다. OSR(Open Standards Requirement)은 이 정의에 추가하여 표준 자체를 준수하는 오픈 소스 소프트웨어를 구축하는 것을 방해하는 표준의 정의에 어떤 내용도 포함되어서는 안 된다는 점을 추가로 명확히 하고 있습니다. 이를 준수하면 표준을 사용하는 사람들에게 구현을 선택할 때 선택할 수 있는 오픈 소스와 폐쇄 소스 옵션이 모두 있다는 확신을 갖게 됩니다.
우리가 매일 의존하는 많은 표준이 있습니다. TCP/IP (인터넷 통신의 기본 표준), HTTP (월드 와이드 웹 뒤의 프로토콜), HTML (웹 페이지 작성자가 콘텐츠 형식 지정에 사용하는 언어 ), GSM (세계 대부분의 휴대 전화 통신 표준), ODF (다양한 워드 프로세서 간에 문서를 교환하는 데 사용되는 개방형 문서 형식) 및 PDF (인쇄용 문서를 생성하는 데 사용되는 휴대용 문서 형식).
많은 경우 이러한 표준의 오픈 소스 구현이 있어 많은 개인과 조직이 이러한 기술을 구축하고 발전시키는 데 참여할 수 있습니다.
믹싱 및 매칭
오늘날의 기술 환경에서 이 세 가지 요소(오픈 소스, 오픈 표준, 폐쇄 소스 소프트웨어) 중 하나만 단독으로 사용되는 경우는 거의 없습니다.
대부분의 경우 Apache Web Server의 HTTP 구현과 같은 오픈 표준의 오픈 소스 구현을 경험하게 되지만 키 관리를 구현하는 암호화 소프트웨어 회사와 같이 오픈 표준을 구현하는 폐쇄 소스 소프트웨어의 인스턴스도 찾을 수 있습니다. 키 관리 상호 운용성 프로토콜(KMIP) 표준으로 많은 공급업체 및 기타 오픈 소스 소프트웨어 간의 상호 운용성을 허용합니다.
Windows 및 Mac OS X와 같은 폐쇄 소스 운영 체제에서 인기 있는 오픈 소스 Firefox 브라우저를 사용하는 사람들의 경우와 같이 오픈 소스 소프트웨어와 함께 사용되는 폐쇄 소스 소프트웨어도 볼 수 있습니다. Linux와 같은 오픈 소스 운영 체제도 증권 거래소 애플리케이션 및 기타 금융 소프트웨어와 같은 폐쇄 소스 애플리케이션을 실행합니다.
이 섹션에서 우리는 자유 소프트웨어 운동의 뿌리와 오픈 소스 소프트웨어의 후속 탄생에 대한 간략한 개요를 제공할 것입니다. 우리는 실용주의와 이상주의가 어떻게 조직에서 비즈니스 및 기술 전략의 중요한 구성 요소가 되는 오픈 소스로 작용했는지에 대한 논의를 포함할 것입니다. 이 공간에서 열린 표준 플레이의 진화에 대한 짧은 토론도 있을 것입니다.
이 섹션이 끝나면 다음을 수행할 수 있습니다:
-
자유 소프트웨어 운동이 어떻게 오픈 소스를 탄생시켰는지 설명하십시오.
-
이상주의 대 실용주의 개념이 오픈 소스 채택에 어떤 영향을 미쳤는지 설명하십시오.
-
이상주의 대 실용주의 개념이 오픈 소스 채택에 어떤 영향을 미쳤는지 설명하십시오.
소프트웨어의 공유는 컴퓨터 시대의 시작부터 계속되었습니다. 사실, 소프트웨어를 공유하지 않는 것은 예외일 뿐 규칙은 아닙니다. 오픈 소스 소프트웨어(OSS) 의 개념은 이 용어의 사용보다 오래 전에 사용되었습니다. 소프트웨어 초창기의 자세한 역사를 보려면 Wikipedia를 포함하여 확인할 수 있는 많은 리소스가 있지만 여기서는 압축된 버전을 제공합니다. 이 진화의 특정 세부 사항에 대해 많은 의견 불일치가 있지만 기본 일정을 이해하는 것이 중요합니다.
컴퓨팅 초창기(1950~1960년대)에 소프트웨어는 주로 초기 컴퓨터 회사에서 일하는 학계와 기업 연구원에 의해 생산되었습니다. 작성하는 것은 어렵고 시간이 많이 걸리며 일반적으로 public-domain 의 작품으로 공유됩니다 . 이 작품은 개별 작가나 예술가의 소유가 아닙니다. 누구나 허가 없이 public-domain 저작물을 사용할 수 있지만 누구도 소유할 수 없습니다. 소프트웨어를 실행하려면 특수(고가의) 컴퓨터 하드웨어가 필요했기 때문에 소프트웨어는 그 자체로 상품으로 간주되지 않았습니다.
1960년대 후반에 컴퓨터 운영 체제와 컴파일러 기술이 다양한 컴퓨터 플랫폼에서 실행되는 효과적인 소프트웨어를 구축하는 것이 덜 번거롭게 되면서 상황이 바뀌기 시작했습니다. 이것은 소프트웨어 전용 회사의 부상으로 직접 이어졌고 1974년 소프트웨어가 저작권의 권리를 획득하면서 소프트웨어가 이 회사들이 보호하기 위해 싸운 중요한 상품이 되기 위해 주사위가 던져졌습니다.
1970년대 후반과 1980년대 초반에는 사람이 읽을 수 있는 소스 코드 없이 기계가 읽을 수 있는 코드만 배포하는 추세가 증가했습니다. 1980년대 초, MIT 연구원 Richard Stallman은 GNU 운영 체제(나중에 인기 있는 Linux 커널에 영감을 줌)가 될 것을 작성하는 프로젝트를 시작했습니다. 이 기간 동안 그는 자유 소프트웨어 재단(Free Software Foundation)을 설립하고 자유 소프트웨어 정의(Free Software Definition) 를 작성하여 MIT에서 만든 소프트웨어에 대한 통제권을 변경하고 채택한 기업의 이익을 되돌려 받았습니다.
자유 소프트웨어 재단의 명성에 대한 다른 주요 주장은 '카피레프트' 개념을 사용하여 자유 소프트웨어를 받는 사용자가 자유 소프트웨어에 대한 변경 사항을 사용할 수 있도록 요구하는 GNU 공중 사용 허가서(GPL)의 생성입니다. Linus Torvalds(리눅스 운영 체제의 창시자)는 1991년 GPL 라이선스가 있는 첫 번째 커널을 출시했습니다. 우리가 이제 알다시피, 그것은 세계 기술의 상당 부분을 위한 기초가 되었습니다.
1997년 Eric S. Raymond 는 이전 학계의 해커 커뮤니티와 자유 소프트웨어 원칙에 대한 분석인 The Cathedral & The Bazaar를 출판 했는데, 이는 1998년에 '오픈 소스'라는 용어를 만든 Christine Peterson을 비롯한 여러 업계 및 자유 소프트웨어 개인의 전략 회의로 이어졌습니다. 소프트웨어.' 다음 섹션에서는 이러한 '브랜드' 변경의 이유를 살펴보겠습니다.
'자유 소프트웨어'와 '오픈 소스 소프트웨어' 사이의 명명 논쟁의 중심에는 영어의 기이함이 있습니다. 특히 '무료'의 두 가지 다른 의미는 다음과 같습니다.:
-
언론의 자유, 배포의 자유
-
무료 또는 "무료 맥주"에서 흔히 말하는 무료
크리스틴 피터슨(Christine Peterson)과 '오픈 소스' 옹호에 관련된 다른 사람들은 여기에서 무료의 개념을 명확히 하려고 시도했습니다. 소스 코드가 검사, 재배포 및 수정을 위해 공개될 것임을 분명히 했습니다. 더 많은 기업이 이러한 소프트웨어 에코시스템에 참여함에 따라 오픈 소스가 주목을 받았는데, 이는 주로 '자유' 소프트웨어가 '전문적으로' 개발한 코드만큼 가치가 없다는 인식 때문이었습니다. 실제로 양질의 오픈 소스 소프트웨어의 양은 계속 증가할 뿐이며 대부분이 전문적으로 개발되었습니다
기업의 참여가 증가하면서 Free Software Foundation 옹호자와 오픈 소스 커뮤니티의 세계관이 분기되었습니다. 특히, 이것은 이상주의 대 실용주의를 중심으로 합니다.
이상주의
여기서 "free"는 맥주가 아닌 자유를 의미합니다. 모든 소프트웨어는 기술적인 이유가 아니라 이념적, 윤리적 이유로 열려 있어야 한다는 깊은 믿음이 있습니다.
실용주의
여기에서 주요 고려 사항은 더 많은 기여자와 검토자가 참여하는 더 빠르고 더 나은 개발, 더 쉬운 디버깅 등을 포함한 기술적인 고려 사항입니다.
보다 이데올로기적인 관점에는 강력한 기술적 요구 사항도 있으며 많은 경우 두 흐름의 목표가 일치한다는 점에 유의하는 것이 중요합니다. 예를 들어:
-
생명을 구하는 의료 기기(예: 심박 조율기 또는 인슐린 펌프)를 구동하는 소프트웨어는 비밀이어야 합니까? 우리는 그러한 장치를 제어하는 것이 무엇인지 알 권리가 없습니까? 그들이 우리를 죽일 수 있는 외부 공격에 취약하지 않다는 것을 어떻게 알 수 있습니까?
-
투표 기계에 전원을 공급하는 소프트웨어를 닫아야 합니까? 표로 작성된 결과의 무결성을 존중할 수 있다고 어떻게 확신할 수 있습니까? 이것은 실험 후 실험에서 폐쇄형 소스 투표 기계가 보안 취약점으로 가득 찬 것으로 나타났을 때 특히 사실입니다.
불행하게도, 오픈 소스에 대한 이 두 가지 태도 사이의 갈등은 종종 가혹하고 파괴적이었습니다. 끝날 것 같지 않습니다. 그러나 실용주의적 접근 방식은 기업의 인수로 인해 대부분의 경제적 자원을 뒷받침하고 있으며, 더 철학적인 진영은 항상 지지자를 결정한다는 점에 주목하는 것이 중요합니다. 오픈 소스 작업의 대부분은 이 두 극단 사이의 어딘가에서 발생하지만 각각이 가치 있는 경계를 제공하기 위해 존재하는 것이 중요합니다.
여러 면에서 표준의 진화는 자유 소프트웨어에서 오픈 소스로의 진화를 반영합니다. 이 경우 폐쇄 표준, 사실상 표준, 오픈 표준의 세 가지 표준이 발전하기 시작했습니다.
비오픈 표준은 공개적으로 사용할 수 없으며 구현자가 제3자에게 로열티를 지불하도록 요구하거나 둘 다입니다. 예를 들어, 4G, Bluetooth 또는 WiFi를 포함하여 일반인이 인식하는 가장 일반적인 무선 표준은 폐쇄형 표준입니다. 이러한 표준에는 액세스 또는 지적 재산권 조건에 의해 제한되는 사양이 있습니다.
소프트웨어 시장이 성장하기 시작하고 고객이 해결하는 문제의 종류가 너무 커서 여러 전문 분야가 필요하게 되면서 상호 운용성이 모든 비즈니스의 핵심 요구 사항이 될 것이 분명해졌습니다.
고객은 문제를 해결할 수 있는 동급 최고의 솔루션을 제공하는 이기종 시스템을 허용하도록 공급업체에 압력을 가하기 시작했습니다. 이를 가능하게 하기 위해 오픈 표준이 개발되기 시작하여 많은 사람들이 응용 프로그램과 시스템 간에 데이터를 효과적으로 이동하는 방법에 대해 협력할 수 있었습니다. 일부 오픈 표준은 의도적인 표준으로 시작되지 않았습니다. 일부는 광범위한 채택을 통해 사실상 표준이 된 오픈 소스 프로젝트로 시작했습니다 . 가장 일반적인 예는 Linux가 세계 상위 500대 슈퍼컴퓨터의 100%를 구동하는 고성능 컴퓨팅과 같은 장치 클래스에 대한 사실상의 표준이 된 Linux 커널입니다.
여기에 나열하기에는 너무 많은 오픈 표준이 있지만 Wikipedia 에서 합리적으로 좋은 목록을 찾을 수 있습니다 . 그 목록을 자세히 살펴보면 여러분이 알고 있는 것(TCP/IP, PDF)과 의존하지만 많이 알지 못하는 것(HTML, USB)을 찾을 수 있습니다.
이러한 역사적 배경을 제공하는 주된 이유는 이전에 있었던 일을 알려주는 동시에 소프트웨어 및 기술 산업에서 어떤 것도 고정되어 있지 않다는 것을 상징하기 때문입니다. 자유 소프트웨어의 이상주의적 측면과 실용주의보다 상업적인 가치 사이의 균형에 대한 질문은 항상 있을 것입니다.
또한 컴퓨팅의 윤리적 측면과 이것이 라이선스에서 지적 재산 및 협업 모델에 이르기까지 모든 것에 영향을 미치는 방식에 대해 생각하는 움직임이 커지고 있습니다.
우리가 오픈 소스와 오픈 표준에서 어디에서 왔는지 이해하면 미래에 어디로 가야 하는지 적절하게 평가할 수 있는 컨텍스트를 얻을 수 있습니다.
이 섹션에서는 오픈 소스의 커뮤니티 및 협업 모델이 엔터프라이즈급 소프트웨어의 지속적이고 효율적인 개발을 보장하는 방법에 대한 개요를 제공합니다. 또한 가치 향상을 위해 오픈 소스와 오픈 표준을 효과적으로 결합할 수 있는 몇 가지 잠재적인 방법에 대해서도 논의할 것입니다.
이 섹션이 끝나면 다음을 수행할 수 있습니다:
-
오픈 소스의 커뮤니티 및 협업 모델을 설명합니다.
-
오픈 소스가 기업에 가치를 제공하는 확실한 비즈니스 이유를 설명하십시오.
-
기술 솔루션의 전반적인 가치를 높이기 위해 오픈 소스와 오픈 표준을 결합하는 방법을 설명합니다.
마법처럼 모든 오픈 소스 개발을 가능하게 하는 신화적인 '오픈 소스 커뮤니티'는 없습니다. 다양한 유형의 문화를 가진 다양한 오픈 소스 커뮤니티가 있습니다. 그러나 커뮤니티 구성은 학계/기업/공유/해커 사고방식에 뿌리를 둔 초기 컴퓨터 시대로 거슬러 올라갑니다. 거의 모든 커뮤니티에는 다음과 같은 주요 특성이 있습니다:
-
개발 자원의 지리적 분포
-
분산된 의사 결정 기능
-
개발 및 의사 결정의 투명성
-
능력주의 - 지속적인 가치 있는 기여를 통해 영향력을 얻습니다.
또한, 대부분의 커뮤니티는 느슨한 수평 구조와 함께 긴밀한 수직 계층 구조를 나타냅니다. 이 구조를 통해 작은 변경 사항(오픈 소스의 공용어)이 위쪽으로 흐르게 하고 상당한 '견제와 균형' 세트를 제공하는 많은 빠른 검토 주기를 거칩니다. 소프트웨어 품질을 보장하는 데 도움이 됩니다.
커뮤니티 조직 구조의 예:
기술 기업 내부의 최신 소프트웨어 개발 팀은 위에 설명된 '애자일' 원칙 중 일부를 공유할 수 있지만 일반적으로 몇 가지 중요한 차이점이 있습니다. 이러한 차이는 좋지도 나쁘지도 않으며 종종 매우 좋은 이유로 존재합니다. 그러나 더 많은 오픈 소스 커뮤니티 참여를 향한 여정을 시작하는 조직에 도전 과제를 제공합니다.
다음은 기업 개발 팀과 다른 오픈 소스 소프트웨어 프로젝트의 가장 중요한 몇 가지 사례입니다:
-
영향력과 위상은 직위나 지위가 전달되지 않습니다. - 능력주의가 그 날을 지배합니다.
-
소스 코드와 의사 결정 모두의 투명성이 가장 중요합니다. - 부수적인 대화나 결정이 없습니다.
-
지리적으로 분산된 팀에 대한 지원이 기본 제공됩니다. - 비동기식 커뮤니케이션 및 문화 모드가 표준입니다.
일부 조직에서는 제공하는 속도와 유연성을 활용하기 위해 오픈 소스 커뮤니티의 교훈을 자체 내부 노력('내부 소스'로 알려진 관행)에 적용했습니다. 이렇게 하면 업스트림 오픈 소스 생태계에 더 쉽게 참여할 수 있는 필요한 제도적 문화를 구축하는 데 도움이 될 수 있습니다.
이제 커뮤니티 개발 모델이 어떻게 보이는지 약간 다루었으므로 모든 규모의 기업이 실제 문제를 해결하는 데 도움이 되는 가치 있는 기술 도구로 오픈 소스를 선택한 몇 가지 이유를 살펴보겠습니다.
기업 내에서 오픈 소스를 사용하면 다음과 같은 이점이 있습니다:
-
속도
-
비용 절감
-
커스터마이징 가능
-
혁신
-
보안
-
비즈니스 이점
-
라이선스의 유연성
다음 몇 섹션에서 이들 각각을 다룰 것입니다.
오픈 소스 소프트웨어는 소프트웨어 개발 주기를 가속화하는 데 중요한 역할을 하는 것으로 입증되었습니다. 가장 눈에 띄는 예 중 하나는 6-12개월 주기로 주요 신제품이 출시되는 모바일 장치 시장입니다. 오픈 소스는 빠른 진화 제공에 필수적입니다.
그렇다면 오픈 소스가 개발 속도를 높이는 방법은 정확히 무엇입니까?
-
오픈 소스 소프트웨어 획득은 구매 주문, 계약, SOW 또는 라이선스 협상 없이 시작하는 것이 더 빠르고 쉽습니다.
-
오픈 소스 배포는 일반적으로 훨씬 빠릅니다. 너무 길고 번거로운 상용 설치, 구성 및 구현 주기와 달리 오픈 소스는
다운로드 후 실행
하는 문화에서 비롯됩니다. -
주요 오픈 소스 프로젝트는 수익 중심 관리 대신 커뮤니티 중심 기능으로 더 빠르게 진화하고 있습니다. 오픈 소스의 빠른 의사 결정(종종 게으른 합의의 한 형태)을 통해 프로젝트는 새로운 기능과 수정 사항을 매우 빠르게 통합할 수 있습니다.
-
광범위한 커뮤니티 테스트를 거치기 때문에 성숙한 오픈 소스의 품질이 더 높은 경우가 많습니다. 실제로 Forrester Research 연구에 따르면 소프트웨어 품질은 92%의 경우 기대치를 충족하거나 초과했습니다.
-
오픈 소스는 소스 코드, 협업 커뮤니티, 인터페이스 및 도구를 사용한 사용자 정의를 지원합니다.
-
혁신적인 제공 방식을 통해 오픈 소스는 일반적으로 몇 주 또는 몇 개월이 아닌 몇 시간 만에 가동되고 실행됩니다.
오픈 소스 소프트웨어를 사용하면 여러 입증된 방법으로 개발 비용을 크게 줄일 수 있습니다:
-
최근 Red Hat 연구에 따르면 오픈 소스는 상용/폐쇄 소스 솔루션에 비해 총 소유 비용이 30% 더 낮습니다.
-
오픈 소스를 사용하면 과도한 기능을 피할 수 있습니다. 많은 폐쇄형 소스 제품에는 클라이언트가 거의 사용하지 않거나 필요로 하거나 원하지 않는 기능이 과부하되어 있습니다. 그리고 그들은 종종 번들로 제공되어 어쨌든 지불해야 합니다.
-
오픈 소스는 공급업체 종속을 방지하고 경쟁을 촉진합니다. 상용 오픈 소스 공급업체가 활용되는 경우에도 응용 프로그램을 변경하지 않고 자유롭게 공급업체를 전환하거나 지원을 중단할 수 있습니다.
-
오픈 소스는 기술에 대한 독점적인 액세스가 없기 때문에 컨설팅, 교육 및 지원 비용도 지원합니다. 종종 공급업체로부터 다중 소스 지원을 받거나 활기찬 개발자 커뮤니티로부터 지원을 받을 수도 있습니다. 많은 회사에서 커뮤니티에서 개발자를 고용하여 구현을 지원하고 업스트림 프로젝트에 수정 사항을 제공합니다.
-
활동적인 커뮤니티는 상용 지원 계약보다 더 높은 품질의 지원을 제공하는 경우가 많으며 무료입니다.
오픈 소스는 타사 소프트웨어 대안 중 가장 높은 유연성을 제공합니다:
-
오픈 소스를 사용하면 공급업체, 비용, 구매 구조 또는 재배포 조건에 얽매이지 않습니다. 오픈 소스는 벤더 독립성과 경쟁력 있는 옵션을 가능하게 합니다.
-
오픈 소스는 배포에 대해 매우 자유로운 계약상 제한이 있는 경우가 많으므로 플랫폼, 사용자 수, 프로세서 수에 대해 최대한의 유연성을 가질 수 있습니다.
-
소스 코드에 액세스할 수 있으므로 필요한 사용자 지정을 만들 수 있으며 다른 사용자에게 가치가 있는 경우 커뮤니티에서 향후 릴리스에서 이를 지원할 수 있습니다.
-
오픈 소스 커뮤니티는 특정 사용 사례에 대한 솔루션을 확장하거나 다른 제품과 통합하기 쉽게 하는 사용자 지정을 장려하고 촉진합니다.
-
건강한 오픈 소스 커뮤니티는 지속적인 지원을 제공하고 개선을 위한 의견과 제안을 장려합니다.
오픈 소스 소프트웨어는 원래 협업을 통해 개발과 혁신을 촉진하는 방법으로 생각되었습니다.
오픈 소스 접근 방식은 혁신에 매우 효과적인 것으로 입증되어 많은 첨단 소프트웨어 기술이 오픈 소스 커뮤니티에 의해 주도되고 있습니다. 예를 들어:
-
인터넷은 주로 오픈 소스 프로젝트의 대규모 모음으로 개발되었습니다.
-
소프트웨어 개발 도구 혁신 및 통합은 대부분 오픈 소스 영역입니다.
-
모바일 통신 분야의 놀라운 혁신 속도는 오픈 소스를 통해서만 가능합니다. Android가 주요 예이지만 Apple의 iOS와 같은 폐쇄 소스 플랫폼도 수백 개의 오픈 소스 소프트웨어 라이브러리 및 구성 요소를 사용하여 대부분 구축됩니다.
-
인터넷의 나머지 부분과 마찬가지로 소셜 미디어 소프트웨어 플랫폼은 오픈 소스 소프트웨어에서 등장하고 이를 통해 성장했습니다.
-
과학 컴퓨팅과 대규모 병렬 컴퓨팅의 영역은 거의 독점적으로 오픈 소스 영역입니다.
많은 오픈 소스 커뮤니티는 참여를 통해 활용하여 혁신을 가속화할 수 있는 급속한 발전을 보여줍니다. 상향식 능력주의의 오픈 소스 정신은 소유권과 책임을 개발 팀으로 되돌립니다.
새로운 소프트웨어 아이디어를 도입하고, 새로운 기능을 테스트하고, 활성 사용자 기반을 확장하는 가장 좋은 방법 중 하나는 오픈 소스 커뮤니티를 이용하는 것입니다.
마지막으로 오픈 소스가 가능하게 하는 혁신은 단순한 기술 혁신이 아닙니다. 오픈 소스 라이선스에서 계약상의 제약이 없기 때문에 창의적이고 새로운 사용, 새로운 배포 계획, 유연하고 창의적인 패키징 및 가격 접근 방식, 기타 형태의 비즈니스 및 시장 혁신이 가능합니다.
불행히도 공격자들은 전 세계의 소프트웨어 시스템을 표적으로 삼고 공격하고 있습니다. 오픈 소스 소프트웨어나 폐쇄 소스 소프트웨어 모두 항상 더 안전하지는 않습니다. 보안은 소프트웨어의 설계, 구현, 검증(테스트 포함) 및 배포 방법과 같은 여러 요소에 따라 달라집니다.
그러나 오픈 소스 소프트웨어는 폐쇄 소스 소프트웨어에 비해 잠재적인 근본적인 보안 이점이 있습니다. 보안 소프트웨어 설계의 핵심 원칙 중 하나는 "개방형 설계"입니다. 즉, 보안 소프트웨어 설계는 모든 사람이 보호 메커니즘이 작동하는 방식을 알고 있다고 가정해야 합니다. 이렇게 하면 전 세계적으로 대규모 피어 리뷰를 통해 보안 취약점을 찾아 소프트웨어가 배포되기 전에 수정할 수 있습니다.
물론 가능성이 항상 실현되는 것은 아닙니다. 보안을 유지하려면 오픈 소스 소프트웨어 프로젝트를 보안을 염두에 두고 개발하고 실제로 검토하고 소프트웨어를 배포하기 전에 이러한 문제를 수정해야 합니다. 많은 오픈 소스 소프트웨어 프로젝트는 이미 이러한 잠재적 이점을 활용하기 위한 조치를 취하고 있으며 Linux Foundation은 다양한 오픈 소스 소프트웨어 프로젝트와 협력하여 이러한 이점을 활용할 수 있도록 돕고 있습니다.
위의 모든 요소는 조직의 소프트웨어 경쟁 우위에 추가됩니다.
-
오늘날과 같이 빠르게 진화하는 시장에서 가장 저렴한 비용으로 가장 빠르게 소프트웨어 솔루션을 지속적으로 생산하는 회사가 승리합니다.
-
이 시점에서 오픈 소스 소프트웨어는 오픈 소스를 효과적으로 사용하지 않으면 조직이 불리한 위치에 놓이게 될 정도로 주류 현상이 되었습니다.
리서치 회사 Gartner는 오픈 소스에 대해 다음과 같이 말했습니다:
"오픈 소스는 유비쿼터스이며 불가피합니다… 오픈 소스에 반대하는 정책을 갖는 것은 비현실적이며 경쟁에서 불리합니다.
최근 McKinsey & Co. 보고서에 따르면 업계 상위 4분위 기업의 "가장 큰 차별화 요소"는 사용자에서 기여자로 전환한 "오픈 소스 채택"이었습니다. 보고서의 데이터에 따르면 상위 4분위 기업의 오픈 소스 채택은 다른 4분위 기업보다 혁신에 3배의 영향을 미칩니다.
지난 몇 년 동안 표준 세계와 더 나은 협력 방법을 찾으려는 오픈 소스 생태계의 추세가 증가했습니다. 때때로 문제가 있지만(주로 두 그룹의 실행 속도 불일치와 관련하여), 둘 사이의 긴밀한 관계를 계속 옹호해야 하는 충분한 이유가 있습니다.
이것이 이미 작동했거나 이미 작동한 프로젝트의 몇 가지 좋은 예가 있습니다.:
-
Linux Foundation의 JDF(Joint Development Foundation) 노력 - 특히 GraphQL
-
사이버 위협 데이터 공유를 위한 기존 오픈 표준의 오픈 소스 참조 구현을 제공하는 OASIS Open의 Open Cybersecurity Alliance
-
IETF의 "거친 합의 및 코드 실행"의 만트라는 OpenDaylight, OPNFV, OpenStack 등과 같은 오픈 소스 프로젝트와 협력하는 많은 오픈 표준으로 이어졌습니다.
표준과 오픈 소스는 서로 다른 속도로 움직이고 서로 다른 방식으로 상호 운용성을 위해 노력하지만 오픈 표준의 오픈 소스 구현을 구축할 수 있다는 것은 전통적으로 주로 표준에 의존해 온 고객 공급망에서 더 많은 오픈 소스 사용을 유도하는 데 도움이 됩니다. 예를 들어, 금융 및 NGO.
또한 표준을 지원함으로써 오픈 소스 생태계는 폐쇄형 소스 소프트웨어와도 상호 운용할 수 있는 능력을 갖게 되어 기업에 더 많은 선택권과 유연성을 제공합니다.