topics 오픈 소스 소프트웨어란? 오픈 소스 소프트웨어란?
오픈 소스 소프트웨어는 개방형 협업을 통해 개발되며, 소스 코드는 누구나 사용, 검토, 변경, 재배포할 수 있습니다.
데스크탑 컴퓨터에서 작업 중인 남성
오픈 소스 소프트웨어란?

오픈 소스 소프트웨어는 개방형 협업을 통해 개발 및 관리되는 소프트웨어이며, 일반적으로 무료로 누구나 원하는 대로 사용, 검토, 변경, 재배포할 수 있습니다. 이러한 특징은 작성자 또는 저작권 보유자가 일반 사용자에게 판매하며, 저작권 보유자가 명시하지 않은 방법으로 편집, 개선 또는 재배포할 수 없는, Microsoft Word, Adobe Illustrator와 같은 독점적 또는 폐쇄형 소스 소프트웨어 애플리케이션과 대조를 이룹니다.

또한 오픈 소스라는 용어는 더 일반적으로 개방형 협업, 포용성, 투명성, 빈번한 공개적 업데이트를 통해 지적 재산(예: 소프트웨어)을 창출하는 것에 대한 커뮤니티 기반 접근 방식을 일컫습니다.

오픈 소스 소프트웨어의 간략한 역사

1970년대 중반까지 컴퓨터 코드는 컴퓨터 하드웨어 운영에 포함되는 것으로 여겨졌으며, 저작권법의 보호 대상인 고유한 지적 재산이 아니라고 간주되었습니다. 조직들은 자체 소프트웨어를 프로그래밍했으며, 코드 공유는 일반적인 관행이었습니다.

CONTU(Commission on New Technological Uses of Copyrighted Works)가 1974년에 제정되면서, 소프트웨어 코드는 저작권법의 보호를 받을 수 있는 창작물의 범주에 속한다고 결론이 내려졌습니다. 이로 인해 독점적 소스 코드를 주된 수입원으로 삼는 독립적 소프트웨어 게시가 하나의 산업으로 급성장했습니다. 개인용 컴퓨팅으로 모든 기업과 많은 가정에서 애플리케이션을 사용하게 되면서 소프트웨어 시장은 경쟁이 과열되었고, 소프트웨어 게시자는 재산권 침해에 대해 점점 더 염려하게 되었습니다.

독점적 소프트웨어의 제한 및 한계에 대한 일종의 반항은 1983년에 시작됐습니다. 프로그래머인 Richard Stallman은 사용자가 자신의 작업을 수행하기 위해 적합한 형식으로 독점적 소프트웨어를 맞춤화할 수 없다는 생각에 언짢아 했습니다. Stallman은 “소프트웨어는 맥주가 아니며 표현처럼 자유로워야 한다”고 생각했으며, 무료로 맞춤화에 사용할 수 있는 소프트웨어라는 개념을 지지했습니다.

Stallman은 Free Software Foundation을 설립하고 애플리케이션 중에서 무엇보다 AT&T가 소유한 Unix 운영 체제에 대한 오픈 소스 대안의 개발을 추진했습니다. 또한 그는 최초의 카피레프트 소프트웨어 라이센스인 GNU GPL(General Public License)를 혁신했습니다. 이 라이센스에 따라 소스 코드를 개선한 사람이면 누구나 그와 마찬가지로 모두에게 무료로 편집된 버전을 게시해야 했습니다.

“The Cathedral and the Bazaar(성당과 시장) ”라는 제목의 Eric S. Raymond의 1997년 에세이는 무료 소프트웨어 운동에서 또 다른 분수령으로 여겨집니다. Raymond는 핵심 그룹(그는 이를 성당이라고 부름)이 모든 개발을 수행하는 독점적 소프트웨어 개발에서 전형적으로 나타나는 폐쇄적 하향식 접근 방식과 인터넷(시장)을 통해 무료로 공유되는 개방적 공개 개발 방식을 대조시켰습니다. 얼마 지나지 않아 Netscape Corporation은 Mozilla 브라우저 코드를 오픈 소스로 공개했으며, 오픈 소스 운동은 정당성을 얻었습니다.

