수 있어요 (maybe) • There is no magic on code • 이게 뭐지? 아 이게 이거구나 (의문 -> 기술 습득) • 와 이 언어/프레임워크에 이런 기능도 있다고? • 이런 기능은 이렇게 구현하면 되겠구나 • 아 이런 디자인패턴이 있네/이렇게 쓰는거구나 • 나도 할 수 있다 (써먹기) • 이젠 나도 코드 읽기 두렵지 않다! Step1 : 오픈소스 내부 들여다보기
-> 이해로 연결) • 참고할 수 있는 레퍼런스가 블로그만이 아님. 세상에 공개된 모든 소스가 레퍼런스 • “볼 수 있는 능력들”이 생김 (코드 퀄리티/코드 아키텍처 등등) • 오픈소스를 쓰다가도 내가 직접 고칠 수도 있음 (이슈 리졸브만 무한정 기다리는게 아니라) • 문제를 적절한 답으로 해결하는 “소프트웨어 엔지니어”가 되는 첫걸음 • 뭔가 잘읽으면 멋져보임 Step1 : 오픈소스 내부 들여다보기 코드를 잘 읽게 되면
코드 뿐만 아니라 Readme, 문서, 폴더 구조, PR, convention, strategy 등도 참고할 수 있음 • “도구”가 이런 게 있는지 처음 아는 경우도 (개발 생산성을 증진시키는 개발 라이브러리들) • 생각보다 많은 것들이 오픈소스다! 내가 쓰고 있는게 “오픈소스”일수도 (ex. Android: AOSP / Chrome: Chromium) Step1 : 오픈소스 내부 들여다보기 코드 뿐만 아니라
/ 기여 용이성 / DX ( Developer Experience) 등을 고려하며 스스로 라이브러리를 설계가능 개발/유지보수하며 얻게되는 인사이트 일종의 프로덕트를 만들어보는 경험 그 자체 (기획/설계/마케팅까지) 메인테이너/커미터들과의 협업도 경험 가능 Step2 : 오픈소스 만들어보기 그래서 뭐가 좋나요
2. 오픈소스 만들기 두려워하지 말자, 내가 필요해서 만든 건 누군가에게도 도움될 수 있다 3. 오픈소스 기여하기 두려워하지 말자, 하나씩 차근차근 하고 부족한 건 그들이 알려줄 것이다 4. 소프트웨어 프로덕트 “레퍼런스”라고 생각하자 (배울게 코드만 있는 건 아니다) -> 오픈소스 생각보다 안 어렵습니다 위캔두잇