My IBM 로그인 구독하기
오픈 소스 소프트웨어란 무엇인가요?

오픈 소스 소프트웨어란 무엇인가요?

IBM과 함께 오픈 소스에 구축 Think 뉴스레터 구독하기
컴퓨터 모니터, 서버, 구름, 점의 픽토그램 콜라주가 포함된 일러스트
오픈 소스 소프트웨어란 무엇인가요?

오픈 소스 소프트웨어란 무엇인가요?

오픈 소스 소프트웨어는 개방형 협업을 통해 개발되고 유지 관리되는 소프트웨어입니다. 일반적으로 무료로 누구나 원하는 대로 사용, 검사, 변경 및 재배포 할 수 있습니다.

오픈 소스는 예를 들어, Microsoft Word 또는 Adobe Illustrator와 같은 독점 또는 폐쇄 소스 소프트웨어 애플리케이션과 대조됩니다. 제작자 또는 저작권 보유자는 독점 또는 비공개 소스 소프트웨어를 최종 사용자에게 판매하며, 최종 사용자는 저작권 보유자가 지정한 경우를 제외하고 제품을 편집, 개선 또는 재배포할 수 없습니다.

또한 '오픈 소스'라는 용어는 일반적으로 개방적인 협업, 포용성, 투명성 및 빈번한 공개 업데이트를 통해 소프트웨어와 같은 모든 지적 재산을 창출하는 커뮤니티 기반 접근 방식을 의미합니다.

IBM Z에서 AI로 데이터 이해하기

AI가 해결할 수 있는 일반적인 고객 불만 사항, 현재 사용 가능한 기능 및 IBM Z가 이상적인 AI 플랫폼인 이유를 알아보세요.

관련 내용 퀀텀 세이프 보안에 대한 분석 보고서에 등록하기
오픈 소스 소프트웨어의 간략한 역사

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

1970년대 중반까지만 해도 컴퓨터 코드는 컴퓨터 하드웨어의 작동에 내재된 것으로 간주되어 저작권 보호의 대상이 되는 고유한 지적 재산이 아니었습니다. 조직은 자체적으로 소프트웨어를 프로그래밍했으며 코드 공유는 일반적인 관행이었습니다.

1974년에 설립된 저작물의 새로운 기술적 사용에 관한 위원회(Commission on New Technological Uses of Copyrighted Works)는 소프트웨어 코드가 저작권 보호에 적합한 창작물의 범주라는 결론을 내렸습니다. 이는 독점 소스 코드를 주요 수익원으로 삼는 독립 소프트웨어 퍼블리싱 산업의 성장을 촉진했습니다. 개인용 컴퓨팅이 모든 기업 사무실과 많은 가정에 애플리케이션을 제공함에 따라 소프트웨어 시장은 경쟁이 치열해졌고 소프트웨어 퍼블리셔들은 재산권 침해를 점점 더 경계하게 되었습니다.

이러한 독점 소프트웨어의 제한과 한계에 대한 일종의 반란은 1983년에 시작되었습니다. 프로그래머 리처드 스톨먼(Richard Stallman)은 사용자가 자신의 업무에 적합하다고 생각하는 대로 독점 소프트웨어를 사용자 지정할 수 없다는 사실에 불만을 품었습니다. 스톨만은 '소프트웨어는 자유로워야 한다, 활용, 변형, 및 재배포와 같 모든 것이 자유로워야 한다(software should be free—as in speech, not beer)'고 생각했고, 자유롭게 사용자 지정할 수 있는 소프트웨어의 개념을 옹호했습니다.

스톨먼은 자유 소프트웨어 재단(Free Software Foundation)을 설립하고 기타 애플리케이션 중에서도 AT&T 소유의 유닉스 운영 체제를 대체하는 오픈 소스 개발을 주도했습니다. 그는 또한 최초의 카피레프트(copyleft) 소프트웨어 라이선스인 GNU 일반 공중 사용 허가서(GPL)를 개발했는데, 이는 누구든지 소스 코드를 개선할 경우 마찬가지로 편집한 버전을 모든 사람에게 무료로 공개해야 할 것을 요구했습니다.

