위키득계정 ↗
기술

오픈 소스

오픈 소스기술
영문명
Open source
핵심 조건
소스 접근과 이용, 수정, 재배포 권한
판단 기준
라이선스에 명시된 권한과 조건
관련 개념
자유 소프트웨어, 개방형 협업
오픈 소스는 소스 코드를 열람하는 데 그치지 않고, 정해진 라이선스에 따라 이용과 수정, 재배포를 허용하는 소프트웨어 배포 방식이다.

공개된 코드와 허용된 권한

저장소가 공개되어 누구나 코드를 읽을 수 있다고 해서 그 코드를 마음대로 복제하거나 제품에 넣을 권리가 생기는 것은 아니다. 오픈 소스인지 판단하려면 코드의 공개 상태와 함께 라이선스를 확인해야 한다.

오픈 소스의 핵심은 소스에 접근해 프로그램을 연구하고, 허용된 조건 아래 고치고 다시 배포할 수 있다는 점이다. 사용료가 없다는 뜻과는 다르며 상업적 이용 자체를 배제하는 개념도 아니다.

협업은 어떻게 이루어지는가

개발자는 공개된 코드에 오류 제보나 변경안을 보낼 수 있다. 프로젝트 관리자는 변경을 검토해 반영하거나 다른 방향을 제안한다. 공개적으로 개발한다고 모든 제안이 자동으로 채택되는 것은 아니다.

누구나 별도 사본에서 개발을 이어갈 수 있는 포크는 기존 프로젝트와 다른 방향을 실험하는 수단이 된다. 다만 기존 코드의 라이선스 조건은 사본에서도 확인해야 한다.

라이선스가 서로 다른 이유

오픈 소스 라이선스는 허용 권한뿐 아니라 배포 시 지켜야 할 조건도 정한다. 저작권 고지와 라이선스 문구를 유지하도록 하는 경우가 있고, 특정 조건에서 변경된 소스의 제공을 요구하는 경우도 있다.

여러 프로젝트의 코드를 함께 쓰면 각 조건이 양립하는지도 살펴야 한다. 프로젝트 이름이 널리 알려져 있다는 사실만으로 모든 사용 방식이 허용된다고 판단할 수는 없다.

공개와 품질은 별개

소스를 검토할 수 있다는 점은 장점이지만, 실제로 충분한 검토와 유지보수가 이루어졌는지는 별도 문제다. 변경 이력, 보안 대응, 의존성, 관리 활동을 확인해야 한다. 공개 여부만으로 안전성이나 완성도를 보증할 수는 없다.

관련 문서

소프트웨어 / 프로그래밍 언어 / 인터넷