가이드페이지-표지
이름: 이문수

소속: NFLabs (aka. ZeppelinX)
Apache Zeppelin 과

오픈소스 비즈니스
이문수
moon@nflabs.com
https://github.com/Leemoonsoo
http://twitter.com/issuefreaks
https://www.facebook.com/moonsoo.lee.52
NFLabs (aka. ZeppelinX) Co-Founder
Apache Zeppelin PMC Chair
Zeppelin 프로젝트 시작
AMP Lab Spark/Shark 위에 Peloton 이라는 분석 솔루션 개발

당시 개발자 4명으로는 enterprise business 를 지속 하기 힘들었음 

가장 유용했던 인터렉티브 분석 기능을 오픈소스 해보면 어떨까?
2012년 12월
2013년 9월
Hadoop in seoul 2013 컨퍼런스에서 open source 프로젝트로서 Zeppelin 제안
-> 아무도 관심 없음
그래도 시작해서 Zeppelin 프로젝트 시작해서 시각화, 스케줄러, 온라인 라이브
러리 등 다양한 기능을 만들었지만.. 스스로도 잘 사용안함. 그러던 어느날..
2013년 10월
다시 interactive 형식으로 뜯어 고치고, SQL 뿐만아니라 scala 코드를 직접 실
행할 수 있게 함. -> 이 시점부터 첫번 째 사용자 생김
2014년 8월
2014년 8월
Zeppelin community
bootstrap
http://apache-spark-user-list.1001560.n3.nabble.com/REPL-like-interface-for-Spark-td15328.html
Spark mailing list 에서 관
련 질문에 Zeppelin 추천
Stack overflow 에도 관련
질문에 Zeppelin 추천
2014년 10월, 홍보 시작 1달만에 Zeppelin 을 이용해 서비스를 만드는 회사 발생
2014년 12월, Apache Software Foundation 에서 incubation 시작
Apache 프로젝트가 된다는 것은 ..
소스코드 소유권
트레이드 마크
브랜드
커뮤니티
Zeppelin 프로젝트의
을 Apache 재단으로
이전 함을 의미
Opensource 재단
다양한 오픈소스 재단이 존재
Linux Foundation
Apache Software Foundation
Free Software Foundation
Mozilla Foundation

Python Software Foundation
…
…
설립 목적, 하는 일의 범위등이 조금씩 다르다
“Community	over	code”
Apache Project
Sub project
Incubator
TLP (Top Level Project
New Project
Graduation vote
Incubation
Proposal / Vote
프로젝트가 Incubator 에 들어오면, TLP 이나 Sub project 로 졸업.
가끔 Incubator 안거치고 곧바로 TLP 가 되는 경우도 있음
Incubator 는 TLP 중의 하나로 맨토들이 프로젝트가 ‘Apache way’ 를 습득하도록 도와준다.
Project structure
PMC Chair
PMC (Project Management Committee) : PMC 와 Committer 를 구성
PMC
Committer
Contributor
Board
Board 와 TLP 커뮤니티 연결
Committer : 코드 수정 권한
Contributor: 코드, 문서, 홍보, 디자인, 등 프로젝트의 다양한 부분의 기여
TLP
TLP 의 생성/소멸 권한
PMC 임명 허가
의사결정
1. 제안
2. 토론
3. 공감대 형성
4. 투표
의사결정 (코드 커밋, 릴리즈 등) 은 기본적으로 아래 4단계를 거친다.
‘공감대 형성 -> 투표’ (O)
‘투표 -> 공감대 형성’ (X)
사용자 / 개발자 메일링리스트에서 의사 결정 진행
의사결정
1. 제안
2. 토론
3. 공감대 형성
4. 투표
의사결정 (코드 커밋, 릴리즈 등) 은 기본적으로 아래 4단계를 거친다.
‘공감대 형성 -> 투표’ (O)
‘투표 -> 공감대 형성’ (X)
사용자 / 개발자 메일링리스트에서 의사 결정 진행
Apache Project 가 되는것의 가장 큰 장점
Apache 브랜드 사용!
• Apache 2 License
• Quality
• Standard
• Open decision making process
Opensource 프로젝트의 종류
다양한 기준으로 나눌 수 있지만
가장 중요한 분류는,
소스코드만 공개 소스코드와 의사결정이 공개
Zeppelin 의 경우
Apache project 되기 전부터 모든 리뷰/토론을 온라인에서 하려고 노력
- 만약 오프라인에서 프로젝트 관련 대화하면 온라인으로 옮겨서 계속하고 결론을 냄
- 원격근무, Flexible time 으로 일하고 있어, 온라인으로만 프로젝트를 진행하는것
에 이미 팀 전체가 익숙했었다.
모든 대화는 영어로만
온라인에서 리뷰 없이 Code push 하지 않음
- 팀에 프랑스, 러시아 개발자들이 있어 이미 팀 전체가 영어로만 커뮤니케이션 하고 있어서
자연스럽게 할 수 있었다.
• 사람들이 버그 패치를 제공하는 것 뿐만 아니라
• 의사 결정에 참여하고, 새로운 기능을 제안하고 기여.
• Zeppelin 이용한 Business 도 다양한 회사들에서 곧
바로 시도됨
오픈소스 비즈니스
오픈소스 비즈니스
• 서포트
• 트레이닝
• 컨설팅
• 듀얼 라이센스
• 엔터프라이즈 버전
• 기부
• SaaS
• Open adoption
오픈소스 비즈니스
• 서포트
• 트레이닝
• 컨설팅
• 듀얼 라이센스
• 엔터프라이즈 버전
• 기부
• SaaS
• Open adoption
가장 일반적으로 시도된다.
오픈소스 비즈니스
• 서포트
• 트레이닝
• 컨설팅
• 듀얼 라이센스
• 엔터프라이즈 버전
• 기부
• SaaS
• Open adoption
조건부 오픈소스 라이센스
예) 학술, 개발, 테스트 목적으로 Apache2
그 외에는 commercial license
오픈소스 비즈니스
• 서포트
• 트레이닝
• 컨설팅
• 듀얼 라이센스
• 엔터프라이즈 버전
• 기부
• SaaS
• Open adoption
오픈소스에 추가기능을 붙여
commercial product 로 판매