에릭 S. 레이몬드(Eric S. Raymond)가 1997년에 쓴 '성당과 시장(The Cathedral and the Bazaar)'이라는 제목의 글은 자유 소프트웨어 운동의 또 다른 분수령으로 여겨집니다. 레이먼드는 모든 개발이 핵심 그룹에 의해 이루어지는 독점 소프트웨어 개발의 전형적인 폐쇄적인 하향식 접근 방식(레이먼드는 이를 '성당Cathedral'이라고 칭함)과 인터넷을 통해 자유롭게 공유되는 개방형 공개 개발('시장Bazaar')을 대조했습니다. 얼마 지나지 않아 Netscape Corporation은 Mozilla 브라우저 코드를 오픈 소스로 공개했고, 오픈 소스 운동은 정당성을 얻게 되었습니다.

많은 사람들이 스톨먼의 '자유 소프트웨어(free software)'라는 용어가 소프트웨어의 주요 가치인 '무료 비용(free of cost)'을 부적절하게 강조한다고 느꼈기 때문에 '오픈 소스'라는 용어가 1999년에 채택되었습니다. 오픈 소스 이니셔티브(Open Source Initiative)는 이를 옹호하기 위해 창설되었습니다. 또한 이 조직은 오픈 소스 정의를 통해 업계의 기본 규칙을 수립했으며 규정을 준수하는 오픈 소스 라이선스를 호스팅합니다. 오늘날 자유 소프트웨어(free software), 오픈 소스 소프트웨어(open source software), 무료 및 오픈 소스 소프트웨어(free and open source software), 무료 또는 자유 오픈 소스 소프트웨어(free or libre-open source software)라는 용어는 모두 같은 것을 의미합니다. 즉, 공개 사용 및 사용자 정의가 가능한 소스 코드가 있는 소프트웨어를 말합니다.

기업 및 개인용 컴퓨팅의 오픈 소스

기업 및 개인용 컴퓨팅의 오픈 소스

오픈 소스 소프트웨어는 이제 인터넷, 비즈니스 컴퓨팅 및 개인 컴퓨팅의 기반을 제공하는 오픈 소스 기술과 함께 컴퓨팅에서 중요한 역할을 합니다. 이제 거의 모든 컴퓨팅 장치에는 일반적으로 개발자가 기본 작업을 수행하고 종종 고급 기능을 수행하고자 채택하는 다양한 유형의 오픈 소스 코드가 포함되어 있습니다.

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

  • Linux 운영 체제, Unix 운영 체제의 오픈 소스 대안

  • 원래부터 Netscape Navigator를 기반으로 한 웹 브라우저인 Mozilla Firefox

  • Microsoft Office에 필적하는 사무용 생산성 앱 제품군인 LibreOffice

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

  • 영상 시청을 위한 크로스 플랫폼 앱인 VLC Media Player

오픈 소스 프로그램은 네트워크, 엔터프라이즈 및 클라우드 컴퓨팅에서도 널리 사용됩니다. IT 전문가들이 조직의 배포 환경에서 가장 일반적으로 언급하는 오픈 소스 소프트웨어 범주는 다음과 같습니다.

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

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

  • 운영 체제

  • Git 기반 공개 저장소

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

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

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

오픈 소스 소프트웨어를 선택하는 이유는 개인마다, 조직마다 크게 다를 수 있습니다. 대부분의 경우 최종 사용자는 컴퓨터나 모바일 장치의 오픈 소스 프로그램을 전혀 인식하지 못합니다. 또한 최종 사용자는 일반적으로 Mozilla Firefox 브라우저 또는 Android 앱과 같은 무료 애플리케이션을 다운로드합니다. 이러한 사용자는 소스 코드를 다시 작성하거나 볼 의도도 없으며 단순히 소프트웨어의 기능만을 원합니다.

반면에 기업은 저렴한 (또는 무료) 비용, 소스 코드를 사용자 정의할 수 있는 유연성 또는 애플리케이션을 지원하는 대규모 커뮤니티의 존재 때문에 독점 대안 대신 오픈 소스 소프트웨어를 선택하기도 합니다. 전문 프로그래머 또는 아마추어 프로그래머는 자신의 개발 및 테스트 기술로 오픈 소스 프로젝트에 자원봉사하거나, 종종 자신의 명성을 높이고 해당 분야의 다른 사람들과 교류하기 위해 선택하기도 합니다. 이제 기업은 오픈 소스 소프트웨어 개발의 역동성을 지원하고 고품질 제품을 보장하기 위해 오픈 소스 프로젝트에 유급 직원을 고용하는 것이 일반적입니다.

