오픈소스는 그냥 갖다 써도 되는걸까? 결론부터 말하면 그럴 수도 있고, 아닐 수도 있다고 한다.
모든 프리웨어가 공짜로 사용이 가능한 것과 달리, 오픈소스는 마다 조건이 다르기 때문에 확인이 필요하다.
프리웨어 vs 오픈소스
프리웨어와 오픈소스의 차이점을 아이스크림을 먹는 것에 비유하면 다음과 같다.
프리웨어(freeware) | 오픈소스(open source) |
아이스크림 먹는거는 무조건 공짜 | 아이스크림 껍질에 '공짜로 먹어도 된다'거나 '토핑을 추가할 경우에만 돈을 내야한다'거나, '무조건 돈내고 먹어야 한다'는 등의 조건이 써있음 |
지금이야 일상적으로 오픈소스를 접하지만, 사실 오픈소스가 세상에 등장한 건 90년대 후반의 이야기이다.
1980년대 GNU의 창립자 '리처드 스톨먼'은 소스코드를 공개해서 누구나 소프트웨어를 수정할 수 있게 하고, 자유로운 복제/배포를 허용하자는 취지의 프리 소프트웨어 운동을 이끌었다. 이때 영어(free)로는 ‘자유로운’과 ‘무료’가 동의어여서, 무료가 아닌데 무료로 오해받는 문제가 있었다...
이후 1997년 당시 데비안의 개발자였던 브루스 페렌스가 '오픈소스'에 대하여 처음으로 정의내려 사용하기 시작했다.
1998년 2월, '에릭 레이먼드'는 프리소프트웨어 커뮤니티에 '오픈소스' 용어를 채택할 것을 처음으로 호소했다. 같은 해 8월, '에릭 레이먼드'는 '브루스 페렌스'와 함께 오픈소스 이니셔티브(OSI)를 설립했다. OSI에서는 오픈소스의 의미와 오픈소스 라이선스로 허용할 수 있는 라이선스를 관리한다.
오픈소스 라이센스 종류
OSI 홈페이지에서는 공식 오픈소스 라이센스를 확인할 수 있는데, 그 종류가 매우 다양하다. 주로 쓰이는 것만 9가지가 된다. 이 중 GPL, LGPL, MIT, Apache, BSD 만 간단하게 알아보자.
(혹시 전체 목록이 궁금하다면 여기서 확인할 수 있다.)
GPL
GPL은 재귀적 전염성 조항을 담고 있어 라이센스 중 가장 매운맛 라이선스로 꼽힌다.
재귀적 전염성 조항은 “GPL 소스로부터 파생된 프로그램도 소스가 공개되어야 하고, 파생된 프로그램 또한 강제로 GPL-호환 라이선스에 따라 소스코드가 공개되어야 한다.”는 조항이다. 이렇게 강력한 조항을 적용한 이유는 리눅스 운영체제나 과거 유닉스 프로그램 등을 만들 목적이었기 때문이라고 한다.
실수로라도 GPL 라이선스를 따르는 오픈소스 코드를 집어넣으면 전체코드 강제 공개해야 한다. 최근에는 GPL을 기피하고 MIT 허가서를 사용하는 빈도가 증가했다.
<관련 사건>
- 소니, GPL 위반사항 때문에 DVD 4천만 장 리콜
- 이코, 영구 판매중지 (훗날 플레이스테이션 3용 게임으로 재발매 본에서는 GPL 소스를 전부 제거)
- 투하트 2, 스카이프 등 소스 코드 강제 공개
LGPL은 이름에서 알 수 있듯이 GPL을 약간 완화한 라이센스다.
MIT, Apache
소스 재공개를 아예 하지 않아도 되거나, 라이선스의 전염성 조항이 없다.
BSD
GPL 같은 재귀적 전염성 조항이 없어 오픈 소스를 전염시키는 걸 원치 않는 개발자들이 이 라이선스를 애용하는 편이다. 특히, IT 업계 표준기술을 구현한 소프트웨어는 상용 소프트웨어에서도 사용돼야 하기 때문에 재귀적 전염성 조항이 없는 오픈 소스 라이선스로 배포하는 경우가 일반적이다.
내용 출처: 나무위키
이것만은 알아두자
오픈소스 SW 라이선스 종합정보시스템에서는 다음과 같이 주요 내용을 요약해서 제공하고 있다. 아이스크림 껍질을 뜯기 전(오픈소스 사용 전) 반드시 확인하는 내용을 짚어보자.
같이 보면 좋은 글
'General' 카테고리의 다른 글
VS Code 필수 초기 설정 - 기본설정부터 익스텐션까지 (0) | 2021.01.26 |
---|---|
맥북 자동화 - 키보드 마에스트로(Keyboard Maestro) 시작하기 (0) | 2021.01.25 |
레이캐스팅 튜토리얼 5. Wolfenstein 3D 텍스처 (0) | 2021.01.21 |
레이캐스팅 튜토리얼 4. 예제코드로 이해하는 레이캐스터 구현 (textured) (0) | 2021.01.21 |
레이캐스팅 튜토리얼 3. 예제코드로 이해하는 레이캐스터 구현 (untextured) (0) | 2021.01.21 |