개발/프로그래머스 데브코스

프로그래머스 데브코스 63일차 with. TS 웹 풀스택

눌지 2024. 7. 3. 12:09

📚요약

지난 시간에는 컨트리뷰션에 대해 알아봤습니다. 이번 시간에는 라이선스에 대해 더 자세히 알아보겠습니다.

 

📖Open Source

오픈 소스 소프트웨어 즉 OSS에 대해 공부하면서 넘어왔습니다. 가장 중요한 것은 해당 프로젝트가 오픈 소스인가를 구분하는 것입니다. 깃허브를 보면 public 레포지토리의 경우 코드를 자유롭게 볼 수 있습니다. 하지만 그렇다고 해서 마음대로 가져다 쓰면 문제가 생깁니다. 그래서 가장 중요한 것이 라이선스가 있는가를 확인하면 됩니다.

 

📄라이선스가 없다면?

코드를 살펴봤을 때 좋은 코드라는 생각이 들거나 필요한 코드라는 생각이 드는데 라이선스가 없는 경우도 생길 겁니다. 그때 아쉬워만 하지 말고 github가 제공하는 propose 기능을 사용하면 됩니다.

오픈 소스가 아닌 경우 License를 propose할 수 있는 기능

말 그대로 코드의 저작자에게 라이선스를 설정하고 오픈 소스로 바꾸는 게 어때?라는 제안을 하는 것입니다.

 

📄어떤 라이선스를 사용할 것인가?

제안의 문제는 어떤 라이선스를 제안할 것인가입니다. 라이선스를 제안하는 경우에는 사용자 입장에서 제안하기 때문에 사용자 입장에서 라이선스를 살펴보겠습니다.

github가 제공해주는 license 선택 화면

라이선스는 다양한 종류가 있습니다. 사용자의 입장에서는 어떤 프레임워크/모듈에서 사용하는가를 따져보면 쉽게 라이선스를 고를 수 있습니다. 예를 들어 npm에서 사용되는 오픈 소스의 경우 거의 MIT 라이선스를 사용하고 있습니다. 쉽게 이용되어야 하기 때문입니다. 이와 같이 어디에서 오픈 소스를 사용하는가를 고민해 보면 라이선스를 결정할 수 있습니다.

 

아래 3가지 라이선스를 사용하는 곳을 살펴보겠습니다.

  • MIT : 일반적으로 자유롭게 사용되지만 저작자의 흔적이 남아있으면 좋은 곳
  • Apache : 웹 관련되어 기업이 사용하는 오픈 소스의 경우. 특허가 관련되어 있다.
  • GNU GPL v3 : 라이선스가 제시하는 조건이 다양한 만큼 모든 히스토리를 공개하길 원하는 오픈 소스의 경우.

📄라이선스 변경

라이선스는 원하면 변경이 가능하기 때문에 라이선스를 선택할 때 너무 큰 고민을 하지 않아도 됩니다. 하지만 바꾸는 과정이 복잡할 수 있기 때문에 신중하게 라이선스를 선택해야 합니다.

 

라이선스 변경 예시

  • mongoDB : AGPL SSPL
  • elastic search : Apache SSPL
  • grafana : Apache  AGPL
  • sentry : BSD 3 Clause → BUSL

📄오픈 소스 탐색

마지막으로 오픈 소스는 어디서 찾아야 하는가에 대해 말씀드리겠습니다.

  • 가장 흔하게 사용되는 Github
  • 구글에서 중, 고등학생들의 오픈 소스 참여를 위해 운영했던 codein. 하지만 현재는 운영이 되지 않기 때문에 참고용으로 사용하면 좋습니다.
  • 회사마다 자체 운영되는 회사 오픈 소스 사이트 ex) 네이버 오픈 소스
  • 마지막으로 오픈 소스를 모아두고 이슈의 개수에 따라 우선순위를 정해두어 보여주는 codetriage

 

다음 시간에 계속...

 

출처 & 참고

김송아 강사님의 강의