오픈 소스 제품을 통해 기업은 라이선스 비용을 절감할 수 있지만, 일반적으로 네트워크 통합, 최종 사용자 및 IT 지원, 독점 소프트웨어에 일반적으로 포함된 기타 서비스와 같은 다른 비용이 발생할 수 있습니다. 여전히 많은 기업들은 엔터프라이즈 오픈 소스 소프트웨어가 적어도 독점 소프트웨어만큼 안정적이고 안전하다고 생각하며, 프로그램 코드를 검사하고 컴퓨팅 인프라에 무엇을 추가하는지 정확히 이해할 수 있기 때문에 오픈 소스 솔루션에 더 편안함을 느낍니다.

오픈 소스 소프트웨어가 만들어지는 방식

오픈 소스 소프트웨어가 만들어지는 방식

오픈 소스 개발 모델은 모든 범위를 아우릅니다. 수많은 오픈 소스 프로그램이 1인 프로그래머 또는 작은 프로그래머 팀의 노력으로 만들어졌습니다. 예를 들어, 귀도 반 로섬(Guido van Rossum)은 1989년 크리스마스 연휴 주간에 자유 시간이 주어져 오늘날 인기 있는 Python 프로그래밍 언어를 개발하기 시작했다고 말했습니다. 이와 비슷하게, Apache 웹 서버는 로버트 맥쿨(Robert McCool)이 슈퍼컴퓨팅 프로그램의 학부생으로서 작성한 서버 소프트웨어를 개선하고자 협력했던 소규모 프로그래머 그룹의 노력으로 시작되었습니다.

이러한 프로젝트와 이와 유사한 다른 오픈 소스 프로젝트가 성숙해짐에 따라 수천 명의 프로그래머가 셀 수 없이 많은 코드 줄을 제공하고 소프트웨어를 테스트하며 문서를 작성하고 프로젝트 웹 사이트를 구축하는 등의 작업을 수행했습니다.

이와는 다르게, Kubernetes 컨테이너 오케스트레이션 플랫폼은 원래 Google 서버 워크로드의 균형을 맞추기 위해 내부적으로 개발한 기술의 오픈 소스 구현으로, Google 엔지니어들의 노력으로 시작되었습니다. Google은 Linux 재단(Linux Foundation) 내에 클라우드 네이티브 컴퓨팅 재단(Cloud Native Computing Foundation)이라는 새로운 컨소시엄을 만들어 이 프로젝트를 오픈소스 커뮤니티에 공개했습니다. 그 이후로 주요 컴퓨터 회사의 대표를 포함하여 수천 명의 개발자가 진화하는 커널에 대한 작업을 수행했습니다.

시간이 지남에 따라 에코시스템은 오픈 소스 소프트웨어 프로젝트를 지원해야 합니다. GitHub, Bitbucket, SourceForge, Google Code와 같은 코드 호스팅 서비스는 중앙 저장소, 버전 제어 및 다양하고 분산된 워크그룹이 오픈 소스 프로젝트에서 협업하고 이를 관리할 수 있도록 하는 기타 기능을 제공합니다. GitHub에만 8,300만 명의 개발자와 2천만 개 이상의 오픈 프로젝트 저장소가 등록되어 있으며, 각 저장소는 오픈 소스 프로젝트의 고유한 분기를 나타냅니다.

자유 소프트웨어 재단, 오픈 소스 이니셔티브 등 오픈 소스 프로젝트의 지속적인 유지 관리를 지원하고 자금을 지원하는 비영리 조직이 다수 등장했습니다. 또한 특정 오픈 소스 프로그램과 해당 기술을 지원하는 관련 프로젝트를 지원하는 Linux 재단과 같은 수십 개의 애플리케이션별 재단이 있습니다.

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

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

