요즘 시기에는 개발을 하면서 오픈소스를 사용하지 않는게 더 어려운 시기인 것 같다. 상업적으로 사용이 될 경우에는 라이센스 관련 증빙도 해야할 일이 있는데 이에 대해 별 다른 교육 없이 스쳐지나가듯 들은 기억만 있어서 정리해 보았다.
![](https://blog.kakaocdn.net/dn/cjidOX/btsKVJx7bz9/P1Zdbd7VpS7fNxamj8FV51/img.png)
위의 그래프는 나무위키에서 가져온 오픈소스 라이센스 점유율 현황이다.
각 라이센스에 대해 간단히 정리해보자.
GPL 규약
GNU General Public License
강력하다. 일부 copy를 넣을 경우 내 code도 공개해야 한다. 전염력이 있어 사용시 내 코드도 GPL이 된다.
적용 예시 - 리눅스 커널, x264, x265, FFMPEG
BSD License
Berkeley Software Distribution License
사용했다는 것을 명시해야함. 일부 코드 수정시 수정한 것을 외부에 공개할 필요는 없다.
사용시 특허 등으로 문제가 발생했을 때, 이에 대한 cover는 따로 안 해준다.
MIT License가 BSD 기반으로 만들어져서 거의 유사하다고 하며 특허 침해로 인한 손해에 대해 보증해주지 않는 것도 동일하다. 침해 여부 판단이 어려운 부분이므로 사용 시 주의해야함.
적용 예시 - JEM, HM
아파치 라이센스
Apache License
코드 사용해도 공개할 의무 없음. BSD와 비슷하지만 특허가 무상으로 허용됨.
적용 예시 - 안드로이드, web browser 계열
GPL이 예전에 비해 약세이고 Apache나 MIT 허가서를 사용하는 빈도가 늘었다고 한다. 아마도 소스코드 공개 여부나 규율의 단단한 정도가 영향을 미치는 것 같고 자연스러운 추세인 것 같다. 딥러닝 기반 논문이나 알고리즘들은 코드를 공개하는 경우가 많아지고 있지만 여전히 기업에서는 어려운 부분일테니 이해가 된다.
더 전문적으로 자세하게 공부하고 싶으면 나무위키나 규약 원문을 참고하세요.
오픈 소스
Open Source / FOSS(Free and Open-Source Software) 여기서 'Free'는 공짜
namu.wiki
코딩 시 코딩 변수를 어떤 스타일로 사용하자는 헝가리안 표기법 등도 있었는데 요즘은 워낙 코딩 소프트웨어가 잘 되어있어서 오히려 사용이 금지되고 있다고 한다. 시대가 빠르게 변하는 만큼 배움도 많아지는데 잊지 않도록 잘 정리해 놓아야겠다.
'배우는 여자 > 코딩' 카테고리의 다른 글
데이터의 형태 정리 (1) | 2024.11.28 |
---|---|
[Algorithm] 병합 정렬, Merge sorting - 안정적이고 빠르다 (0) | 2021.08.11 |
c언어 입출력 기본 (0) | 2021.03.04 |