많은 사람들이 Stallman이 사용한 “무료 소프트웨어”라는 용어가 부적절하게 "무료"라는 개념을 강조한다고 느꼈기 때문에 1999년에 "오픈 소스"라는 용어가 채택되었습니다. The Open Source Initiative가 이를 옹호하기 위해 설립되었습니다. 이 조직은 또한 오픈 소스 정의를 통해 이 산업을 위한 기본 규칙을 제정했으며, 호환되는 오픈 소스 라이센스를 호스팅합니다. 현재, 무료 소프트웨어, 오픈 소스 소프트웨어(OSS), 무료 및 오픈 소스 소프트웨어(FOSS) 및 무료/자유-오픈 소스 소프트웨어(FLOSS)라는 용어는 모두 같은 뜻으로 사용됩니다. 즉, 공개적 사용 및 맞춤화가 가능한 소스 코드를 사용하는 소프트웨어를 의미합니다.

엔터프라이즈 및 개인용 컴퓨팅에서 사용되는 오픈 소스

오픈 소스 기술이 인터넷, 비즈니스 컴퓨팅, 개인용 컴퓨팅의 토대를 제공하고 있어 오픈 소스 소프트웨어는 현재 컴퓨팅에서 필수적 역할을 수행합니다. 거의 모든 컴퓨팅 디바이스는 현재 여러 유형의 오픈 소스 코드를 포함하고 있습니다. 이러한 오픈 소스 코드는 일반적으로 기본적 운영과 종종 더욱 고급인 기능을 수행하는 개발자들이 채택합니다.

가장 널리 사용되는 오픈 소스 소프트웨어 애플리케이션의 몇 가지 예는 다음과 같습니다. 

  • Linux 운영 체제(Unix 운영 체제에 대한 오픈 소스 대안)
     

  • Mozilla Firefox(원래 Netscape Navigator를 기반으로 하는 웹 브라우저)
     

  • LibreOffice(Microsoft Office의 라이벌인 오피스 생산성 앱 제품군)
     

  • GIMP(GNU Image Manipulation Program)(Adobe Photoshop에 대한 오픈 소스 대안)
     

  • VLC Media Player(비디오 시청을 위한 크로스 플랫폼 앱)

오픈 소스 프로그램은 네트워크, 엔터프라이즈 및 클라우드 컴퓨팅에도 널리 사용됩니다. IT 전문가들이 조직의 환경에서 가장 흔히 사용되는 것으로 언급한 오픈 소스 소프트웨어 카테고리는 다음과 같습니다.

  • 프로그래밍 언어 및 프레임워크
     

  • 데이터베이스 및 데이터 기술
     

  • 운영 체제
     

  • Git 기반 공용 저장소
     

  • 인공지능/머신 러닝/딥 러닝을 위한 프레임워크

사용자와 기업이 오픈 소스를 선택하는 이유

오픈 소스 소프트웨어를 선택하는 이유는 사람마다, 그리고 조직마다 크게 달라질 수 있습니다. 많은 경우, 일반 사용자는 컴퓨터나 모바일 디바이스에 오픈 소스 프로그램이 사용되고 있다는 것을 전혀 모릅니다. 또한 일반 사용자는 흔히 Mozilla Firefox 브라우저 또는 Android 앱과 같은 무료 애플리케이션을 다운로드합니다. 이러한 사용자들은 소프트웨어 기능만을 원하며 소스 코드를 재작성하거나 심지어 확인하려고도 하지 않습니다.

반면, 기업은 낮은 비용(또는 무료), 소스 코드를 맞춤화할 수 있는 유연성 또는 애플리케이션을 지원하는 대규모 커뮤니티의 존재 때문에 독점적 대안이 아니라 오픈 소스 소프트웨어를 선택할 수 있습니다. 전문가 또는 아마추어 프로그래머들은 흔히 평판을 향상하거나 이 분야에서 일하는 다른 사람들과 교류하고자 자발적으로 오픈 소스 프로젝트에 자신의 개발 및 테스트 기술을 제공할 수 있습니다. 이제 흔히 기업들은 오픈 소스 소프트웨어 개발의 생명력을 불어넣어 고품질 제품을 개발하는 데 도움을 주기 위해 오픈 소스 프로젝트에 정직원을 투입하고 있습니다.