'오픈 소스'와 '독점'은 애플리케이션 내에 구현된 지적 재산(IP) 소유권에 대한 대안적 접근 방식을 나타냅니다. 오픈 소스는 지적 재산의 소유권에 따른 영리적인 동기를 갖지 않으며 그 지적 소유는 대중에게 혜택을 주기 위한 것입니다. 반면, 독점 소프트웨어는 구독료 또는 독점 라이선스 요금을 청구하여 지적 재산의 가치를 수익화합니다.

그렇다고 해서 오픈 소스 소프트웨어가 반이익이나 반자본주의적 메시지를 우선적으로 담고 있는 것이 아닙니다. 오히려, 소프트웨어가 사용자 커뮤니티의 손에 들어가면 자연스럽게 더 많은 사용자에게 더 큰 가치를 제공함으로써 최대의 잠재력을 발휘할 것이라는 개념입니다. 역사상 가장 큰 오픈 소스 프로젝트인 인터넷은 원래 학술 논문을 공유하는 데 사용되었습니다. 그 좁은 사용 사례를 넘어서는 모든 것은 수많은 사람들이 새로운 가능성을 구상하고 구현한 결과입니다.

오픈 소스 소프트웨어는 대중에게 무료로 제공되지만, 소유권이 없는 법적 지적 재산의 법적 범주인퍼블릭 도메인에 속하지는 않습니다. 오픈 소스 소프트웨어 제작자들은 전통적인 저작권을 독창적으로 변형하여 소스 코드의 무제한 공개 사용, 변경 및 재배포는 허용하지만, 다른 사람이 해당 코드를 기반으로 독점적인 저작권이 있는 소프트웨어 저작물을 만들지 못하도록 하는 '카피레프트'라는 개념을 창안했습니다. 그러나 오늘날에는 100가지가 넘는 다양한 유형의 오픈 소스 소프트웨어 라이선스가 있으며, 그 중 일부는 오픈 소스 코드를 기반으로 한 파생 저작물의 저작권 부여 및 판매를 허용하고 있습니다. 이를 통해 오픈 소스 소프트웨어를 만드는 사람들에게 상업적 기회가 확대됩니다.

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

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

다시 말하지만, 스톨먼의 GPL은 결과 코드가 모든 사람들이 사용할 수 있도록 무료로 게시되는 한 누구나 자신에게 적합하다고 생각하는 방식으로 소프트웨어를 다시 작성할 수 있다고 규정했습니다. 이러한 방식으로, GPL 카피레프트 라이선스는 새로운 종류의 준 퍼블릭 도메인 지적 재산을 창출했으며, 나중에 다른 사람이 제한적 소유권을 주장하는 것을 방지하기 위해 원 저작권 소유자가 법적으로 집행할 수 있는 제한을 두었습니다.

그 이후로 수많은 오픈 소스 소프트웨어 라이선스가 개발되었으며, 오픈 소스 이니셔티브에서 100개 이상의 승인된 오픈 소스 라이선스를 찾아볼 수 있습니다. 이들 중 일부는 오픈 소스 코드를 통해 독점 제품을 만들 수 있도록 허용합니다.

때때로 오픈 소스 라이선스는 사용자가 자신의 저작물에 저작권을 부여할 수 있도록 하는 '허용' 라이선스 또는 카피레프트처럼 '보호' 라이선스로 분류되기도 합니다. MIT 및 BSD 오픈 소스 라이선스는 가장 일반적으로 사용되는 허용 라이선스인 반면 GPL은 가장 일반적으로 사용되는 보호 카피레프트 라이선스 중 하나입니다. 수많은 대체 라이선스가 GPL 또는 MIT와 호환되며, 이는 이 라이선스에 따라 작성된 소프트웨어 코드를 GPL 또는 MIT 라이선스를 사용하는 다른 응용 애플리케이션에서 사용할 수 있다는 것을 의미합니다.

오픈 소스 비즈니스 모델

오픈 소스 비즈니스 모델

오픈 소스 소프트웨어를 만드는 것은 고상하고 심지어 자선적인 사업처럼 보이지만, 이를 만들고 유지 관리하고 발전시키는 데는 노력이 필요하며 이러한 작업을 완수하는 데는 돈이 필요합니다. 다행히도 오픈 소스 프로젝트와 이를 중심으로 설립된 회사가 번영할 수 있는 방법은 많이 있습니다.

