멈추지 않는 기록

[정보공유] 오픈소스 기여와 커리어 성장 본문

정보 공유

[정보공유] 오픈소스 기여와 커리어 성장

pangil_kim 2025. 4. 30. 14:13
728x90

🔹 강사 소개 및 활동 배경

▶ 주요 경험 및 활동

  • 2023 삼성전자 하계 인턴 합격
    • 조직 구조: 사업부 > 실 > 팀 > 그룹
      • 팀: 약 1000명
      • 그룹: 약 100명
    • 면접 시 PPT 발표:나의 커리어 로드맵
      • 3년: 업무에 능숙한 전문가
      • 5년: 삼성전자 오픈소스 정식 참여
      • 10년: 글로벌 프로젝트의 아키텍트
  • 첫 업무: DevOps 기반 업무 시작
    • Content Layer: Android Legacy WebView, HTML Viewer 등
  • 예상치 못한 첫 오픈소스 기회
    • HTML Viewer (안드로이드 기본 WebView 앱) 패치 → AOSP 업로드 → 다음 안드로이드 OS에 반영

🔹 오픈소스 및 브라우저 기술

▶ AOSP (Android Open Source Project)

  • URL: https://source.android.com
  • Android 플랫폼 전체 오픈소스 코드 공개
  • 방대한 코드량 + 빌드 시간
  • Contribution 가이드 숙지 후 기여
  • 오픈소스 첫 기여를 통해 배운 점
    • 개발 프로세스 전체 경험
    • 코드 리뷰의 중요성 인식
    • 설득력 있는 커뮤니케이션 기술
    • 리뷰어의 디테일 보완 역할 체험

▶ Chromium & Chrome

항목설명

Chromium 구글이 공개한 오픈소스 웹 브라우저 프로젝트
Chrome Chromium을 기반으로 만든 구글의 상용 브라우저 (추가 기능 포함)
  • 주요 차이점:
    • Crash Reports: Chrome만 사용자 에러 리포트를 자동 전송
    • User Metrics: 사용자의 사용 행동 수집 기능
    • Video/Audio Codec: Chrome은 독점 코덱 추가 제공
    • 배포 방식: Chromium은 빌드 후 직접 배포, Chrome은 자동 업데이트 포함
    • Google API Key: Chrome만 API 접근 가능

🔹 Chromium Committer 제도

▶ 커미터(Committer)

  • 의미: 코드에 직접 커밋할 수 있는 권한이 있는 사람
  • 승급 조건:
    • 10~20개의 non-trivial 패치 반영
    • 기존 커미터 1명 추천 + 2명 이상의 동의 필요
    • Contributor → Committer → OWNER(리뷰어)로 성장

▶ 권한

  • bug edit / try bot 사용 가능

🔹 외부 활동 및 커뮤니티

  • 오픈 프런티어 모집
    • 멘토형, 기여형 프로그램 운영
  • 2025 오픈소스 컨트리뷰션 아카데미
    • 체험형 프로젝트 중심
    • 멘티 모집 중

🔹 웹 생태계와 플랫폼 개발 프로세스

▶ 웹 플랫폼의 역할

  • 웹 브라우저는 단순한 렌더링 도구가 아닌, 웹 플랫폼 역할 수행
  • 표준화 노력을 통해 브라우저 간 기술 파편화를 줄임

▶ 웹 표준화 흐름

  • 커뮤니티 기반: WHATWG, W3C 
  • 작업 그룹 단위로 기능/목적별 분류
  • 정기 미팅 (온라인, IRC, TPAC 등)

▶ 웹 플랫폼 개발 절차

  1. 기능 제안 및 표준 문서화 (W3C, WHATWG)
  2. 구현 전 web-platform test(wpt) 작성
  3. 웹 엔진에 기능 구현
  4. Pull Request로 리뷰 요청
  5. 리뷰 통과 후 Merge → Release
  6. 테스트: Unit Test / E2E / wpt
  7. Github Pages로 문서 배포
  8. 홍보 및 문서화

▶ 코드 리뷰 시스템

  • OWNERS 파일로 폴더별 리뷰어 지정
  • 일관된 리뷰어에게 지속적으로 리뷰 받는 것이 중요

🔹 정리

 

분야주요 내용 주요 내용
첫 오픈소스 경험 삼성전자 인턴 중 HTML Viewer 기여, DevOps 경험
Chromium 기술 Chrome과의 차이점, 오픈소스 정책 이해
Committer 성장 단계적 역할 변화와 권한 획득 방식
웹 표준화 WHATWG/W3C 중심의 커뮤니티 활동과 브라우저 간 협업
기여 과정 테스트, 리뷰, 배포까지의 전체 개발 사이클 학습

 

728x90