🎯 μ˜€ν”ˆ μ†ŒμŠ€ ν”„λ‘œμ νŠΈλ₯Ό κ΅¬μ„±ν•˜λŠ” λ‹€μ–‘ν•œ μ—­ν• κ³Ό μ°Έμ—¬ν•  수 μžˆλŠ” κΈ°μ—¬(Contribution) 방법을 μ •λ¦¬ν•©λ‹ˆλ‹€.


πŸ“— Today I Learned

μ˜€ν”ˆ μ†ŒμŠ€ κΈ°μ—¬

μ˜€ν”ˆ μ†ŒμŠ€ ꡬ성원 μ—­ν• 

  • μ €μž‘μž (Author) : ν”„λ‘œμ νŠΈλ₯Ό 처음 λ§Œλ“€κ±°λ‚˜ μ‹œμž‘ν•œ μ‚¬λžŒ λ˜λŠ” 쑰직

  • λ©”μΈν…Œμ΄λ„ˆ (Maintainer) : ν”„λ‘œμ νŠΈμ˜ λ°©ν–₯을 κ΄€λ¦¬ν•˜λ©°, μ€‘μš”ν•œ μ˜μ‚¬κ²°μ •μ„ ν•˜λŠ” 핡심 κΈ°μ—¬μž

  • 컀미터 (Committer) : μ»¨νŠΈλ¦¬λ·°μ…˜μ„ κ²€ν† ν•˜κ³  λ³‘ν•©ν•˜λŠ” κΆŒν•œμ„ κ°€μ§„ κΈ°μ—¬μž

  • μ»¨νŠΈλ¦¬λ·°ν„° (Contributor) : μ½”λ“œ, λ¬Έμ„œ, λ””μžμΈ λ“± λ‹€μ–‘ν•œ ν˜•νƒœλ‘œ κΈ°μ—¬ν•˜λŠ” λͺ¨λ“  μ‚¬λžŒ

  • μ‚¬μš©μž (User) : μ˜€ν”ˆ μ†ŒμŠ€λ₯Ό μ‚¬μš©ν•˜λŠ” μ‚¬λžŒ. 이슈 제보, ν”Όλ“œλ°± 등을 톡해 κ°„μ ‘ κΈ°μ—¬ κ°€λŠ₯


🏷️ GitHub μžλ™ μ—­ν•  λ°°μ§€ 정리

λ°°μ§€μ˜λ―Έμ‚¬μ§„
Authorν•΄λ‹Ή μ΄μŠˆλ‚˜ PR을 μƒμ„±ν•œ μ‚¬λžŒ. 쑰직 μ†Œμ† 여뢀와 관계없이 ν‘œμ‹œλ¨.
Memberν•΄λ‹Ή 리포지토리λ₯Ό ν¬ν•¨ν•œ 쑰직(Organization)의 정식 ꡬ성원.
Contributorν•΄λ‹Ή 리포지토리에 컀밋 기둝이 μžˆλŠ” μ‚¬μš©μž.
Owner이 리포지토리λ₯Ό μ†Œμœ ν•œ GitHub 쑰직의 졜고 κ΄€λ¦¬μž. 보톡 쑰직 μ„ΈνŒ…κ³Ό κΆŒν•œμ„ κ΄€λ¦¬ν•˜λŠ” 역할을 함.



μ»¨νŠΈλ¦¬λ·°μ…˜ ν™œλ™ μœ ν˜•