오픈 소스 제품을 사용하면 기업은 라이센스 비용을 아낄 수 있지만, 다른 비용이 발생할 수 있습니다. 일반적으로 네트워크 통합, 일반 사용자 및 IT 지원 그리고 독점적 소프트웨어에 일반적으로 포함되는 기타 서비스로 인한 비용이 발생합니다. 그렇지만 많은 기업들이 엔터프라이즈 오픈 소스 소프트웨어가 최소한 독점적 소프트웨어만큼 신뢰할 수 있고 안전하다고 생각합니다. 그리고 이들은 프로그램 코드를 확인하고 정확히 컴퓨팅 인프라에 무엇을 추가하는지 알 수 있기 때문에 오픈 소스 솔루션이 더 편안하다고 느낍니다.

오픈 소스 소프트웨어가 개발되는 방식

오픈 소스 개발 모델은 다양합니다. 매우 많은 오픈 소스 프로그램이 개인 프로그래머 또는 프로그래머로 이루어진 소규모 팀에 의해 시작되었습니다. 예를 들면, Guido van Rossum은 1989년 크리스마스 휴가가 있던 주에 여유 시간이 있어서 널리 사용되는 Python 프로그래밍 언어를 개발하기 시작했다고 말했습니다. 이와 유사하게, Apache 웹 서버는 원래 슈퍼컴퓨팅 프로그램의 학부생이었던 Robert McCool이 작성한 서버 소프트웨어를 향상하기 위해 협력하는 소규모 프로그래머 그룹으로부터 시작되었습니다.

이러한 오픈 소스 프로젝트와 이와 유사한 다른 프로젝트가 성숙해지면서 수천 명의 프로그래머들이 수많은 코드 라인에 기여하게 되었습니다. 이뿐만 아니라 이들은 소프트웨어 테스트, 문서 작성, 프로젝트 웹사이트 제작 등에도 기여했습니다.

이들의 반대편에서는 Google 엔지니어들이 Google의 서버 워크로드의 균형을 유지하기 위해 원래 내부적으로 만든 기술을 오픈 소스로 구현하기 위해 Kubernetes 컨테이너 오케스트레이션 플랫폼을 시작했습니다. Google은 CNCF(Cloud Native Computing Foundation)라는 새로운 컨소시엄을 Linux Foundation 안에 만들어 이 프로젝트를 오픈 소스 커뮤니티에 제시했습니다. 그 후 주요 컴퓨터 회사의 대표자들을 포함한 수천 명의 개발자들이 진화하는 커널에 대한 작업에 참여했습니다.

시간이 흐르면서 생태계는 오픈 소스 소프트웨어 프로젝트를 지원해야 합니다. GitHub, Bitbucket, SourceForge 및 Google Code와 같은 코드 호스팅 서비스는 중앙 저장소, 버전 제어 및 다양하고 분산된 작업 그룹들이 오픈 소스 프로젝트를 위해 협력하고 이를 관리하도록 지원하는 기타 기능을 제공합니다. GitHub 하나만 해도 8,300만 명의 개발자가 등록되어 있으며, 오픈 프로젝트 저장소는 2,000만 개가 넘습니다(각 저장소는 오픈 소스 프로젝트의 고유한 브랜치를 대표합니다).

오픈 소스 프로젝트의 지속적 유지관리를 지원하고 자금을 제공하기 위해 Free Software Foundation과 Open Source Initiative(OSI)와 같은 여러 비영리 조직이 등장했습니다. 그리고 애플리케이션별로 수십 개의 재단이 있습니다. 그 예로는 특정 오픈 소스 프로그램과 이러한 기술을 지원하는 관련 프로젝트를 지원하는 Linux Foundation이 있습니다.

오픈 소스 소프트웨어와 지적 재산권

“오픈 소스”와 “독점”은 애플리케이션에 포함된 지적 재산권(IP)의 소유에 대해 대안적인 접근 방식을 제시합니다. 오픈 소스의 관점에서 지적 재산권의 소유는 이윤 추구를 위한 것이 아니며 IP는 공익을 위해 존재합니다. 이와 대조적으로, 독점적 소프트웨어는 지적 재산의 가치를 기반으로 (구독 또는 독점적 라이센스 비용을 부과하여) 수익을 얻습니다.

