어떤 라이선스가 적용되었는지 , 사용했던 코드의 깃허브 링크등을
하나의 폴더에 작성해서 넣어두면 되지 않을까 싶다.
/프로젝트폴더
├── src/ # 소스 코드
├── docs/ # 문서 (API 명세, 가이드 등)
├── LICENSE # 라이선스 파일 (MIT, Apache, GPL 등)
├── NOTICE # 저작권 및 라이선스 관련 추가 정보 (필요한 경우)
├── README.md # 프로젝트 소개 및 사용법
├── THIRD_PARTY_LICENSES/ # 사용한 외부 라이브러리의 라이선스 정리
├── dependencies.md # 사용한 오픈소스 목록 및 링크
📌 (1) LICENSE 파일
📌 (2) THIRD_PARTY_LICENSES 또는 dependencies.md
# 사용한 오픈소스 목록
## 1. Express.js
- 공식 깃허브: https://github.com/expressjs/express
- 라이선스: MIT
## 2. Lodash
- 공식 깃허브: https://github.com/lodash/lodash
- 라이선스: MIT
...
📌 (3) README.md
💡 결론
https://github.com/hubotio/hubot/blob/main/LICENSE.md
✅ 깃허브에서 Repository를 생성하는 단계 중에서 라이선스를 추가할 수 있는 단계가 있다고한다.
✅ 그래서 레포지토리를 생성하는 페이지로 이동해 봤다.
✅ 당연하게도 Choose a license
를 확인 할 수 있었고
그동안 Add a README file
까지만 봤던거 같은데 ㅋㅋㅋㅋ;;
새로운 지식을 습득하게되었다.
더 자세한 내용은 아래 링크로 확인해서 내 소스코드에 라이선스를 추가해보도록 하자.
(1) 오픈소스 공개 시
에서 내용에서도 언급했지만
LICENSE.md/.txt는 오픈소스 라이선스 전문 명시해주는 문서로 정하자
즉, 이 프로젝트는 어떤 오픈 소스 라이선스 하에 배포된다.
또한 “오픈 소스 프로젝트 최상위 디렉토리”에 위치될 것
README.md : 해당 오픈소스 코드를 이용하여 작성한
프로젝트 소개, 실행, 기여 방법 등을 적어 놓는 파일일 것이다.
NOTICE.txt : 오픈소스 라이선스 개요 (?)
COPYRIGHT.txt : 저작권 (?)
Contribute = 기여하다
오픈소스 프로젝트에서 다른 사람들이 코드나 문서를 개선하고 기능을 추가하는 데 참여하는 것을 의미한다.
예를 들어, 내 깃허브에 오픈소스 프로젝트를 올려 놓으면 , 다른 개발자들이 :
등의 방식으로 내 프로젝트에 기여할 수 있다는 것이다.
그렇다면 contribute문서는 무엇일까 ?
→ 프로젝트에 어떻게 기여할 수 있는지 설명한 문서
https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project
위 URL은 contribute 관련한 깃허브 페이지입니다.
🔹 Contribute하는 방법
오픈소스 프로젝트에 기여하는 기본적인 방법을 알아보자.
✅ 1. 이슈(Issues) 확인하기
✅ 2. 프로젝트 Fork 하기
✅ 3. 코드 수정 후 Pull Request(PR) 보내기
🔹 Contribute를 받는 방법 (오픈소스 운영)
네가 프로젝트를 오픈소스로 공개하고 다른 사람이 기여하도록 만들려면, 다음 내용을 정리하면 좋아.
🔹 정리
Code of Conduct(CoC, 행동 강령) 은 오픈소스 프로젝트에서 기여자(Contributors)와 사용자(Users)가 지켜야 할 행동 규칙을 정리한 문서야.
그러니깐, 프로젝트에서 기여할때 어떤 태도와 행동이 허용되는지.. 또 어떤 행동이 금지되는지를 정의한 문서
🔹 왜 Code of Conduct가 필요할까?
✅ 기여 문화 조성
→ 기여자들이 서로 예의를 지키며 생산적인 환경을 만들기 위해 필요해.
✅ 갈등 방지
→ 개발자들 사이에서 논쟁이나 비방이 발생하지 않도록 미리 가이드라인을 정해둠.
✅ 오픈소스 커뮤니티 유지
→ 다양한 배경을 가진 사람들이 참여하는 만큼, 차별 없는 환경을 조성하는 것이 중요함.
🔹 Code of Conduct에 들어가는 내용
Code of Conduct 문서에는 보통 다음과 같은 내용이 포함돼.
📌 1. 목적 (Purpose)
📌 2. 허용되는 행동 (Expected Behavior)
📌 3. 허용되지 않는 행동 (Unacceptable Behavior)
📌 4. 문제 발생 시 대응 방법 (Enforcement)
이 페이지는 GitHub의 “Community Standards” (커뮤니티 표준) 체크리스트를 보여주는 화면이다.
GitHub는 오픈소스 프로젝트를 투명하고 협력적인 환경을 운영할 수 있도록 몇 가지 기본적인 문서를 제공한다.
위 페이지에서는 현재 프로젝트가 깃허브의 권장 커뮤니티 표준을 얼마나 잘 따르고 있는지를 확인할 수 있는데
📌 주요 항목 설명
✅ (초록 체크) : 완료됨
🟡 (노란색 점) : 아직 추가되지 않음
✔ 현재 완료된 항목
⚠️ 아직 추가해야 할 항목
그래서 위 페이지의 역할은 ???
🔹 이 페이지의 역할
프로젝트가 깃허브의 권장 커뮤니티 표준을 따르고 있는지 확인
빠진 문서들을 추가하여 더 개방적인 프로젝트 운영 가능
기여자들에게 더 명확한 가이드 제공하여 기여 활성화
즉 , GitHub가 추천하는 프로젝트 관리 표준을 얼마나 잘 따르고 있는지 보여주는 페이지임
GitHub의 Issue(이슈)는 프로젝트에서 발생한 버그, 기능 추가 요청, 문서 수정 요청, 일반적인 논의 등을 기록하고 관리하는 시스템이다.
쉽게 말하면 “할 일 목록(To-Do List) + 토론 게시판” 같은 개념이라고 생각된다.
Pull Request 는 저장소(repository)의 코드에 변경 사항을 제안하고
이를 병합(merge)해달라고 요청하는 기능이다.
🔹 Pull Request를 쓰는 이유
→ 여러 개발자가 동시에 작업할 때, 서로의 변경 사항을 병합할 수 있도록 도와줌.
→ 다른 개발자들이 코드 변경을 확인하고 피드백을 줄 수 있음.
→ 변경 사항을 미리 테스트하고 검토할 수 있어서, 직접 코드에 반영하기 전에 문제를 잡을 수 있음.
🔹 Pull Request 진행 과정
✅ 1. 브랜치 생성 (Fork & Branch)
✅ 2. 변경 사항 커밋 후 Push
✅ 3. Pull Request 생성
✅ 4. 코드 리뷰 및 피드백
✅ 5. PR 병합(Merge)
🚀 결론
👉 즉, PR은 오픈소스 협업과 팀 프로젝트에서 필수적인 코드 병합 요청 방식! 🚀
GitHub Discussions는 깃허브에서 제공하는 프로젝트 내 커뮤니티 게시판 같은 기능이다.
각 저장소(레퍼지토리)마다 Discussion 기능이 배치되어 있다.
기존의 Issues(이슈)는 버그나 기능 요청을 정리하는 공간인데, Discussions는 더 자유로운 토론, 질문, 아이디어 공유, 공지 등을 위한 공간이다.
✅ Discussions는 이런 경우에 사용해!