μ˜€ν”ˆ μ†ŒμŠ€ ν”„λ‘œμ νŠΈμ— κΈ°μ—¬ν•˜λŠ” 방법은 κΌ­ μ½”λ“œ μž‘μ„±λΏλ§Œμ΄ μ•„λ‹™λ‹ˆλ‹€. μž‘μ€ μˆ˜μ •λΆ€ν„° κΈ°λŠ₯ κ°œμ„ κΉŒμ§€, μ•„λž˜μ™€ 같은 λ‹€μ–‘ν•œ ν˜•νƒœμ˜ ν™œλ™μ΄ λͺ¨λ‘ μ†Œμ€‘ν•œ κΈ°μ—¬κ°€ λ©λ‹ˆλ‹€.

  • μ˜€νƒ€ μˆ˜μ • : λ¬Έμ„œλ‚˜ 주석 등에 μžˆλŠ” μ˜€νƒˆμžλ₯Ό μˆ˜μ •ν•˜λŠ” μž‘μ—…μž…λ‹ˆλ‹€.

  • λ²ˆμ—­ 및 λ‹€κ΅­μ–΄ 지원 : ν”„λ‘œμ νŠΈλ₯Ό λ‹€λ₯Έ μ–Έμ–΄ μ‚¬μš©μžλ„ 이해할 수 μžˆλ„λ‘ λ¬Έμ„œλ₯Ό λ²ˆμ—­ν•˜κ±°λ‚˜ λ‹€κ΅­μ–΄ 지원을 μΆ”κ°€ν•˜λŠ” μž‘μ—…μž…λ‹ˆλ‹€.

  • λ¬Έμ„œ μ„€λͺ… 보완 : κΈ°μ‘΄ λ¬Έμ„œμ— λˆ„λ½λœ μ„€λͺ…을 μΆ”κ°€ν•˜κ±°λ‚˜, 예제λ₯Ό λ³΄μ™„ν•˜μ—¬ 더 μ‰½κ²Œ 이해할 수 μžˆλ„λ‘ λ•λŠ” ν™œλ™μž…λ‹ˆλ‹€.

  • UI/UX κ°œμ„  μ œμ•ˆ : μ‚¬μš©μž κ²½ν—˜μ„ ν–₯μƒμ‹œν‚¬ 수 μžˆλ„λ‘ λ ˆμ΄μ•„μ›ƒ, 흐름, λ””μžμΈ 등에 λŒ€ν•œ 아이디어λ₯Ό μ œμ•ˆν•©λ‹ˆλ‹€.

  • 버그 μˆ˜μ • 및 리포트 μž‘μ„± : λ°œκ²¬ν•œ 버그λ₯Ό 이슈둜 λ“±λ‘ν•˜κ±°λ‚˜, 직접 μˆ˜μ •ν•˜λŠ” μž‘μ—…μž…λ‹ˆλ‹€.

  • λ¬Έμ„œν™” μž‘μ—… : README, μ‚¬μš©λ²•, 개발 κ°€μ΄λ“œ λ“± λ¬Έμ„œλ₯Ό μ²΄κ³„μ μœΌλ‘œ μ •λ¦¬ν•˜λŠ” μž‘μ—…μž…λ‹ˆλ‹€.

  • κΈ°λŠ₯ μΆ”κ°€ / μˆ˜μ • / 제거 : ν”„λ‘œμ νŠΈμ— ν•„μš”ν•œ κΈ°λŠ₯을 μƒˆλ‘œ κ΅¬ν˜„ν•˜κ±°λ‚˜ κΈ°μ‘΄ κΈ°λŠ₯을 κ°œμ„  λ˜λŠ” μ œκ±°ν•˜λŠ” μž‘μ—…μž…λ‹ˆλ‹€.

  • λ¦¬νŒ©ν† λ§ : κΈ°λŠ₯은 κ·ΈλŒ€λ‘œ μœ μ§€ν•˜λ˜, μ½”λ“œμ˜ κ°€λ…μ„±μ΄λ‚˜ ꡬ쑰λ₯Ό κ°œμ„ ν•˜λŠ” μž‘μ—…μž…λ‹ˆλ‹€.

  • ν…ŒμŠ€νŠΈ μ½”λ“œ μΆ”κ°€ 및 보완 : κΈ°μ‘΄ κΈ°λŠ₯이 μ˜λ„λŒ€λ‘œ λ™μž‘ν•˜λŠ”μ§€ 확인할 수 μžˆλ„λ‘ ν…ŒμŠ€νŠΈ μ½”λ“œλ₯Ό μž‘μ„±ν•˜κ±°λ‚˜ λ³΄μ™„ν•˜λŠ” μž‘μ—…μž…λ‹ˆλ‹€.
    ...


πŸ€” μ»¨νŠΈλ¦¬λ·°μ…˜(Contribution)을 ν•˜λŠ” μ΄μœ λŠ” λ¬΄μ—‡μΌκΉŒ?