한 가지 방법은 재단에 자선 기부를 하는 것입니다. 오픈 소스 소프트웨어는 상당한 비용 절감 효과로 엄청난 기능을 제공하기 때문에 기업은 오픈 소스 소프트웨어를 지원하는 데 관심을 갖고 있으며, 그러기에 종종 기금을 기부하고 오픈 소스 프로젝트를 위해 일하는 전담 유급 직원을 투입하기도 합니다. 하지만 이는 주로 기술의 장기적인 유지 관리를 위한 것일 뿐, 오픈 소스 프로젝트에 수익을 가져다주지는 않습니다.

보다 일반적인 비즈니스 모델은 고객에게 지원 및 전문 기술 비용을 청구하는 것입니다. 1993년, Red Hat은 Linux 운영 체제의 엔터프라이즈 재배포를 판매하기 시작했으며, 전문적으로 선별되지 않은 채 지속적으로 업데이트되는 운영 체제를 배포할 때 기업이 직면할 수 있는 문제를 해결하기 위한 추가 기능과 지원 비용을 고객에게 청구했습니다. 2012년 Red Hat은 매출 10억 달러를 돌파한 최초의 오픈소스 소프트웨어 회사가 되었으며, 2019년 IBM Corporation은 역사상 최대 규모의 소프트웨어 인수 비인 340억 달러에 Red Hat을 인수했습니다.

원래 블로깅 플랫폼이었던 WordPress는 이제 웹 사이트를 구축, 관리 및 호스팅하는 데 널리 사용됩니다. WordPress는 클라우드 기반 또는 서비스형 소프트웨어 플랫폼으로 운영되며 웹 호스팅, 고객에게 지원 및 추가 사이트 기능(예: 전자 상거래 기능 또는 SEO 도구)에 대한 계층화된 구독료를 부과합니다.

다른 공개 소프트웨어 제작자는 소프트웨어에 대한 비용을 청구하지 않지만, 소프트웨어가 생성하는 트래픽 덕분에 상당한 수익을 얻습니다. 예를 들어, GitHub는 사이트에 표시되는 광고를 통해 수익을 얻고, Mozilla Firefox는 지원하는 검색 엔진을 통해 수익을 얻습니다.

관련 솔루션

관련 솔루션

IBM Cloud의 Red Hat 소프트웨어

IBM 및 Red Hat 솔루션을 통해 생산성을 높이고 비용을 절감하며 비즈니스 결과를 개선할 수 있는 방법을 알아봅니다.

IBM 및 Red Hat 솔루션 탐색
IBM LinuxONE

IBM LinuxONE은 엔터프라이즈 시스템을 구축해 온 IBM의 경험을 Linux 운영 체제의 개방성과 결합하는 엔터프라이즈급 Linux 서버입니다.

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 살펴보기
리소스

리소스

IBM의 오픈 소스

블록체인에서 컨테이너, AI, 운영 체제에 이르기까지, 개발자들은 새로운 오픈 소스 프로젝트를 만들고 코드, 문서 및 지원 자료로 이를 지원하고 있습니다.

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

소프트웨어 공급망을 개선하면 보안 침해 위험을 크게 최소화할 수 있습니다.

IBM watsonx의 오픈 소스 에코시스템

개발자, 아키텍트 및 시스템 관리자는 IBM watsonx와 같은 오픈 소스 기반 제품을 선택하여 주요 전략적 오픈소스 커뮤니티에서 자신의 요구 사항을 표현합니다. IBM의 AI 플랫폼을 고성능 클라우드 네이티브로 만드는 핵심 오픈소스 기술을 살펴보세요.

다음 단계 안내

Red Hat OpenShift on IBM Cloud는 개발자가 빠르고 안전하게 엔터프라이즈 워크로드를 컨테이너화하여 Kubernetes 클러스터에 배포할 수 있는 방법을 제공합니다. 보안 관리, 규정 준수 관리, 배포 관리, 지속적인 라이프사이클 관리와 관련된 지루하고 반복적인 작업을 제거하세요. 

Red Hat OpenShift on IBM Cloud 살펴보기 무료로 시작하기