안녕하세요. 엘에스웨어 오픈소스 사업본부입니다.
오늘은 오픈소스 소프트웨어와 관련된 용어를 함께 알아보겠습니다.
OSS? SBOM? SPDX? 등등 어려운 오픈소스 용어가 궁금하다면 함께 GOGO! 😊👉👉
[OSS]
첫 번째 용어는 OSS입니다. OSS는 Open Source Software의 약자로 라이선스에 따라 소스 코드가 공개되어 누구나 자유롭게 사용하고 수정 및 재배포할 수 있는 오픈소스 소프트웨어를 말합니다. 비슷한 의미로 사용되는 FOSS(Free and Open Source Software, 자유•오픈소스 소프트웨어)는 소스 코드를 제공한다는 점에서는 동일하지만, 자유 이용 소프트웨어(Free Software)와 오픈소스 소프트웨어(OSS) 진영 간의 소스 코드 제공 목적에는 차이가 있습니다. 먼저, 자유 소프트웨어 진영에서는 이타주의 정신을 바탕으로 GPL과 같이 소스 코드의 반환을 요구하는 라이선스를 선호하지만, 오픈소스 소프트웨어 영역에서는 산업계 발전을 위한 프로그램 확산을 중점으로 반환의 의무가 없는 라이선스를 장려하고 있습니다.
[OSD]
다음으로, OSD는 Open Source Definition의 약자로, 오픈소스 비영리단체인 오픈소스 이니셔티브(OSI, Open Source Initiative)가 정의한 오픈소스 소프트웨어의 최소한의 기준으로, 10가지의 기준이 있습니다. 이 OSD를 만족하는 라이선스는 OSI의 공식적인 인증을 받게 되어 오픈소스 라이선스라고 불리게 됩니다. 다만, OSD를 만족하지 못하여 OSI의 인증을 받지 못하였다고 하더라도 모든 라이선스는 준수의 의무가 있다는 점을 명심해야 합니다. OSD 기준은 아래와 같이 10가지가 있습니다.
<OSD 10대 기준>
① 자유 재배포(Free Redistribution)
② 소스 코드(Source Code) 공개
③ 2차적 저작물(Derived Works) 배포 허용
④ 원저작자 소스 코드 수정 제한(Integrity of The Author’s Source Code)
⑤ 사용 대상 차별 금지(No Discrimination Against Persons or Groups)
⑥ 사용 분야 제한 금지(No Discrimination Against Fields of Endeavor)
⑦ 라이선스 배포(Distribution of License)
⑧ 특정 제품 의존성 금지(License Must Not Be Specific to a Product)
⑨ 다른 라이선스 포괄적 수용(License Must Not Contaminate Other Software)
⑩ 라이선스 기술 중립성(License Must be Technology-Neutral)
[SCA]
SCA는 Software Composition Analysis의 약자이며, 소프트웨어 구성 분석을 의미합니다. SCA는 애플리케이션 및 컨테이너 내 소스 코드, 바이너리 등을 스캔하여 오픈소스 또는 서드 파티 구성 요소를 식별하고, 이를 분석하여 잠재적인 라이선스 충돌 및 보안취약점을 확인하는 컴플라이언스 도구입니다. SCA 도구는 식별된 오픈소스의 라이선스 및 전체 구성 정보와 더불어 이와 관련된 취약점 정보를 함께 제공함으로써 안전한 오픈소스 관리 환경을 구축하는 데 기여합니다. 대표적인 SCA 도구로는 세계 최대 수준의 데이터베이스를 보유한 시높시스의 블랙덕이 있습니다.
[SBOM]
SBOM은 Software Bill of Materials의 약자로 소프트웨어 구성요소 목록(자재명세서)을 의미합니다. SBOM은 소프트웨어에 포함된 컴포넌트 명, 버전, 라이선스, 체크섬 정보와 같은 SW 개발에 활용된 모든 정보를 담은 명세서의 역할을 합니다. 최근 미국의 소프트웨어 공급망 보안 규제가 본격화되면서 소프트웨어 개발사는 물론 의료기기, IoT 등 관련 국내외 기업에 필수적으로 요구되는 문서로 중요성이 커지고 있습니다. 미국 정부는 기업의 제품에 사용된 오픈소스와 보안취약점을 점검하고 이에 대한 모든 정보를 SBOM으로 작성함으로써 라이브러리에 쓰인 오픈소스 구성 요소의 출처를 밝히고 안정성을 입증하라고 요구하고 있습니다. 이런 규제는 하드웨어에 내장된 펌웨어, 운영체제, 애플리케이션 등에 포괄적으로 적용됩니다. 이에 따라 국내 기업도 SBOM 의무에 대응할 관련 시스템을 신속하게 갖추는 것이 요구되고 있습니다.
[SPDX]
마지막으로, SPDX는 Software Package Data Exchange의 약자로, 소프트웨어 구성 정보를 보다 간결하고 명확하게 전달하기 위해 리눅스 파운데이션에서 재정한 소프트웨어 데이터 교환 표준을 의미합니다. SPDX는 오픈소스 내의 저작권 및 라이선스 정보 등 중요한 데이터에 공통 형식을 제공함으로써 라이선스 정보를 확인하기 위한 중복 작업을 줄이고, 쉽게 확인할 수 있도록 합니다. SPDX의 라이선스 리스트를 통해 오픈소스의 수많은 라이선스를 빠르게 식별할 수 있으며, 긴 라이선스 원문 대신 SPDX의 라이선스 식별자(Identifier)를 통해 효율적으로 기록할 수 있습니다. 아래 링크를 통해 SPDX 라이선스 교환 표준 리스트를 확인해 보세요.
https://spdx.org/licenses/
오늘은 이렇게 오픈소스와 관련된 용어들에 대해 함께 알아봤습니다. 오픈소스에 관한 흥미로운 소식은 엘에스웨어 오픈소스 블로그에서! 안전하고 편리한 오픈소스 환경을 위한 해답은 엘에스웨어의 포세라 포털 위드 블랙덕을 찾아주세요. 😊
엘에스웨어
📍서울특별시 금천구 서부샛길 606 대성디폴리스 A동 18층
📞 02-6919-0321
📧 opensource@lsware.com
'오픈소스' 카테고리의 다른 글
오픈소스 보안 취약점 CVE와 SCA 솔루션 블랙덕에 대한 이해 (1) | 2024.04.05 |
---|---|
SBOM :: 안전한 오픈소스 활용의 첫걸음 (0) | 2024.03.28 |
구글의 안드로이드 오픈소스 프로젝트 AOSP와 Apache 라이선스 (1) | 2024.02.15 |
오픈소스 GPL 라이선스의 이해 :: 오픈소스 관리의 중요성 (0) | 2024.02.01 |
올바른 오픈소스 소프트웨어 사용을 위한 오픈소스 소프트웨어 라이선스 (0) | 2024.01.24 |