πŸ‘©β€πŸ’» μ˜€ν”ˆ μ†ŒμŠ€ μ €μž‘μž μž…μž₯

  • ν˜Όμžμ„œλŠ” μ°ΎκΈ° μ–΄λ €μš΄ λ²„κ·Έλ‚˜ λ¬Έμ œμ μ„ μ™ΈλΆ€ μ»¨νŠΈλ¦¬λ·°ν„°κ°€ λ°œκ²¬ν•΄ 쀄 수 μžˆμŠ΅λ‹ˆλ‹€.
  • μ‹€μ œ μ‚¬μš©μžλ“€μ΄ κ²ͺλŠ” λΆˆνŽΈν•¨μ΄λ‚˜ κ°œμ„ μ μ„ 더 λΉ λ₯΄κ²Œ νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • μ½”λ“œ ν’ˆμ§ˆμ„ 높이고 κΈ°λŠ₯을 λ‹€λ“¬λŠ” 데 μžˆμ–΄ λ‹€μ–‘ν•œ κ΄€μ μ˜ ν”Όλ“œλ°±μ„ 받을 수 μžˆμŠ΅λ‹ˆλ‹€.

πŸ™‹β€β™€οΈ μ˜€ν”ˆ μ†ŒμŠ€ μ‚¬μš©μž/μ»¨νŠΈλ¦¬λ·°ν„° μž…μž₯

  • κ²½ν—˜ λ§Žμ€ κ°œλ°œμžλ“€λ‘œλΆ€ν„° 리뷰λ₯Ό λ°›μœΌλ©° μ„±μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • λ‹€μ–‘ν•œ μ½”λ“œλ₯Ό 읽고 μ΄ν•΄ν•˜λ©΄μ„œ μ½”λ“œ 해석 λŠ₯λ ₯κ³Ό λ¬Έν•΄λ ₯이 ν–₯μƒλ©λ‹ˆλ‹€.
  • λ‚΄κ°€ ν•„μš”ν•œ κΈ°λŠ₯을 직접 κ΅¬ν˜„ν•˜κ±°λ‚˜ μ œμ•ˆν•  수 μžˆμ–΄, μ‹€μ œ μ‚¬μš© ν™˜κ²½μ—μ„œ 더 νŽΈλ¦¬ν•œ κ²½ν—˜μ„ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.
  • κΈ°μ—¬ν•œ λ‚΄μš©μ΄ 반영될 λ•Œ λŠλΌλŠ” 성취감을 λŠλ‚„ 수 μžˆμŠ΅λ‹ˆλ‹€.



μ»¨νŠΈλ¦¬λ·°μ…˜ 절차

1. μ˜€ν”ˆ μ†ŒμŠ€ ν”„λ‘œμ νŠΈ fork

GitHubμ—μ„œ κΈ°μ—¬ν•˜κ³  싢은 μ˜€ν”ˆ μ†ŒμŠ€ ν”„λ‘œμ νŠΈλ₯Ό μ°Ύμ•˜λ‹€λ©΄,
λ¨Όμ € ν•΄λ‹Ή 리포지토리λ₯Ό μžμ‹ μ˜ GitHub κ³„μ •μœΌλ‘œ Fork(볡제)ν•©λ‹ˆλ‹€.


2. Forkν•œ 리포지토리λ₯Ό λ‚΄ λ‘œμ»¬μ— Clone

Forkν•œ 리포지토리 μ£Όμ†Œλ₯Ό 볡사해, 둜컬 개발 ν™˜κ²½μ— git clone λͺ…λ Ήμ–΄λ‘œ ν”„λ‘œμ νŠΈλ₯Ό λ‚΄λ €λ°›μŠ΅λ‹ˆλ‹€.

git clone https://github.com/내아이디/λ³΅μ œν•œ-레포.git

3. μ½”λ“œ μž‘μ„± μ „, ν”„λ‘œμ νŠΈ κ·œμΉ™ 확인

본격적으둜 μž‘μ—…μ„ μ‹œμž‘ν•˜κΈ° 전에 λ‹€μŒκ³Ό 같은 κ°€μ΄λ“œλΌμΈμ„ κΌ­ 확인해야 ν•©λ‹ˆλ‹€.

  • μ½”λ“œ μŠ€νƒ€μΌ / μ»¨λ²€μ…˜

  • 컀밋 λ©”μ‹œμ§€ 포맷 (ex. Conventional Commits)

  • 브랜치 μ „λž΅

  • PR Template

  • κΈ°μ—¬ κ°€μ΄λ“œ(CONTRIBUTING.md)


