2024.07.01 프로그래머스 - 오픈소스 생태계 1
오픈소스 생태계 - 1
오픈소스 문서의 구조
오픈소스 구조에 정답은 딱히 없다.
기본 문서 ⭐
- LICENSE.md
- 오픈소스 라이센스 전문 명시 문서
- README.md
- 프로젝트 코드의 목적, 사용방법, 설명문서
- COPYRIGHT
- Contribute
- 기여자를 원할 경우
- CHANGELOG
- PR 규칙 문서
- Code of Conduct
- 커뮤니티 행동 강령
README 문서
README 문서는 사용자가 오픈소스를 접했을 떄 가장 처음 보게 되는 문서다.
사용자의 이해를 돕기 위해 아래 내용을 필수적으로 포함하면 좋다.
- 프로젝트의 목적과 용도
- 프로젝트가 무엇을 위해 만들어졌는가
- 어떤 문제를 해결할 수 있는 프로젝트인가
- 이 프로젝트는 왜 유용한가?
- 어떤 사람들을 대상으로 이 프로젝트를 만들었는가?
- 프로젝트의 작동 방식
- 프로젝트 시작 방법
- 프로젝트 설치, 사용 조건 (환경)
- 설치방법, 테스트방법,
- 설치 가이드
- 저작권, 라이선스 정보
- 어떤 라이센스로 배포되는지
- 상세한 라이센스 정보를 확인할 수 있는 곳
- 프로젝트 사용에 대한
제약조건
- 외부 리소스 정보
- 각 외부 리소스의 출처 및 배포 라이센스
- 기여방법
- 기여자가 기여를 하는 방식을 규정하여, 정형화된 기여문화를 만든다.
Code Of Conduct 문서
- 커뮤니티 행동강령!
- 커뮤니티의 목적과, 방향성, 바람직한 행동방법에 대한 기술 문서
- 좋은 커뮤니티를 만들기위해서는 필수로 작성해야하는 문서
Code Of Conduct 문서가 필요한 이유
- 건설적인 기여자, 커뮤니티 이용자 들의 태도를 촉진한다.
- 문제상황에 대한 조치를 취할 수 있다.
- Organizer들의 부담을 줄여준다.
필수적으로 기입되어야할 내용
- 효력이 발생하는 정확한 주체 (github issue 내, 커뮤니티 게시판 등)
- 누구에게 적용되는지
- 위반 시에 일어날 수 있는 일
- 위반 사례를 신고할 수 있는 방법
Github 속 기여를 위한 부분
Issues
업무 또는 협업, 버그 발견, 개선사항 등에 대한 자세한 사항을 명시하여
발행하는 게시판 개념
- 해당 Repo 관리자는 해당 issue를 읽고 프로젝트의 버그나 결함을 발견할 수 있다.
- 다른 사용자들이 같은 오류를 발견했을 경우에 대해 Issue내에서 이미 발생했던 오류를 검색할 수 있다.
- 프로젝트 내의 Issue Contribute에 대한 자세한 설명을 읽고 작성해야 한다.(문서가 있을 시 )
- 어디서나 그렇듯, 얘기하고자 하는 주제에 대해 구체적으로 조리있게 작성해야 한다.
- Open 된 Issue는 사용자 또는 관리자에 의해 해결되고 난 뒤 Close 된다.
- reOpen으로 다시 열 수도 있다.
- issue_template.md 파일을 만들어 Issue에 대한 템플릿을 적용할 수 있다.
- 일관된 형식의 Issue 문서를 관리할 수 있다.
PR : Pull Request
새로운 코드 변경사항을 원본 소스코드에 병합하기 위해 제안하는 것을 의미
- base : pull 요청을 받게 될 브랜치
- compare : base 로 요청을 보낼 브랜치
- title : PR 제목
Description : PR에 대한 설명 및 이유 등 자세한 사항을 설명할 수 있는 부분
- 프로젝트 관리자(Organizer) 측에서 해당 PR을 확인 후, 코드리뷰를 진행하여 이상이 없으면, pull 요청한 브랜치에 병합을 진행한다.
- 프로젝트당 설정은 다르지만 최소 1명 이상의 리뷰어가 리뷰를 끝내야 병합이 가능한 설정들이 있다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.