Programming

[언그래머] 육십번째 아티클_ 깃허브의 모든 public 프로젝트는 오픈소스일까

송코딩 songcoding 2024. 1. 16. 08:57

안녕하세요 여러분!

김송아입니다.

 

 

벌써~ 1월 중순이네요😇

빠른 세월만큼 우리가 같이 나누고 있는 이야기도 점점 많아지고 있네요💚 이건 좋다!

 

 

많은 이야기들 중에서도 저희 언젠가.. 오픈소스가 무엇인지 같이 고민한 적이 있는데, 기억나시나요?

 

[언그래머] 스물여덟번째 아티클_오픈 소스 클로즈 소스 하하하!

안녕하세요 여러분! 송아지할때 송아 김송아입니다. 오늘은 지난 아티클에서 미리 예고드렸듯이, 개발 문화 중 어쩌면 가장 큰 부분으로 차지하고 있는 오픈 소스에 대해 파헤쳐보는 시간을 가

songacoding.tistory.com

 

 

이 아티클에서 저희는 오픈 소스의 정의에 대해 간단하게 생각해봤었죠.

 

오픈 소스(Open Source)란,

접근 권한을 오픈하여 
누구나 사용, 수정, 업데이트할 수 있는 소스 코드

 

 

 

오늘은 이 오픈 소스의 범위에 대해 간단하게 알아보려 합니다.

여러분들은 어디부터 어디까지 오픈 소스라고 생각하시나요? 🤔

 

 

 

다시.

질문입니다.

 

여러분들은, 깃허브에 올라온 모든 public 프로젝트가 오픈 소스라고 생각하시나요? 🤔

 

최근 가장 핫한 VCS로 빼놓을 수 없는 깃과 깃허브!

많은 회사들 뿐 아니라, 대부분의 개발자들이 자신들의 소스코드를 관리하기 위해 깃허브에 업로드한다는 것은 공공연한 사실입니다.

(물론, 어떤 코드는 public이고 어떤 코드는 private이라 접근 권한의 차이는 있겠지만요)

 

그런 만큼 화재가 발생하면 우린 다음 행동 강령을 따라야겠죠?

 

ㅋㅋㅋㅋㅋㅋㅋㅋ leave부터 해야하는거 아니냐고..

 

 

그리고 주요 개발 문화 중에서도 코드 공유는 빼놓을 수 없는 미덕처럼 느껴지니,

깃허브에 있는 public 코드들은 그냥 내가 다 사용해도 되는거 아니야..? 라고 생각하기 쉬울 것 같죠.

 

 

이미 답을 알고 계신 분도 있으시겠죠. 답부터 말씀드리자면,

안됩니다. 잡혀가요(?)

 

ㅋㅋㅋㅋㅋ이게 뭐얔ㅋㅋ @구글링 '수갑 짤'

 

 

🙋🏻‍♀️ 이 소스코드를 모두 사용하셔도 됩니다! 

🙋🏻‍♂️ 이 소스코드는 오픈 소스 (즉, 모두에게 사용권이 열려있는 소스입니다) 입니다!

 

라고 적혀 있지 않으면

해당 코드를 활용하여 배포는 허락되지 않았다는 것이기 때문입니다.

 

 

 

그럼 이제 동공지진이죠..

그걸 누가 적어놓냐... 하실 수 있겠죠.

 

 

아니면 직접 허락 받냐.. 개발자 연락처라도 알아내야 하는 거냐.. 하실 수도 있겠구요.

 

 

 

방법은 간단합니다.
오픈 소스라고 적혀있는 지, 확인을 해보면 됩니다! (당연한 소리)

 

 

봐봐요~? 이때까지 우리가 사용했던 오픈 소스들을 살펴볼까요?

 

대표적으로 리액트 한번 살펴보겠습니다.

