[GitHub 100일 챌린지] Day 18 - 오픈소스 라이선스 선택하기
[GitHub 100일 챌린지] Day 18 - 오픈소스 라이선스 선택하기
100일 챌린지 Day 18 - 프로젝트에 맞는 라이선스를 선택합니다
배울 내용
- 라이선스가 필요한 이유
- 주요 오픈소스 라이선스
- 라이선스 추가 방법
Topic1. 라이선스가 필요한 이유
LICENSE = 코드 사용 규칙
라이선스가 없으면?
1
2
3
4
5
6
7
8
9
❌ 문제:
- 누구도 코드를 사용할 수 없음
- 법적으로 저작권 보호
- 오픈소스가 아니게 됨
✅ 라이선스 추가 후:
- 명확한 사용 조건
- 법적 보호
- 커뮤니티 참여 가능
언제 필요한가?
필요한 경우:
1
2
3
4
✅ Public Repository
✅ 오픈소스 프로젝트
✅ 다른 사람과 공유
✅ 포트폴리오 프로젝트
불필요한 경우:
1
2
3
❌ Private Repository
❌ 회사 내부 프로젝트
❌ 개인 연습용
해보기: 유명 프로젝트의 라이선스 확인
1
2
3
1. github.com/facebook/react 방문
2. LICENSE 파일 클릭
3. MIT License 내용 확인
결과: 라이선스의 필요성을 이해할 수 있습니다
Topic2. 주요 오픈소스 라이선스
인기있는 라이선스 3가지를 비교해봅시다.
MIT License (가장 인기)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
특징:
✅ 가장 간단하고 자유로움
✅ 상업적 사용 가능
✅ 수정/배포 자유
✅ 저작권 표시만 필요
제한:
⚠️ 보증 없음
⚠️ 책임 없음
사용:
- React, Vue, Angular
- Node.js, jQuery
- 대부분의 JavaScript 라이브러리
요약:
1
2
"원하는 대로 써도 되지만,
문제 생겨도 책임 안 져요"
Apache License 2.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
특징:
✅ MIT + 특허 보호
✅ 상업적 사용 가능
✅ 수정/배포 자유
✅ 변경 사항 명시 필요
장점:
✅ 특허 소송 방지
✅ 기업 친화적
사용:
- Android, Kubernetes
- Apache 프로젝트들
- 기업용 프로젝트
요약:
1
2
"MIT와 비슷하지만
특허 보호가 추가됨"
GNU GPLv3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
특징:
✅ 오픈소스 유지 강제
✅ 수정 시 소스 공개 필수
✅ Copyleft 라이선스
제한:
❌ 상업적 사용 제한적
❌ 수정 시 GPL 유지
❌ 소스 공개 의무
사용:
- Linux, WordPress
- GNU 프로젝트들
- 자유 소프트웨어
요약:
1
2
"내 코드를 쓰면
너도 오픈소스로 공개해야 해"
비교표
| 항목 | MIT | Apache 2.0 | GPL v3 |
|---|---|---|---|
| 자유도 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ |
| 상업 사용 | ✅ | ✅ | ⚠️ |
| 소스 공개 | 선택 | 선택 | 필수 |
| 특허 보호 | ❌ | ✅ | ✅ |
| 인기도 | 1위 | 2위 | 3위 |
선택 가이드
MIT 선택:
1
2
3
4
- 최대한 자유롭게 하고 싶음
- 상업적 사용 허용
- 간단한 프로젝트
- JavaScript/Python 라이브러리
Apache 2.0 선택:
1
2
3
4
- 특허 보호 필요
- 기업용 프로젝트
- 법적 보호 강화
- Java/Go 프로젝트
GPL v3 선택:
1
2
3
4
- 오픈소스 유지 원함
- 상업적 이용 제한
- 자유 소프트웨어 철학
- Linux/시스템 소프트웨어
해보기: choosealicense.com 방문
1
2
3
4
1. choosealicense.com 접속
2. "I want it simple and permissive" 클릭
3. MIT License 추천 확인
4. 다른 옵션도 확인
결과: 프로젝트에 맞는 라이선스를 선택할 수 있습니다
Topic3. 라이선스 추가 방법
Repository에 라이선스를 추가하는 방법입니다.
GitHub에서 추가
방법 1: Repository 생성 시:
1
2
3
4
1. New repository 클릭
2. "Add a license" 드롭다운
3. MIT License 선택
4. Create repository
방법 2: 기존 Repository에:
1
2
3
4
5
6
7
1. Repository 메인 페이지
2. "Add file" → "Create new file"
3. 파일명: LICENSE
4. "Choose a license template" 버튼 클릭
5. MIT License 선택
6. "Review and submit" 클릭
7. Commit new file
수동으로 추가
LICENSE 파일 생성:
1
2
3
1. "Add file" → "Create new file"
2. 파일명: LICENSE
3. MIT License 텍스트 붙여넣기:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
MIT License
Copyright (c) 2025 Your Name
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
README에 표시
1
2
3
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
또는 뱃지로:
1

주의사항
1
2
3
4
5
6
7
8
9
10
11
12
⚠️ 연도와 이름 변경:
Copyright (c) 2025 Your Name
↑ ↑
현재연도 실명
⚠️ 라이선스 변경:
- 기존 사용자에게 영향
- 신중하게 결정
⚠️ 여러 라이선스:
- 일반적으로 하나만
- 혼용은 복잡함
해보기: MIT License 추가하기
1
2
3
4
5
6
7
8
1. Repository에서 "Add file"
2. "Create new file" 선택
3. 파일명: LICENSE
4. "Choose a license template" 클릭
5. MIT License 선택
6. 이름과 연도 확인
7. "Review and submit"
8. Commit new file
결과: Repository에 LICENSE 파일이 추가되고, 상단에 라이선스 뱃지가 표시됩니다
정리
완료 체크:
- 라이선스의 필요성을 이해했다
- MIT, Apache, GPL의 차이를 안다
- LICENSE 파일을 추가할 수 있다
라이선스 선택 요약:
1
2
3
4
5
6
7
8
9
10
11
처음 시작:
→ MIT License (가장 무난)
기업용:
→ Apache 2.0 (특허 보호)
오픈소스 유지:
→ GPL v3 (소스 공개 강제)
개인 연습:
→ 없어도 OK
핵심 기억:
1
2
3
4
✅ Public Repository = 라이선스 권장
✅ MIT = 가장 인기
✅ LICENSE 파일 = 루트에 위치
✅ 이름과 연도 수정 필수
다음: Day 19 - 웹에서 파일 관리하기 →
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.