그러나 오픈 소스 소프트웨어의 기반이 되는 아이디어는 기본적으로로 반이윤 또는 반자본주의적 메시지를 전달하는 것이 아닙니다. 그보다는 사용자 커뮤니티의 손에 맡겨졌을 때 소프트웨어는 자연스럽게 잠재력을 최대한 달성하여 더 많은 사용자에게 더 큰 가치를 제공할 수 있다는 메시지를 전달합니다. 역사상 최대 규모의 오픈 소스 프로젝트인 인터넷은 원래 학술 논문을 공유하기 위해 사용되었습니다. 이러한 좁은 사용 사례를 벗어나 성취한 모든 성과는 새로운 가능성을 상상하고 구현한 수많은 인재들 덕분입니다.

오픈 소스 소프트웨어는 대중에게 무료로 제공되지만, 소유권이 무효화되는 지적 재산권의 법적 범주인 자유 이용 저작물(public domain )에 속하지는 않습니다. 오픈 소스 소프트웨어 개발자들은 기존의 카피라이트(copyright, 저작권)란 용어를 기발하게 변형하여 "카피레프트(copyleft)"라는 이름을 붙인 운동을 시작했습니다. 카피레프트는 공공이 소스 코드를 무제한으로 사용, 변형, 재배포하는 것을 허용하지만, 다른 사람들이 이 코드를 기반으로 저작권이 부여된 독점적 소프트웨어를 만드는 것(이에 대해서는 아래에서 더 설명함)은 금지합니다. 그러나 현재 100가지가 넘는 유형의 다양한 오픈 소스 소프트웨어 라이센스가 존재하며, 이중 일부는 오픈 소스 코드를 기반으로 개발된 2차 저작물에 저작권을 부여하고 이를 판매하는 것을 허용합니다. 이는 오픈 소스 소프트웨어를 만드는 사람들에게 상업적 기회를 확장시켜 줍니다.

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

다시 말하지만, Stallman의 GPL은 결과물로 작성된 코드가 모두가 사용할 수 있도록 무료로 게시된다는 조건 하에 누구나 적합한 방식으로 그의 소프트웨어를 재작성할 수 있다고 명시했습니다. 이러한 방식으로 GPL 카피레프트 라이센스는 새로운 종류의 준 자유 이용 저작물(quasi-public-domain)적 지적 재산권을 탄생시켰지만, 원래의 저작권 소유자는 나중에 다른 사람이 제한적 소유권을 주장하는 경우 이로부터 보호받기 위해 법적으로 집행 가능한 제한을 부과할 수 있었습니다.

그 후, 수많은 오픈 소스 소프트웨어 라이센스가 개발되었습니다. Open Source Initiative는 100개가 넘는 승인된 오픈 소스 라이센스로 구성된 목록을 작성했습니다. 이 중 일부는 오픈 소스 코드로 독점적 제품을 만드는 것을 허용합니다.

오픈 소스 라이센스는 때때로 허용적(“permissive”) 또는 보호적(“protective”) 카테고리로 분류됩니다. 허용적 카테고리는 사용자가 자신의 저작물에 저작권을 적용하는 것을 허용하고, 보호적 카테고리는 카피레프트와 유사합니다. MIT 및 BSD 오픈 소스 라이센스는 가장 흔히 사용되는 허용적 라이센스이고, GPL은 가장 흔히 사용되는 보호적 카피레프트 라이센스 중 하나로 남아 있습니다. 수많은 대안적 라이센스는 GPL 또는 MIT와 호환("compatible with")됩니다. 즉, 이 라이센스에 따라 작성된 소프트웨어 코드는 GPL 또는 MIT 라이센스를 사용하는 다른 애플리케이션에 사용될 수 있습니다.

오픈 소스 비즈니스 모델

오픈 소스 소프트웨어 개발은 고결하고 심지어 자선적인 사업처럼 보이지만 이를 개발하고 유지하고 발전시키려면 노력이 들고 이러한 노력을 기울이는 데는 돈이 듭니다. 다행히도, 오픈 소스 프로젝트와 이를 기반으로 구축된 회사들이 번창할 수 있는 방법이 여러 가지 있습니다.