4. μ½”λ“œ κ΅¬ν˜„ 및 컀밋

κΈ°λŠ₯ μΆ”κ°€, μˆ˜μ •, 버그 ν”½μŠ€ λ“± μ›ν•˜λŠ” λ‚΄μš©μ„ κ΅¬ν˜„ν•œ λ’€ 컀밋(commit)ν•©λ‹ˆλ‹€. μ΄λ•Œ 컀밋 λ©”μ‹œμ§€λ„ ν†΅μΌλœ κ·œμΉ™μ„ λ”°λ¦…λ‹ˆλ‹€.


5. λ‚΄ GitHub λ¦¬ν¬μ§€ν† λ¦¬λ‘œ Push

λ‘œμ»¬μ—μ„œ μž‘μ—…ν•œ λ‚΄μš©μ„ μžμ‹ μ˜ GitHub λ¦¬ν¬μ§€ν† λ¦¬λ‘œ pushν•©λ‹ˆλ‹€.

git push origin μž‘μ—…ν•œ-λΈŒλžœμΉ˜μ΄λ¦„

6. 원본(μ €μž‘μž) 리포지토리에 Pull Request 생성

GitHubμ—μ„œ Fork 원본 리포지토리에 λŒ€ν•΄ Pull Request(PR)λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€. μ΄λ•Œ μ–΄λ–€ 변경을 ν–ˆλŠ”μ§€ μ„€λͺ…을 μžμ„Ένžˆ μž‘μ„±ν•˜λ©΄ 리뷰가 μˆ˜μ›”ν•΄μ§‘λ‹ˆλ‹€.


7. Contributor License Agreement(CLA) 확인

일뢀 ν”„λ‘œμ νŠΈλŠ” PR을 보낼 λ•Œ CLA(κΈ°μ—¬μž λΌμ΄μ„ μŠ€ λ™μ˜μ„œ)에 μ„œλͺ…ν•΄μ•Ό ν•©λ‹ˆλ‹€. 처음 PR을 보낼 λ•Œ μ•ˆλ‚΄κ°€ 뜨며, 보톡 GitHub κ³„μ •μœΌλ‘œ 클릭 ν•œ 번이면 μ™„λ£Œλ©λ‹ˆλ‹€.


8. 리뷰어/λ©”μΈν…Œμ΄λ„ˆμ˜ κ²€ν† 

PR은 ν”„λ‘œμ νŠΈλ₯Ό κ΄€λ¦¬ν•˜λŠ” 리뷰어, 컀미터, λ©”μΈν…Œμ΄λ„ˆ, μ €μž‘μžκ°€ κ²€ν† ν•©λ‹ˆλ‹€. μ§ˆλ¬Έμ„ λ‚¨κΈ°κ±°λ‚˜, μˆ˜μ • μš”μ²­μ„ 받을 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. μž‘μ€ PR일 경우, κ²€ν†  없이 λ°”λ‘œ 병합될 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.


9. PR 병합 (merge)

승인되면 PR이 Merge(병합)되며, Pull Request closed μ•Œλ¦Όμ΄ ν‘œμ‹œλ©λ‹ˆλ‹€.


10. μ»¨νŠΈλ¦¬λ·°ν„° λͺ©λ‘μ— 등둝

ν”„λ‘œμ νŠΈ READMEλ‚˜ Contributors λ¦¬μŠ€νŠΈμ— λ‚΄ GitHub 계정이 λ“±λ‘λ˜λ©° 곡식 μ»¨νŠΈλ¦¬λ·°ν„°κ°€ λ©λ‹ˆλ‹€.




✏️ 회고

μ˜€ν”ˆ μ†ŒμŠ€μ— κΈ°μ—¬ν•˜λŠ” μˆ˜λ§Žμ€ 방법이 μžˆλ‹€λŠ” κ±Έ μ•Œκ²Œ λ˜μ—ˆκ³ , 이λ₯Ό 톡해 μž‘κ³  큰 ν”„λ‘œμ νŠΈλ“€μ— λ§Žμ€ κΈ°μ—¬λ₯Ό ν•˜κ³  μ‹Άλ‹€λŠ” 생각을 ν–ˆμŠ΅λ‹ˆλ‹€.

profile
🌱개발 기둝μž₯

0개의 λŒ“κΈ€