DAY 1 / 11:00~11:45 / TRACK 1
Open, Share, Enjoy : 네이버의 오픈소스 활동
잘 쓰고있는, 외부 개발자들에게 필요할 만한, 외부에 내놓았을 때 발전 가능성이 있으면 더 좋다.
오픈소스 공개 시나리오
Refactoring
코드정리, 어디까지 공개할 것인가
배포 라이선스 결정
오픈소스 매니저들이 코드를 보고 어떤 라이선스를 사용할 것인가. 사용한 라이브러리들에 모두 해당되는 라이선스. 경쟁 라이브러리가 있을 경우 그 경쟁 라이브러리의 라이선스 채택
Documentation
ETC
프로젝트 특성에 맞추어 사용자에게 도움이 될 만한 작업(데모사이트, 데모영상, 샘플코드 등)
왜 오픈소스를 하는가?
오픈소스 생태계의 발전을 위해(선순환 구조)
더 좋은 소프트웨어로 발전하기 위해
내부를 벗어난 다양한 환경과 요구사항에 대응하면서 공개전보다 커버리지 발전 가능
사용자로부터의 컨트리뷰션
REVIEW
코드 공개, 엔딩인 줄 알았지?
시작일 뿐이였다. 내부에서뿐이 엔딩인거지 외부에서는 시작이다.
운영 지옥(BEST CASE)에 빠지겠다는 각오
프로젝트의 목표를 정하자
우리는 왜 오픈소스 프로젝트로 공개하는가
오픈소스 프로젝트로 공개하는 것은 시작일 뿐, 회사 업무와 오픈소스 활동을 병행하는 고난의 길
다양한 사용자 요구사항을 받아들이는 기준점
프로젝트의 방향성(목표)이 없다면 사용자 의견을 받아들일 때마다 긴 논의가 필요
누가 운영할 것인가
Maintainer 역할에 대한 정의 필요
코드 저장소(remote) 운영 - 이슈대응, commit merge, Release - versioning, change log
프로젝트 운영에 대한 최종 결정권
빠르게 의사를 결정하는데에 도움이 된다.
민주적으로 정해봤으나 결정이 안됨.
어디까지 공개할 것인가
내부 사용 버전과 외부 공개 버전의 동시 운영 준비
최대한 두 버전을 동일하게 운영해야 고통의 중복 확률을 낮출 수 있음
공통적으로 모두 사용하게 되는 core 를 공개버전으로 관리하고, 내부 사용을 위한 feature 를 plugin으로 구성하면 확장성에 도움이 된다.
더 명료하게, 쉽게
그런 README 로 괜찮은가
프로젝트가 지향하는 방향을 명시
처음 방문한 사용자가 프로젝트를 이해하는데 도움이 된다.
뛰어난 품질의 코드를 개발하더라도 README 가 명확하지 않으면 사용자들의 관심을 끌기 어려울 수 있다.
그런 LICENCE 로 괜찮은가
프로젝트의 사용 조건을 명시
공개한 프로젝트를 어떤 조건에서 사용할 수 있는지 명시합니다
내부에 사용된 오픈소스 프로젝트의 라이선스 고려
다른 오픈소스 프로젝트를 포함하고 있는지 확인 필요. 라이선스 충돌이 일어나지 않는 범위 내에서 배포 라이선스를 결정합니다.
남의 주석을 지우지 마라
copyright 은 라이선스 문구. 지우면 위법
문서, 다다익선
때로는 코드보다 문서가 중요
프로젝트가 해결하려는게 무엇인지, 어떤 결과를 주는지
글로벌, 영어
세계화를 위해서
글로벌 오픈소스. 이슈로 영어로, 번역 작업을 이슈로 만들어서 컨트리뷰션을 유도하는 것도 좋음
주석도 꼭 잊지말고 번역
마성의 프로젝트로 키우기
프로젝트를 알리기
온라인 - 국내
기술 블로그, SNS 등
온라인 - 해외
Hacker News, Reddit
온라인 - Targeted
오픈소스 커뮤니티, 기술 뉴스레터
오프라인
컨퍼런스 발표, 밋업 참가
사용자 커뮤니티를 만들자
사용자들도 서로 교류할 수 있도록
메일링 리스트, 온라인 커뮤니티 - Google/Facebook Group
셀프 검색의 생활화
사용자의 후기 발굴, 문서 컨트리뷰션으로 이어갈 수도 있음
사용자를 컨트리뷰터로
적절한 밀당
첫 컨트리뷰션을 위한 개발팀의 적극적인 지원 - 빠르고 상세한 상세 리뷰
help wanted
등의 라벨 사용
ENDING
네이버에서 내려간 오픈소스들?
개인 프로젝트로 가져감, 창업 등
'it > information' 카테고리의 다른 글
DEVIEW 2017 [SESSION 2] 그런 REST API로 괜찮은가 (0) | 2018.10.30 |
---|---|
XECon 2016. 컨퍼런스 후기 (0) | 2016.11.29 |
GDG DevFest Seoul 2016. 컨퍼런스 후기 (2) | 2016.11.07 |