한 가지 방법은 재단에 대한 자선 기부를 활용하는 것입니다. 오픈 소스 소프트웨어는 상당한 비용을 절감시키면서 상당한 기능을 제공하므로 기업들은 오픈 소스 소프트웨어를 지원하는 데 관심이 있습니다. 그리고 오픈 소스 프로젝트에 자금을 지원하거나 심지어 이러한 프로젝트에 참여하도록 전담 정직원을 보내는 경우가 많습니다. 그러나 이러한 지원은 기본적으로 이 기술을 장기적으로 유지관리하기 위한 것이며, 오픈 소스 프로젝트에 이윤을 가져다 주지는 않습니다.

더 일반적인 비즈니스 모델은 지원과 전문 지식에 대한 대가로 비용을 고객에게 부과하는 것입니다. 1993년, Red Hat은 지원과 추가된 기능에 대한 비용을 고객에게 부과하며 Linux 운영 체제의 엔터프라이즈 재배포판을 판매하기 시작했습니다. 이 추가된 기능의 구체적 목표는 큐레이션되지 않고 지속적으로 업데이트되는 운영 체제를 배포할 때 기업이 직면할 수 있는 문제를 해결하는 것이었습니다. 2012년, Red Hat은 미화 10억 달러가 넘는 수익을 기록한 최초의 오픈 소스 소프트웨어 기업이 되었으며, 2019년에 IBM Corporation은 Red Hat을 미화 340억 달러에 인수했습니다. 이는 역사상 최대 규모의 소프트웨어 인수였습니다.

원래는 블로그 플랫폼이었던 WordPress는 이제 웹사이트 구축, 관리, 호스팅에 널리 사용됩니다. WordPress는 클라우드 기반 또는 SaaS(software-as-a-service) 기반 소프트웨어로서 작동하며, 웹 호스팅, 지원, 추가된 사이트 기능(예: 전자상거래 기능, SEO 툴)에 대한 계층화된 구독료를 고객에게 부과합니다.

소프트웨어에 대해서는 비용을 전혀 부과하지 않지만 소프트웨어로 인해 생성되는 트래픽 때문에 상당한 수익을 내는 오픈 소스 개발자들도 있습니다. 예를 들면, GitHub은 사이트에 게시되는 광고를 기반으로 수익을 얻습니다. Mozilla Firefox는 자신이 지원하는 검색 엔진으로부터 수익을 얻습니다.

관련 솔루션
IBM Cloud 기반 Red Hat 소프트웨어

IBM과 Red Hat의 솔루션은 생산성을 높이고 비용을 절감하며 비즈니스 성과를 개선할 수 있습니다.

IBM과 Red Hat의 솔루션 살펴보기
IBM LinuxONE

중요한 애플리케이션에 맞는 최적의 보안성과 확장성을 제공하는 보안 오픈 소스 소프트웨어 서버를 살펴봅니다.

자세히 보기
Linux on IBM Z

IBM Z 메인프레임 플랫폼의 Linux 운영 체제는 하이브리드 멀티클라우드에서 데이터 개인정보 보호와 사이버 보안을 제공합니다.

Linux on IBM Z 자세히 보기
Enterprise Linux on IBM Power

Enterprise Linux® on IBM® Power를 사용하여, 업계를 선도하는 클라우드 네이티브 배포 옵션을 통해 안정성, 보안, 확장성 등 오픈 소스 기술의 장점을 최대한 확장할 수 있습니다.

Linux on Power 살펴보기
리소스 Open Source @ IBM

블록체인부터 컨테이너 그리고 AI와 운영 체제까지, IBM의 개발자는 새로운 오픈 소스 프로젝트를 만들고 코드, 문서, 지원 자료를 프로젝트에 제공하고 있습니다.

여러분의 오픈 소스 소프트웨어는 안전한가요?

소프트웨어 공급망을 개선하면 침해 리스크를 대폭 최소화할 수 있습니다.

다음 단계

IBM의 임무는 한 번 구축 후 어디서나 배포 가능하도록 지원하는 Red Hat 오픈 소스 기술 기반의 민첩한 토대를 활용하여 비즈니스의 디지털 혁신 여정에서 고객이 속도를 극대화할 수 있도록 돕는 것입니다. 고객의 산업 분야에 상관없이 IBM과 Red Hat 솔루션이 어떻게 생산성을 높이고, 비용을 절감하고, 비즈니스 성과를 향상하고, 디지털 혁신을 가속화할 수 있는지 알아보세요.

IBM과 Red Hat의 솔루션 살펴보기