우아한 오픈소스
우아한형제들
이준호
목차
• 오픈소스 개발자
• 스타트업 개발자
• 스타트업에서 오픈소스하는 개발자
오픈소스 개발자
오픈소스를 하면서 배우다
오픈소스를 하다
• ProjectBS
• BsSelector
• Beyond the Sizzle.js. Fastest pure-JavaScript CSS DOM Selector engine
• https://github.com/projectBS/bsSelector
• BsNet
• CORS기반의 Proxy 서버구축
• https://github.com/projectBS/bsNet
• MoGL
• lightweight & high performance MObile webGL library
• https://github.com/projectBS/MoGL
오픈소스를 하다
• bsSelector
• Beyond the Sizzle.js.
• Fastest pure-JavaScript
• CSS DOM Selector engine
오픈소스를 하다
• bsNet
• CORScross-origin resource sharing기반
• Proxy 서버구축
오픈소스를 하다
• MoGL
• lightweight
• high performance
• MObile webGL library
오픈소스를 하다
• 페이스북 커뮤니티
• 커미터: 21명
• 사무국: 13명
• NIA 오픈커뮤니티리더 및 프로젝트 선정
• 네이버 D2 지원커뮤니티 선정
• NIPA 글로벌 오픈프론티어 선정
• 전자전부 표준 프레임웍
오픈소스에서 배우다
• 코드
• 코드가 곧 오픈소스의 생명력
• 끊임없는 코드 리뷰
• 문서
• 대부분의 문서는 작성과 동시에 썩는다
• 사용자
• 오픈소스의 존재 의의
오픈소스에서 배우다
• 개발자가 빠지기 쉬운 함정
• 내 코드는 소중해
• 내 코드에 대한 지적을 나에 대한 지적으로 착각하는 경우가 많다
• 심지어 지적 당하기 싫어서 코드를 오픈하지 않는다
• 관점의 변화
• 코드를 더 적극적으로 오픈하면서 행복도가 더 높아진다
• 진짜 오픈소스의 열매는 바로 “관점의 변화"
• 개발자는 코드에 대해 이야기할 때 가장 즐겁다
스타트업 개발자
스타트업에서 일하며 배우다
스타트업에서 일하다
• 우아한형제들
• 대한민국 1등 배달 앱
• 서비스
• 배달의민족
• 배민라이더스
• 배민프레시
• 배민쿡
스타트업에서 배우다
• 역할 분담이 유연해서 여러가지 일을 해볼 기회가 있다
• 여러가지 일을 해야 한다
스타트업에서 배우다
• 성장하는 모습을 지켜볼 수 있다
• 성장해야 한다
스타트업에서 배우다
• 즐길 수 있다면 정말 즐거운 환경
• “배는 항구에 있을 때 가장 안전하지만 배의 목적이 항구에 있는 것은 아니다”
• 리소스를 집중할 곳에 집중해야 한다
스타트업에서 오픈소스하는
개발자
본격 생계형 오픈소스
스타트업에서 오픈소스를 하다
• 스타트업에서의 고민
• 프론트엔드 개발자
• 모든 프로젝트에 숙련된 프론트엔드 개발자를 투입할 수 있는가
• 퍼블리셔, 디자이너
• 퍼블리셔, 디자이너와 협업이 쉬운가
• 비 프론트엔드 개발자
• 사용중인 프레임웍의 코드 분석이 가능한 개발자가 있는가
스타트업에서 오픈소스를 하다
• WoowahanJS
• 큰 규모의 웹 어플리케이션 개발을 위한 프레임워크
• 협업, 생산성
• 실제 업무 환경 기준으로 격리
• https://www.npmjs.com/package/woowahan
스타트업에서 오픈소스를 하다
Action
var HELLO_ACTION = 'HELLO_ACTION';
Router
app.start({ url: '/', view: HelloView, container:'#app' });
Reducer
var HelloReducer = Woowahan.Reducer.create(HELLO_ACTION, function() {
this.finish({ name: 'shallaa', age: 19 });
});
스타트업에서 오픈소스를 하다
View
this.dispatch(Woowahan.Action.create(HELLO_ACTION), function(data) {
this.setModel(data);
});
Template
<div>
<p data-role="bind" data-name="name"></p>
<p data-role="bind" data-name="age"></p>
</div>
https://shallaa.github.io/hello-woowahan/
스타트업에서 오픈소스를 하다
• 프레임워크 통합
• 효율적으로 지원, 가이드
• 동시 개발이 가능
• View와 화면 구조 개발
• API와 대응하는 Reducer 개발
스타트업에서 오픈소스를 하다
• 사내 프레임워크
• 회사
• 개발한 인원이 회사를 떠나면 기술지원, 후속개발이 불가능하다
• 개발자
• 인기있는 프레임워크 사용자가 아니라서 불이익이 있을 수 있다
• 오픈소스 프레임워크
• 회사
• 기술지원, 후속개발이 가능한 생태계를 가지게 된다
• 개발자
• 오픈소스에 참여할 수 있는 진입 장벽이 낮아진다
스타트업에서 오픈소스를 하다
• 내부 개발자들의 오픈소스 참여 진입장벽을 낮추다
• 릴리즈 버전관리를 통해 최신 버전을 사용하기 편해지다
• 피드백과 의견제시가 활발해지다
• 외부 개발자들의 참여를 받다
끗
수고하셨습니다.

우아한오픈소스