🔍 진정한 개발자가 되기위해서 오픈소스랑 친해지기!
취업준비를 해서 현업을 가게 되면 실제로 바닥부터 코드를 짜는 경우는 매우 적다고 합니다.
보통 그 회사에서 개발중인 서비스개발에 참여하거나, SI와 같은 명세서에 따른 프로그래밍을
하게 되는데, 이러한 회사에서 사용되는 대부분의 코드들은 오픈소스를 사용하고 있습니다.
따라서 진정한 개발자가 되려면 오픈소스가 무엇인지 알고,
어떻게 활용하는지 알면 알수록 매우 도움이 되기 때문에 오늘은 오픈소스에 대해
RedHat사이트를 통해 공부를 해보려고 합니다!
https://www.redhat.com/ko/topics/open-source/what-is-open-source
🔍 오픈소스란?
개발자가 명시한 라이선스 조건하에 공개된 소스코드를 활용하여 사용-복제-수정 및
재배포가 가능한 소프트웨어.
오픈 소스는 오픈소스 소프트웨어(Open Source Software, OSS)를 뜻하는 용어입니다.
오픈소스 소프트웨어는 공개적으로 액세스 할 수 있게 설계되어 누구나 자유롭게 확인,수정,배포할 수 있는
코드 입니다. 그렇다고해서 누구나 다 최종 수정까지 갈 수 있는 것은 아니고, 엄격한 검증단계를 거칩니다.
개발이라는 분야는 정말 서로 공유할 때 더욱 발전하는 분야입니다.
따라서 오픈소스 소프트웨어는 동료평가(peer review)와 커뮤니티 프로덕션으로
분산 협업방식으로 개발됩니다.
여러 개발관련 산업분야에서 각 산업의 60%이상이 오픈소스를 활용중이고,
글로벌 회사들은 각각 오픈소스 그룹을 가지고 있습니다.
(intel, IBM, Qualcomm, Samsung, Google, Facebook)
✏️ 오픈소스 정의
OSD(The Open Source Definition)
- 자유 재배포
- 소스코드 공개
- 2차 저작물 허용
- 소스코드 수정 제한
- 개인이나 단체에 대한 차별 금지
- 사용 분야에 대한 제한 금지
- 라이선스의 배포
- 라이선스 적용상의 동일성 유지
- 다른 라이선스의 포괄적 우용
- 라이선스의 기술적 중립성
✏️ 오픈소스 라이센스 종류
무료 이용 가능 | 배포 허용가능 | 소스코드 취득가능 |
2차적 저작물 재공개 의무 |
독점 SW와 결합가능 |
|
GPL | O | O | O | O | X |
LGPL | O | O | O | O | O |
MPL | O | O | O | O | O |
BSD License | O | O | O | X | O |
Apache License | O | O | O | X | O |
✏️ 오픈소스의 발전 과정
오픈소스는 과거 IBM을 시작으로 eclipse와 같은 큰 기업에서 프레임워크를 개발하며
점차 발전 시켜왔고, 90년대 apple이 webkit을 내놓으며 구글의 활발한 참여로 오픈소스 시대를
열었다고 할 수 있었습니다. 하지만 애플의 구글에 대한 견제로 구글은 독립하게 되었고,
blink(블링크)라는 오픈소스 응용 프레임워크를 따로 만들어 독립해서 지금까지 계속 개발되고 있습니다.
✏️ 오픈소스 사용 시 주의사항
오픈소스도 등장 불법적인 사용으로 인한 소송논쟁이 많았습니다.
그래서 등장한 것이 '라이센스'라는 개념입니다.
라이센스는 오픈소스를 보호하기 위해 존재하는 것으로 오픈소스를 사용하기 위해서는
아래의 두가지를 꼭 제대로 확인해야 합니다.
- 어떤 라이센스가 적용되고 있는가?
- 어떤 의무사항들을 가지고 있는가?
✏️ 오픈소스 개발 유형
오픈 소스는 간단하게 정리하면 크게 두가지 유형으로 분류됩니다.
- 사용
- 기여
그리고 기여는 다음과 같이 두가지로 구분이 됩니다.
- 오픈소스 코드 기여
- 오픈소스 신설 기여
✏️ 오픈소스 장점
개발문화를 더욱 성숙하게 해주고, 개발자들의 날개가 되어주는 오픈소스의 장점은 다음과 같습니다.
- 개발 비용 절감(양질의 코드를 무료로 이용)
- 빠르고 유연한 개발(개방형 협업)
- 호환성 / 유연성 (오픈 포맷, 오픈 프로토콜)
- 신뢰성 / 안전성 (집단지성, 거버넌스)
https://2korean.github.io/open-source-guide/how-to-contribute/
아직 오픈소스랑 많이 친해지지는 않았지만,
SSAFY 과정 중에서 시간을 내서 조금씩 공부해보고 기여까지 할 수 있도록 노력해보자!
'IT - News' 카테고리의 다른 글
[Git] Git, GitHub를 활용하는 작은 지식 모음 (0) | 2021.07.06 |
---|---|
[Fast Campus]한달 안에 100시간 프론트엔드 수업 도전! (0) | 2021.06.11 |
Netlify - Github를 이용한 웹 프로젝트 배포 방법 (0) | 2021.05.13 |
원격근무를 통해 오히려 생산성이 폭발한 기업_뱅크샐러드 (0) | 2021.02.16 |