๐ 1. ์ง์์ฌ์ฐ๊ถ (Intellectual Property) โ
WARNING
โ๏ธ ๋ฒ์ ๋ฉด์ฑ
๊ณ ์ง: ๋ณธ ๋ฌธ์๋ ์ผ๋ฐ์ ์ธ ์ ๋ณด ์ ๊ณต ๋ชฉ์ ์ด๋ฉฐ ๋ฒ๋ฅ ์๋ฌธ์ ๋์ฒดํ์ง ์์ต๋๋ค. ๊ตฌ์ฒด์ ์ธ ์ฌ์์ ๊ดํ ๋ฒ๋ฅ ์ ๋ฌธ๊ฐ(๋ณ๋ฆฌ์ฌ, ๋ณํธ์ฌ)์ ์๋ดํ๊ฑฐ๋ ์๋ฌธ ์กฐ๋ฌธ(์ ์๊ถ๋ฒ, ํนํ๋ฒ, ๋ถ์ ๊ฒฝ์๋ฐฉ์ง๋ฒ ๋ฑ)์ ํ์ธํ์ญ์์ค.
๐ ์ฃผ์ ๊ดํ ๊ถ: ๐ฐ๐ท ๋ํ๋ฏผ๊ตญ ์ ์๊ถ๋ฒ/ํนํ๋ฒ/๋ถ์ ๊ฒฝ์๋ฐฉ์ง๋ฒ, ๐บ๐ธ ๋ฏธ๊ตญ ์ ์๊ถ๋ฒ(DMCA/Patent Act), ๐ ๊ธ๋ก๋ฒ ํ์ค ์คํ์์ค ๋ผ์ด์ ์ค
1. ์คํ์์ค ๋ผ์ด์ ์ค ๋น๊ต (MIT, Apache 2.0, GPL, LGPL, MPL) โ
์คํ์์ค ๋ผ์ด์ ์ค๋ ์์ค์ฝ๋ ์ด์ฉ ํ๋ฝ ์กฐ๊ฑด์ ๋ฐ๋ผ ํฌ๊ฒ ํ์ฉ์ (Permissive) ๋ผ์ด์ ์ค์ ๊ณ ์ ์ผ์ฑ/์๋ฌด์ (Copyleft) ๋ผ์ด์ ์ค๋ก ๊ตฌ๋ถ๋ฉ๋๋ค.
| ๋ผ์ด์ ์ค | ๊ตฌ๋ถ | ์์ค์ฝ๋ ๊ณต๊ฐ ์๋ฌด | ํนํ๊ถ ์ํธ ์์ฌ | 2์ฐจ ์ ์๋ฌผ ์ ์ผ์ฑ | ์ฃผ์ ํน์ง ๋ฐ ๊ณ ์ง ์กฐ๊ฑด |
|---|---|---|---|---|---|
| MIT | Permissive | โ ์์ | โ ์์ | โ ์์ | ๋ํ์ ํ์ฉ ๋ผ์ด์ ์ค. ์ ์๊ถ ํ์ ๋ฐ ๋ผ์ด์ ์ค ์ ๋ฌธ(LICENSE) ํฌํจ ํ์ |
| Apache 2.0 | Permissive | โ ์์ | โญ ๋ช ์์ | โ ์์ | ํนํ ๋ณด์ฆ ๋ฐ ๋ณด๋ณต ์กฐํญ ํฌํจ. ์ฝ๋ ์์ ๋ด์ญ(NOTICE ํ์ผ) ๋ช ์ ํ์ |
| GPL v2 / v3 | Strong Copyleft | โญ ์ ์ฒด ๊ณต๊ฐ | โญ (v3 ๋ช ์) | โญ ํ์์ ์ ์ฒด | GPL ์ฝ๋ ๊ฒฐํฉ/์์ ์ ์์ฉ ํ๋ก๊ทธ๋จ ์ ์ฒด ์์ค์ฝ๋ ๊ณต๊ฐ ์๋ฌด ๋ฐ์ |
| LGPL v2.1 / v3 | Weak Copyleft | โ ๏ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ถ๋ถ๋ง | โญ (v3 ๋ช ์) | โ ๏ธ ๋์ ๋งํฌ ์ ์์ | ๋์ ๋งํฌ(Dynamic Linking) ์ด์ฉ ์ ๋ฉ์ธ ํ๋ก๊ทธ๋จ ์์ค ๊ณต๊ฐ ๋ฉด์ |
| MPL 2.0 | Weak Copyleft | โ ๏ธ ํด๋น ํ์ผ ๋จ์ | โญ ๋ช ์์ | โ ๏ธ ํ์ผ ๋จ์ ํ์ | MPL ์ ์ฉ ํ์ผ ์์ ์ ํด๋น ํ์ผ ์์ค์ฝ๋๋ง ๊ณต๊ฐ |
2. Copyleft vs Permissive ๋ผ์ด์ ์ค ์ค๋ฌด ์ด์ โ
โ ๏ธ ๋ ์ ์กฐํญ๊ณผ ์ ์ผ์ฑ(Viral Effect) โ
- GPL ์ ์ผ์ฑ ์ด์: ์ฌ๋ด ํต์ฌ ์๊ณ ๋ฆฌ์ฆ ๋ฐ ์์ฉ ์ํํธ์จ์ด์ GPL ๋ผ์ด์ ์ค ์ฝ๋๊ฐ ์ ์ ๋งํฌ(Static Linking)๋ ์์ค์ฝ๋ ์ง์ ํฉ์ฑ ๋ฐฉ์์ผ๋ก ํฌํจ๋ ๊ฒฝ์ฐ, ์์ฉ ์ํํธ์จ์ด ์ ์ฒด๋ฅผ GPL๋ก ๊ณต๊ฐํด์ผ ํ๋ ์ํ์ด ์์ต๋๋ค.
- SaaS ๋ฐ AGPL (Affero GPL): ์ผ๋ฐ GPL์ ๋คํธ์ํฌ ์๋น์ค ํํ(SaaS) ์ ๊ณต ์ ๋ฐฐํฌ๋ก ๋ณด์ง ์์ ์์ค ๊ณต๊ฐ ์๋ฌด๊ฐ ์์์ผ๋, AGPL์ ์น ์๋น์ค ์ ๊ณต๋ง์ผ๋ก๋ ์์ค์ฝ๋ ๊ณต๊ฐ ์๋ฌด๊ฐ ๋ฐ์ํ๋ฏ๋ก ํด๋ผ์ฐ๋/SaaS ๊ฐ๋ฐ ์ ์ต์ฐ์ ์ฃผ์ ๋์์ ๋๋ค.
3. ํ์ฌ ์ฝ๋์ ์คํ์์ค ํฌํจ ์ ๋ผ์ด์ ์ค ๊ณ ์ง ์๋ฌด โ
- ๋ผ์ด์ ์ค ์ ๋ฌธ ๋ฐ ์ ์๊ถ ํ์(Notice)
- ์ ํ ๋ฐ์ด๋๋ฆฌ, ์น ์๋น์ค ์๋ด ํ๋ฉด, ๋ชจ๋ฐ์ผ ์ฑ ์ค์ ๋ด
์คํ์์ค ๋ผ์ด์ ์ค ๊ณ ์ง(Open Source Notices)ํ์ด์ง๋ฅผ ๋ง๋ จํ์ฌ ์ฌ์ฉ๋ ์คํ์์ค์ ์ ์๊ถ์ ๋ฐ ๋ผ์ด์ ์ค ์ ๋ฌธ ํ๊ธฐ.
- ์ ํ ๋ฐ์ด๋๋ฆฌ, ์น ์๋น์ค ์๋ด ํ๋ฉด, ๋ชจ๋ฐ์ผ ์ฑ ์ค์ ๋ด
- NOTICE ํ์ผ ์ ์ง (Apache 2.0 ๋ฑ)
- ์๋ณธ์ ํฌํจ๋
NOTICEํ์ผ ๋ด์ฉ ๋ณ๊ฒฝ ์์ด ๊ทธ๋๋ก ์ฌ๋ฐฐํฌ ์ ํฌํจ.
- ์๋ณธ์ ํฌํจ๋
- ์คํ์์ค ์ปดํ๋ผ์ด์ธ์ค ์ฒด๊ณ ๊ตฌ์ถ
- Snyk, FOSSID, Black Duck ๋ฑ์ ์ด์ฉํ ์์ค์ฝ๋ ์ ์ ๋ถ์ ๋ฐ dependency ๊ฒ์ฌ ํ๋ก์ธ์ค ์ด์ฉ.
4. ์ ์๊ถ๋ฒ์ ์ํํธ์จ์ด ์ ์๋ฌผ์ ์ ์์ ๋ณดํธ ๋ฒ์ ๐ฐ๐ท โ
- ๋ณดํธ ๋์: ์ฌ๋์ด ์์ฑํ ์์ค์ฝ๋, ์ปดํจํฐ ํ๋ก๊ทธ๋จ ์ฐฝ์๋ฌผ, ๊ด๋ จ ๋ฌธ์(์ค๊ณ์, ์ฌ์์).
- ๋ณดํธํ์ง ์๋ ๋ฒ์ (์์ด๋์ด/ํํ ์ด๋ถ๋ฒ):
- ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(Syntax), ์์ด๋์ด, ์๊ณ ๋ฆฌ์ฆ, ๋ฐ์ดํฐ ๊ตฌ์กฐ, ๋จ์ ํ์ค ์ธํฐํ์ด์ค(API ํ์ค ๊ตฌ๋ฌธ ์์ฒด).
- ์ฐธ๊ณ : ์์ค์ฝ๋ ์์ฑ ํ์(ํํ)์ ์ ์๊ถ์ผ๋ก ๋ณดํธ๋๋, ๊ตฌํ ์๊ณ ๋ฆฌ์ฆ ๊ทธ ์์ฒด๋ ์ ์๊ถ ๋ณดํธ ๋์์ด ์๋.
5. ํนํ vs ์ ์๊ถ: ์๊ณ ๋ฆฌ์ฆ/UI/UX ๋ณดํธ ๋ฒ์ ์ฐจ์ด ๐ฐ๐ท ๐บ๐ธ โ
- ์ ์๊ถ (Copyright): ์์ค์ฝ๋ ๊ตฌํ์ฒด, ํ๋ฉด ๋์์ธ ๊ตฌ์ฒด์ ํํ ๋ณดํธ. ๋ณ๋ ๋ฑ๋ก ์์ด ์ฐฝ์ ์ฆ์ ๋ฐ์.
- ํนํ๊ถ (Patent): ๊ธฐ์ ์ ์ฌ์์ ์ฐฝ์์ธ ๋น์ฆ๋์ค ๋ชจ๋ธ(BM) ํนํ, ์ปดํจํฐ ๊ตฌํ ์๊ณ ๋ฆฌ์ฆ ํนํ, UI/UX ๋์ ๋ฐฉ์. ์ถ์ ๋ฐ ์ฌ์ฌ๋ฅผ ๊ฑฐ์ณ ๋ฑ๋ก๋์ด์ผ ๋ ์ ๊ถ ํ์ฌ ๊ฐ๋ฅ.
6. ๋ถ์ ๊ฒฝ์๋ฐฉ์ง๋ฒ๊ณผ ์์ ๋น๋ฐ(์์ค์ฝ๋) ๋ณดํธ ๐ฐ๐ท โ
- ์์
๋น๋ฐ ์๊ฑด (๋ถ์ ๊ฒฝ์๋ฐฉ์ง ๋ฐ ์์
๋น๋ฐ๋ณดํธ์ ๊ดํ ๋ฒ๋ฅ ์ 2์กฐ ์ 2ํธ):
- ๋น๊ณต๊ฐ์ฑ: ๊ณต๊ณต์ ์๋ ค์ ธ ์์ง ์๋ํ ๊ฒ.
- ๋ ๋ฆฝ๋ ๊ฒฝ์ ์ ๊ฐ์น: ์ ์ฉํ ๊ธฐ์ ์/๊ฒฝ์์ ์ ๋ณด์ผ ๊ฒ.
- ๋น๋ฐ๊ด๋ฆฌ์ฑ: ๋น๋ฐ๋ก ์ ์งํ๊ธฐ ์ํ ์๋นํ ๋ ธ๋ ฅ์ด ๊ธฐ์ธ์ฌ์ง ๊ฒ (์ ๊ทผ ๊ถํ ์ ํ, NDA ์์ฝ, ์ํธํ ์ ์ฅ).
- ์ค๋ฌด ๊ฐ์ด๋: ์์ค์ฝ๋ Git ์ ์ฅ์์ Private ์ ํ, Access Control(RBAC), ํด์ฌ ์ ๋ฐ๋ฉ ๋ฐ ํ๊ธฐ ์์ฝ ์ฒด๊ฒฐ.
7. ์ง๋ฌด๋ฐ๋ช /์ง๋ฌด์ ์๋ฌผ ๊ท์ ๊ณผ ๊ฐ๋ฐ์ ๊ถ๋ฆฌ ๊ท์ ๐ฐ๐ท โ
- ์ง๋ฌด์ ์๋ฌผ (์ ์๊ถ๋ฒ ์ 9์กฐ):
- ๊ธฐํ: ํ์ฌ(๋ฒ์ธ ๋ฑ)์ ๊ธฐํํ์
- ์ ๋ฌด: ํ์ฌ์ ์ ๋ฌด์ ์ข ์ฌํ๋ ์๊ฐ ์ ๋ฌด์ ์์ฑ
- ๊ณตํ: ํ์ฌ์ ๋ช ์๋ก ๊ณตํ (ํ๋ก๊ทธ๋จ์ ๊ณตํ ๋ถ์)
- ๊ณ์ฝ์ด๋ ์ทจ์ ๊ท์น์ ํน๋ณํ ์ ํจ์ด ์๋ ํ ์ ์์๋ ํ์ฌ๊ฐ ๋จ.
- ์ง๋ฌด๋ฐ๋ช
(๋ฐ๋ช
์งํฅ๋ฒ):
- ๊ฐ๋ฐ์ ๊ฐ์ธ์ด ๋ฐ๋ช ์ ๋ช ์๋ฅผ ๊ฐ์ง๋, ํ์ฌ๊ฐ ํนํ ๋ฐ์ ์ ์๋ ๊ถ๋ฆฌ๋ฅผ ์น๊ณ. ํ์ฌ๋ ๊ฐ๋ฐ์์๊ฒ ์ ์ ํ ๋ณด์๊ธ(์ง๋ฌด๋ฐ๋ช ๋ณด์๊ธ) ์ง๊ธ ์๋ฌด ๋ฐ์.