예) 인증, 백업, 장애대응 기능을 사용하려면
엔터프라이즈 버전 구매
오픈소스 비즈니스
• 서포트
• 트레이닝
• 컨설팅
• 듀얼 라이센스
• 엔터프라이즈 버전
• 기부
• SaaS
• Open adoption
개인 기부 (Donation) 에 의존 하거나
프로젝트 자체 재단(Foundation) 을 만들고
기업들로부터 기부를 받는다
오픈소스 비즈니스
• 서포트
• 트레이닝
• 컨설팅
• 듀얼 라이센스
• 엔터프라이즈 버전
• 기부
• SaaS
• Open adoption
오픈소스를 그대로 서비스로서 제공
오픈소스 비즈니스
• 서포트
• 트레이닝
• 컨설팅
• 듀얼 라이센스
• 엔터프라이즈 버전
• 기부
• SaaS
• Open adoption
오픈소스에서 직접 수익을 얻지 않고 Adoption 을 이용하
는 다른 product 에서 수익을 만든다.
오픈소스의 기능을 제한하고 비즈니스를 독점할 필요가 없다



NFLabs 에서는 다른비즈니스 모델보다 여기에 집중
악순환 vs 선순환
기능제한 / 

비즈니스 독점
사용자 감소시장 크기 감소
다양한 비즈니
스 허용
사용자 증가시장 크기 증가
ZeppelinHub
2014.12월에 사용했던
회사 내부 business
slide 중 일부
Zeppelin Notebook 의 공유/협업 환경
ZeppelinHub
Apache 에서 배포한 Zeppelin 뿐만 아니라 3rd party 에서 배포/서비스 하는
Zeppelin 에서도 모두 ZeppelinHub 사용
ZeppelinHub
. . .
Open Adoption Business
Adoption 을 극대화 하기 위한 전략을 수행
• Leverage Apache Brand
• Open decision making
• Integration to the other projects
• 3rd party business friendly
Integration to the other projects
3rd party business
EMR 에서 Zeppelin 서비스
Azure HD Insight 에서 Zeppelin 서비스
Google cloud data proc 에서 Zeppelin 스크립트
제공
Zeppelin 서비스로 제공
3rd party business
HDP 패키지에 Zeppelin 탑재
Juju 이용해 Zeppelin 을 on-prem/cloud 에 배포가능
분석 인터페이스로 Zeppelin 제공
Datascience workbench 에서 분석 인터페이스로
Zeppelin 제공
Zeppelin 프로젝트 현재
Apache Project
Github 레파지토리
별 갯수
1 Spark 10,310
2 PredictionIO 9,665
3 Kafka 3,898
4 Airflow 3,626
5 Storm 3,586
6 Cassandra 3,030
7 Thrift 3,026
8 CouchDB 2,718
9 Mesos 2,622
10 Hadoop 2,401
11 Zookeeper 2,118
12 Zeppelin 2,027
2016.10.12
13 Flink 1,637
14 Hive 1,069
15 mahout 922
16 Hbase 896
17 Flume 745
18 Dril 697
19 Arrow 666
20 Geode 629
21 Kylin 620
22 Ignite 583
23 Lucene-Solr 470
24 Accumulo 252
*Data 관련 프로젝트만
Apache Project
Github 레파지토리
컨트리뷰터
1 Spark 977
2 Kafka 232
3 Storm 230
4 Flink 230
5 Mesos 211
6 Airflow 192
7 Cassandra 187
8 Zeppelin 153
9 Thrift 126
10 CouchDB 106
11 PredictionIO 99
12 Hive 92
2016.10.12
13 Hbase 91
14 Hadoop 82
15 Ignite 76
16 Dril 67
17 Accumulo 65
18 Kylin 51
19 Lucene-Solr 50
20 Geode 46
21 Arrow 22
22 Flume 26
23 mahout 23
24 Zookeeper 9
*이전 페이지에 있던 프로젝트들 중
2015, 2016 The best opensource bigdata software!
aka. NFLabs
150 Contributors world wide
누가 기여하고 있을까?
누가 사용하고 있을까?
Contributors Users
150 Contributors world wide
Service provider Technology Integration
Zeppelin 생태계
ZeppelinHub
Open Adoption business
모든 3rd party Zeppelin 배포/서비스에 ZeppelinHub integration이미 탑재
ZeppelinHub 의 기능/품질이 일정 수준에 오르면 Hub integration 스위치를 켜도록 유도
성공적인 오픈소스 프로젝트를 만들기 위해서는
프로젝트가
주는 가치
열린 사용자/개발
자 커뮤니티
3rd party
projects/
business
오픈소스 프로젝트가 가져다 준것
NFlabs회사이름
위치 한국 실리콘 벨리 & 한국
투자 Seed (한국) Series A (미국)
컨퍼런스/
밋업
서울 서울, 센프란시스코, 산호세, 오스틴, 시애
틀 밴쿠버, 시드니, 벨번, 부다페스트, 베를
린, 암스테르담, 더블린, 상하이, 싱가폴, 런
던, 도쿄, 세비야....
Apache Zeppelin,
계속 성장하는 중 입니다.
QnA

