2024년에 초보자가 기여할 수 있는 10가지 필수 오픈소스 프로젝트
Source: Dev.to
오픈 소스에 처음 발을 들이는 것은 모두가 이미 친숙한 파티에 혼자 나타난 기분일 수 있습니다. 도와주고 싶지만 어디서 시작해야 할지 막막하죠. 실제 프로젝트에 기여하면 실력이 늘고 네트워크가 확장되며 GitHub 프로필도 실제로 의미 있게 됩니다. 2024년에는 진입 장벽이 그 어느 때보다 낮아졌습니다—다만 어디를 찾아야 할지 알면 됩니다.
first‑contributions / first‑contributions
GitHub:
이 저장소는 튜토리얼 형태로 꾸며진 레포입니다. 포크, 클론, 브랜치 생성, 변경, 풀 리퀘스트 생성 과정을 위험 없이 안내합니다.
git clone https://github.com/your-username/first-contributions.git
cd first-contributions
git checkout -b add-your-name
# Edit the README.md file, add your name
git add .
git commit -m "Add to Contributors list"
git push origin add-your-name
그 후 PR을 열면 됩니다. 이 레포는 50만 명 이상에게 첫 기여를 할 수 있게 도와왔습니다.
freeCodeCamp / freeCodeCamp
GitHub:
FreeCodeCamp의 코드베이스는 방대하지만 first-timers-only, help-wanted, good first issue 라벨이 명확히 붙어 있습니다. 초보자 작업은 주로 /curriculum 혹은 /client 폴더에서 이루어지며, 레슨 업데이트, 오타 수정, UI 컴포넌트 개선 등이 포함됩니다.
예시 수정 (레슨 마크다운 파일):
- Use const to declare variables.
+ Use `const` to declare variables that won't be reassigned.
프로젝트는 GitHub Discussions와 큰 Discord 커뮤니티를 활용합니다.
Public Lab / publiclab.org
GitHub:
Public Lab은 환경 정의를 위한 오픈 툴을 만들고 있습니다. 코드베이스는 주로 Ruby on Rails와 JavaScript로 이루어져 있지만, 문서, 디자인, 홍보 지원도 환영합니다.
전형적인 작업: .md 파일의 문서 개선.
# After forking and cloning
cd publiclab.org
# Edit a file like /wiki/using-git.md
git add .
git commit -m "Fix broken link in Git guide"
git push
status:help-wanted와 first-timers-only 라벨을 사용합니다.
simple‑icons (Mifi Labs)
GitHub:
이 프로젝트는 인기 브랜드의 SVG 아이콘을 제공합니다. 새로운 아이콘을 추가하는 방법이 잘 문서화돼 있습니다.
# In your terminal
npm run add -- --icon="MyBrand" --source="path/to/logo.svg" --color="#FF5722"
라이선스가 명확하지 않은 아이콘은 거부되니, 먼저 브랜드의 미디어 가이드라인을 확인하세요.
WordPress / Gutenberg
GitHub:
Gutenberg는 WordPress의 블록 편집기이며(~43 %의 웹사이트에서 사용) React와 Node.js로 구축되었습니다. 이슈에는 good first issue와 status:unconfirmed 라벨이 붙어 있습니다.
초보자에게 적합한 작업:
- UI 문자열의 오타 수정
- 블록 인스펙터 컨트롤 개선
- Jest 테스트 작성 또는 업데이트
예시 테스트 수정:
// Before
expect(wrapper.text()).toBe('Click me');
// After
expect(wrapper.find('button').text()).toBe('Click Me');
apache / superset
GitHub:
Superset은 데이터 시각화 플랫폼(Python/Flask + React)입니다. 새 기여자를 환영하며 good-first-issue 라벨을 사용합니다.
쉽게 시작할 수 있는 작업:
- UI에서 오류 메시지나 폼 검증 개선
// In a React component
{errorMessage && (
<div className="error">{errorMessage}</div>
)}
- Python 로깅 수정
# Before
print("Error occurred")
# After
app.logger.error("Dataset fetch failed: %s", str(e))
지원용 Slack 커뮤니티가 활발히 운영됩니다.
firstcontributions / community
GitHub:
이 저장소는 오픈 소스 기여와 관련된 커뮤니티 형성에 초점을 맞추고 있습니다. 질문을 하고, 성공 사례를 공유하며, 다른 사람들이 첫 PR을 만들 수 있도록 돕는 공간입니다. 코드 변경 없이도 참여할 수 있으니, 대화에 참여해 보세요.