리액트는 잘 알고 계시다시피 페이스북에서 시작된 프론트엔드 오픈 소스 프로젝트로, 아직까지도 활발한 빌드가 이루어지고 있는 오픈 소스 입니다.

 

@이틀 전에도 push가 일어난 리액트

 

 

일반 사용자 입장이라면 오픈 소스라는 말보다, 라이브러리라는 말이 좀 더 친근할 수도 있겠구요.

 

@리액트 로고

 

그럼 이 리액트는 어떻게 오픈 소스인지 아는 걸까요?

즉, 우리는 어떻게 이 리액트를 사용해서 코드를 구현하고 웹 사이트를 배포까지 할 수 있는 거였을까요?

 

 

 

바로 저 MIT License 라는 단어 때문입니다.

 

M..MIT..? MIT가 만들었다는 건가....? 🫢

 

바로 그 매사추세츠 공과대학교 (두둥)

 

반은 맞고 반은 틀렸습니다.

 

소스코드에 붙은 라이선스는 '오픈 소스 라이선스' 입니다.

쉽게 말해서, 

 

이 코드는 오픈 소스야!
대신 몇가지 규정이 있으니, 배포할 때 이 규정 잘 따라서 배포해~

라고 말하고 있는 오픈 소스 세계가 만든 법 같은 겁니다!

 

 

오픈 소스 세계의 이 법은 아파치, GNU(리눅스 만든 조직 기억나죠?), MIT 등 내노라하는 개발 리더들이 

다양한 오픈 소스를 만들어내면서, 자신들의 조직 내에 오픈 소스를 보호하기 위해 규정을 시작했다고 합니다.

 

오픈 소스 라이선스를 적어두면,
우리는 이 법을 따르고 있으니 법대로 해! (=법에 적힌 대로 사용하고 배포해)

라는 뜻인겁니다!

 

 

 

지금은 이 오픈 소스 법을 전 세계적으로 관리하기 위해 (지켜내기 위해) Open Source Initaitive 라는 국제 표준 협회가 운영되고 있고

네트워크 OSI 계층 아님..

 

OSI 공식 로고

 

 

OSI에서 입증, 증명 그리고 관리 해주는 오픈 소스 라이선스를 사용하면 

이 코드는 이런 규정을 지켜야 하는 오픈 소스다! 라는 명시를 개발 세계에서 공식적으로 할 수 있게 되는 거죠.

 

OSI가 관리하는 수많은 오픈 소스 라이선스들

 

 

우리나라에서는 OpenSourceSW License Information System (OLIS, 아래 링크)에 들어가시면

오픈 소스 라이선스가 무엇인지, 어떤 걸 써야하는지 도움을 받으실 수 있습니다.

 

라이선스 소개

오픈소스SW의 개요 오픈소스SW는 소스코드가 공개되어 있는 SW를 말하며, 일반적으로 자유롭게 복제/배포/수정할 수 있다. 오픈소스SW의 대표적인 예로는 Linux 커널 및 아파치 웹서버, FireFox 웹브

www.olis.or.kr

 

 

 

우리는 보다 쉽게 우리 코드를 지킬 수도 있고, 서로의 코드를 잘 사용할 수도 있게 

이렇게 오픈 소스 규정을 잘 활용하면 좋겠죠?

 

 

다음 아티클에서는 그럼 이 라이선스를 대체 어떻게 사용하는 건지!

오픈 소스 라이선스 사용방법에 대해 알아보도록 하겠습니다.

(그 이후에는, 오픈 소스를 취업에 활용하는 방법! 우리가 컨트리뷰트를 할 수 있는 방법! 등 다양한 얘기도 나눠볼게요)

 

 

 

그럼 여러분, 

오늘도 화(요일) 이팅 하시고!!!!

우린 또 금요일에 만나요 💕

 

 

 

아니 근데 잠깐, 옆집 사는 김송아가 유데미 강의를 냈다고?
 
옆집 개발자 지금 구경가기 👇🏻