velog에도 연재하였습니다.

npm install

node.js로 개발하다보면 아무 생각 없이 npm install을 하곤 한다.

지금까지 개발하면서 한번도 라이센스(LICENSE)에 대해 깊이 생각해본적이 없는거 같다.

오픈소스에는 어김 없이 LICENSE가 존재한다. 그 문서에는 copyright 내지는 copyleft가 있다.

나는 그 문서를 한번이라도 제대로 읽어 본 적이 있을까…?

운이 좋게도

npm에 올라오는 프로젝트는 운이 좋게도 9할 이상이 MIT LINCENSE를 채택하고 있다.

MIT LICENSE는 한마디로 ‘꼼꼼하게 안 읽어도 되는 라이센스’이다. 그만큼 관대하다는 얘기.

NPM이 방대한 생태계를 갖게된것도 하루에 500개가 넘는 모듈이 올라와도 문제가 안터지는 것도 모두 MIT 덕이다.

그래도 배포전에는 확인하자

아주 흔하게 사용하는 dotenv 모듈을 살펴보자.

dotenv1

dotenv는 BSD-2-Clause LICENSE를 채택하고 있다.

dotenv2

즉, 두가지를 지켜줘야하는데

  1. 저작권자 표시
  2. 라이센스 내용과 보증 부정

당신의 프로젝트의 NOTICE.md 같은 텍스트 파일에 위 내용을 명시해줘야한다.

그래서 어떻게

첫번째 방법은 LICENSE의 사본을 그대로 가져오는 것이다.

dotenv3

두번째 방법은 LICENSE 사본의 링크를 첨부하는 방법이다. 라이센스의 사본을 첨부해야하는데 라이센스가 너무 긴 경우에 활용할 수 있다.

사본을 프로젝트 내 다른 문서에 저장해놓거나 사본이 있는 하이퍼링크를 명시해 놓자.

dotenv4

아 너무 복잡해

1
2
3
4
5
6
7
8
/*
* ----------------------------------------------------------------------------
* "THE BEER-WARE LICENSE" (Revision 42):
* <phk@FreeBSD.ORG> wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
* ----------------------------------------------------------------------------
*/

ooo 가 이 파일을 작성함. 이 고지를 유지하는한 너 맘대로 뭘 해도 상관 없어. 언젠가 우리가 서로 만나게 됐을때, 너가 맘에 들었다면, 맥주나 한잔 사줘.

복잡한 이 세상, 모든 사람들이 Beerware 처럼 살아가면 얼마나 좋을까.