감사합니다.

[113]apache zeppelin 이문수

  • 1.
    가이드페이지-표지 이름: 이문수 소속: NFLabs(aka. ZeppelinX) Apache Zeppelin 과 오픈소스 비즈니스
  • 2.
  • 3.
  • 4.
    AMP Lab Spark/Shark위에 Peloton 이라는 분석 솔루션 개발 당시 개발자 4명으로는 enterprise business 를 지속 하기 힘들었음 가장 유용했던 인터렉티브 분석 기능을 오픈소스 해보면 어떨까? 2012년 12월
  • 5.
    2013년 9월 Hadoop inseoul 2013 컨퍼런스에서 open source 프로젝트로서 Zeppelin 제안 -> 아무도 관심 없음
  • 6.
    그래도 시작해서 Zeppelin프로젝트 시작해서 시각화, 스케줄러, 온라인 라이브 러리 등 다양한 기능을 만들었지만.. 스스로도 잘 사용안함. 그러던 어느날.. 2013년 10월
  • 7.
    다시 interactive 형식으로뜯어 고치고, SQL 뿐만아니라 scala 코드를 직접 실 행할 수 있게 함. -> 이 시점부터 첫번 째 사용자 생김 2014년 8월
  • 8.
  • 9.
  • 10.
  • 11.
    Stack overflow 에도관련 질문에 Zeppelin 추천
  • 12.
    2014년 10월, 홍보시작 1달만에 Zeppelin 을 이용해 서비스를 만드는 회사 발생
  • 13.
    2014년 12월, ApacheSoftware Foundation 에서 incubation 시작
  • 14.
    Apache 프로젝트가 된다는것은 .. 소스코드 소유권 트레이드 마크 브랜드 커뮤니티 Zeppelin 프로젝트의 을 Apache 재단으로 이전 함을 의미
  • 15.
  • 16.
    다양한 오픈소스 재단이존재 Linux Foundation Apache Software Foundation Free Software Foundation Mozilla Foundation
 Python Software Foundation … … 설립 목적, 하는 일의 범위등이 조금씩 다르다
  • 17.
  • 18.
    Apache Project Sub project Incubator TLP(Top Level Project New Project Graduation vote Incubation Proposal / Vote 프로젝트가 Incubator 에 들어오면, TLP 이나 Sub project 로 졸업. 가끔 Incubator 안거치고 곧바로 TLP 가 되는 경우도 있음 Incubator 는 TLP 중의 하나로 맨토들이 프로젝트가 ‘Apache way’ 를 습득하도록 도와준다.
  • 19.
    Project structure PMC Chair PMC(Project Management Committee) : PMC 와 Committer 를 구성 PMC Committer Contributor Board Board 와 TLP 커뮤니티 연결 Committer : 코드 수정 권한 Contributor: 코드, 문서, 홍보, 디자인, 등 프로젝트의 다양한 부분의 기여 TLP TLP 의 생성/소멸 권한 PMC 임명 허가
  • 20.
    의사결정 1. 제안 2. 토론 3.공감대 형성 4. 투표 의사결정 (코드 커밋, 릴리즈 등) 은 기본적으로 아래 4단계를 거친다. ‘공감대 형성 -> 투표’ (O) ‘투표 -> 공감대 형성’ (X) 사용자 / 개발자 메일링리스트에서 의사 결정 진행
  • 21.
    의사결정 1. 제안 2. 토론 3.공감대 형성 4. 투표 의사결정 (코드 커밋, 릴리즈 등) 은 기본적으로 아래 4단계를 거친다. ‘공감대 형성 -> 투표’ (O) ‘투표 -> 공감대 형성’ (X) 사용자 / 개발자 메일링리스트에서 의사 결정 진행
  • 22.
    Apache Project 가되는것의 가장 큰 장점 Apache 브랜드 사용! • Apache 2 License • Quality • Standard • Open decision making process
  • 23.
  • 24.
    다양한 기준으로 나눌수 있지만 가장 중요한 분류는,
  • 25.
  • 26.
    Zeppelin 의 경우 Apacheproject 되기 전부터 모든 리뷰/토론을 온라인에서 하려고 노력 - 만약 오프라인에서 프로젝트 관련 대화하면 온라인으로 옮겨서 계속하고 결론을 냄 - 원격근무, Flexible time 으로 일하고 있어, 온라인으로만 프로젝트를 진행하는것 에 이미 팀 전체가 익숙했었다. 모든 대화는 영어로만 온라인에서 리뷰 없이 Code push 하지 않음 - 팀에 프랑스, 러시아 개발자들이 있어 이미 팀 전체가 영어로만 커뮤니케이션 하고 있어서 자연스럽게 할 수 있었다.
  • 27.
    • 사람들이 버그패치를 제공하는 것 뿐만 아니라 • 의사 결정에 참여하고, 새로운 기능을 제안하고 기여. • Zeppelin 이용한 Business 도 다양한 회사들에서 곧 바로 시도됨
  • 28.
  • 29.
    오픈소스 비즈니스 • 서포트 •트레이닝 • 컨설팅 • 듀얼 라이센스 • 엔터프라이즈 버전 • 기부 • SaaS • Open adoption
  • 30.
    오픈소스 비즈니스 • 서포트 •트레이닝 • 컨설팅 • 듀얼 라이센스 • 엔터프라이즈 버전 • 기부 • SaaS • Open adoption 가장 일반적으로 시도된다.
  • 31.
    오픈소스 비즈니스 • 서포트 •트레이닝 • 컨설팅 • 듀얼 라이센스 • 엔터프라이즈 버전 • 기부 • SaaS • Open adoption 조건부 오픈소스 라이센스 예) 학술, 개발, 테스트 목적으로 Apache2 그 외에는 commercial license
  • 32.
    오픈소스 비즈니스 • 서포트 •트레이닝 • 컨설팅 • 듀얼 라이센스 • 엔터프라이즈 버전 • 기부 • SaaS • Open adoption 오픈소스에 추가기능을 붙여 commercial product 로 판매
 
 예) 인증, 백업, 장애대응 기능을 사용하려면 엔터프라이즈 버전 구매
  • 33.
    오픈소스 비즈니스 • 서포트 •트레이닝 • 컨설팅 • 듀얼 라이센스 • 엔터프라이즈 버전 • 기부 • SaaS • Open adoption 개인 기부 (Donation) 에 의존 하거나 프로젝트 자체 재단(Foundation) 을 만들고 기업들로부터 기부를 받는다
  • 34.
    오픈소스 비즈니스 • 서포트 •트레이닝 • 컨설팅 • 듀얼 라이센스 • 엔터프라이즈 버전 • 기부 • SaaS • Open adoption 오픈소스를 그대로 서비스로서 제공
  • 35.
    오픈소스 비즈니스 • 서포트 •트레이닝 • 컨설팅 • 듀얼 라이센스 • 엔터프라이즈 버전 • 기부 • SaaS • Open adoption 오픈소스에서 직접 수익을 얻지 않고 Adoption 을 이용하 는 다른 product 에서 수익을 만든다. 오픈소스의 기능을 제한하고 비즈니스를 독점할 필요가 없다
 
 NFLabs 에서는 다른비즈니스 모델보다 여기에 집중
  • 36.
    악순환 vs 선순환 기능제한/ 
 비즈니스 독점 사용자 감소시장 크기 감소 다양한 비즈니 스 허용 사용자 증가시장 크기 증가
  • 37.
    ZeppelinHub 2014.12월에 사용했던 회사 내부business slide 중 일부 Zeppelin Notebook 의 공유/협업 환경
  • 38.
    ZeppelinHub Apache 에서 배포한Zeppelin 뿐만 아니라 3rd party 에서 배포/서비스 하는 Zeppelin 에서도 모두 ZeppelinHub 사용 ZeppelinHub . . .
  • 39.
    Open Adoption Business Adoption을 극대화 하기 위한 전략을 수행 • Leverage Apache Brand • Open decision making • Integration to the other projects • 3rd party business friendly
  • 40.
    Integration to theother projects
  • 41.
    3rd party business EMR에서 Zeppelin 서비스 Azure HD Insight 에서 Zeppelin 서비스 Google cloud data proc 에서 Zeppelin 스크립트 제공 Zeppelin 서비스로 제공
  • 42.
    3rd party business HDP패키지에 Zeppelin 탑재 Juju 이용해 Zeppelin 을 on-prem/cloud 에 배포가능 분석 인터페이스로 Zeppelin 제공 Datascience workbench 에서 분석 인터페이스로 Zeppelin 제공
  • 43.
  • 44.
    Apache Project Github 레파지토리 별갯수 1 Spark 10,310 2 PredictionIO 9,665 3 Kafka 3,898 4 Airflow 3,626 5 Storm 3,586 6 Cassandra 3,030 7 Thrift 3,026 8 CouchDB 2,718 9 Mesos 2,622 10 Hadoop 2,401 11 Zookeeper 2,118 12 Zeppelin 2,027 2016.10.12 13 Flink 1,637 14 Hive 1,069 15 mahout 922 16 Hbase 896 17 Flume 745 18 Dril 697 19 Arrow 666 20 Geode 629 21 Kylin 620 22 Ignite 583 23 Lucene-Solr 470 24 Accumulo 252 *Data 관련 프로젝트만
  • 45.
    Apache Project Github 레파지토리 컨트리뷰터 1Spark 977 2 Kafka 232 3 Storm 230 4 Flink 230 5 Mesos 211 6 Airflow 192 7 Cassandra 187 8 Zeppelin 153 9 Thrift 126 10 CouchDB 106 11 PredictionIO 99 12 Hive 92 2016.10.12 13 Hbase 91 14 Hadoop 82 15 Ignite 76 16 Dril 67 17 Accumulo 65 18 Kylin 51 19 Lucene-Solr 50 20 Geode 46 21 Arrow 22 22 Flume 26 23 mahout 23 24 Zookeeper 9 *이전 페이지에 있던 프로젝트들 중
  • 46.
    2015, 2016 Thebest opensource bigdata software!
  • 47.
    aka. NFLabs 150 Contributorsworld wide 누가 기여하고 있을까?
  • 48.
  • 49.
    Contributors Users 150 Contributorsworld wide Service provider Technology Integration Zeppelin 생태계
  • 50.
    ZeppelinHub Open Adoption business 모든3rd party Zeppelin 배포/서비스에 ZeppelinHub integration이미 탑재 ZeppelinHub 의 기능/품질이 일정 수준에 오르면 Hub integration 스위치를 켜도록 유도
  • 51.
    성공적인 오픈소스 프로젝트를만들기 위해서는 프로젝트가 주는 가치 열린 사용자/개발 자 커뮤니티 3rd party projects/ business
  • 52.
    오픈소스 프로젝트가 가져다준것 NFlabs회사이름 위치 한국 실리콘 벨리 & 한국 투자 Seed (한국) Series A (미국) 컨퍼런스/ 밋업 서울 서울, 센프란시스코, 산호세, 오스틴, 시애 틀 밴쿠버, 시드니, 벨번, 부다페스트, 베를 린, 암스테르담, 더블린, 상하이, 싱가폴, 런 던, 도쿄, 세비야....
  • 53.
  • 54.