📚 Part 1. 오픈 소스와 친해지기
📁 Intro: 오픈소스란 무엇일까?
📌 오픈소스란 무엇일까?
🔗오픈 소스란?
- 누구나 자유롭게 접근하고, 수정하고, 배포할 수 있는 소스코드를 말한다
- 쉽게 말해서 집단지성 결과물이다.
- 넓은 관점에서 보면 위키피디아 같은 온라인 백과사전도 오픈소스라고 볼 수 있다.
🔗오픈소스 기여에 도전하면 어떤 좋은 점이 있을까?
- 좋은 코드에 대해 배울 수 있다.
- 협업 방식에 대해서 배울 수 있다
- 포트폴리오가 될 수 있다
- 영어 독해실력이 향상된다.
🔗 대표적인 오픈소스 라이선스
- MIT License
- Apache License
- GPL License
📁 오픈소스 기여를 위한 사전지식
📌 Markdown
- 텍스트 형식 구문의 가벼운 마크업 단어
- 개발 도메인에서 문서 작업에 널리 쓰인다
- 문법이 간결하고 쉽다. 지원하는 플랫폼이 광범위하다. ex) github, notion 등
📌 Git
- 소스코드 버전 관리 시스템 (Version Control System, VCS) 도구
- 게임의 세이브 포인트 같은 역할
- 소스코드의 변경 내역을 추적하고 관리하기가 용이하다
- 내 컴퓨터에서 활용하는 tool
- 알아야할 명령어
git clone
- 저장소에서 소스코드를 복제해서 내 저장소로 받아오는 역할
- 원격 저장소에서 내 로컬로 받아올 때 많이 사용
git add
- 로컬에서 작업한 소스코드를 커밋 히스토리에 저장하기 전에 저장 바구니(?) 같은 곳에 담는 역할
git commit
git push
- 로컬에서 저장한 것을 원격 저장소에 올리는 행위
📌 Github
- 깃허브(Github)는 분산 버전 관리 툴인 깃(Git)를 사용하는 프로젝트를 지원하는 웹 호스팅 서비스
- 원격 저장소를 통하여 소스코드를 원격으로 관리하고 협업할 수 있다
- 많은 오픈소스가 Github 서비스를 이용하여 관리되고 있다.
- 알아야할 기능
Fork
- 원본을 복제해서 내 계정의 저장소로 가져오는 기능
Issue
- 저장소 안에 어떠한 이슈 사항이나 제보할 것, 사건에 대한 공지 등을 처리
PR (Pull Request)
- 어떤 작업을 했을 때 소스코드끼리 합치는 일 = merge
- merge 전에 검토하는 기능
- 원작자에게 나의 수정을 반영해달라고 요청을 보내는 것
- 원작자는 이 요청을 받을지 말지 결정을 하고, 만약 문제가 있다면 거절도 할 수 있음
git은 말 그대로 버전관리를 할 수 있는 tool. 깃허브는 버전 관리를 한 여러가지 히스토리들을 웹 상으로 올려줄 수 있는 원격 저장소 역할을 함. 웹 서비스 플랫폼.
📁 오픈소스 기여 마인드 셋
📌 오픈소스 기여는 쉬울까? 어려울까?
- 쉬움
- 명확한 목표 세우기 (적절한 난이도. 결과에 연연하지 않고 과정을 즐긴다)
📌 오픈소스에 기여하려면?
- 기여하고 싶은 라이브러리를 찾고 기여를 준비하기
- 문서 기여, 버그 제보 등 쉬운 부분 소스코드 기여까지 단계적으로 도전하기
- 결과에 연연하지 않고 과정을 즐기기
📚 Part 2 MDN Web Docs 기여 해보기 (문서 기여해보기)
📁 세상에서 가장 쉬운 오픈소스 기여
1️⃣ 오픈소스 기여 자신감 기르기!
- 문서(Docs) 관련 기여는 진입장벽이 상대적으로 낮다
- 지금 당장 할 수 있는 기여를 찾아보기
- 적절한 프로젝트를 선정 후 가이드에 따라 문서에 기여해보기
2️⃣ 적절한 오픈소스 문서(Docs) 찾아보기
- 평소 자주 쓰던 라이브러리 혹은 프레임워크의 문서
- 위키 성격의 문서 서비스 기여(ex. MDN Web Docs, 모던 자바스크립트 튜토리얼 등등)
- 번역 기여, 오역 개선 등 쉬운 기여부터 지식 기여 등 본인에게 맞는 적절한 난이도 선택하기
- 잘하려기보다는 기여하는 과정에 의의를 두기!
📁 Contributor 되어보기
📌 Contributor ?
- 기여자, 공헌자라는 뜻으로 오픈소스에 기여한 이력이 있는 사람을 뜻한다.
- MDN 문서 한국 첫 기여자들을 위한 가이드라인 살펴보기
📌 MDN (Mozilla Developer Network) Web Docs
- MDN Web Docs란 다양한 웹 개발 자료를 담고 있는 개발자 커뮤니티 사이트
- 기여 방법이 명확하게 나와있고 쉽다
- 단순 오타부터 단어 번역, 의역 등 자신의 역량에 맞게 도전하기에 좋다
1️⃣ MDN (Mozilla Developer Network) Web Docs 기여 준비
📁 MDN Web Docs 기여 실습 : 개요
📌 개요
📌 가이드라인 살펴보기
https://github.com/mdn/translated-content/issues/827
📌 로컬 환경 셋팅
- 문서 저장소 두 곳에 대해 Fork & Clone
git clone https://github.com/[사용자네임]/content.git

- 작업 브랜치 생성 후 체크아웃

🔗 파일 설정
.env 파일 설정
content/ 경로 아래에 .env 만들기
.env 파일 작성하기
CONTENT_TRANSLATED_ROOT=/[본인파일경로]/mdn_proj/translated-content/files
EDITOR=code
yarn install
yarn start
http://localhost:5042/ko/docs/Web
로 접속하면 된다... pwd를 입력하였을 때 경로 그대로 입력하였더니 오류가 발생했다. 이유를 찾아보니.. C를 빼야 한다고.. 허허 그냥 Users부터 경로를 넣으면 된다.

화면에 있는 open in your editor를 누르면 편집창이 뜬다
