101
오픈소스 그리고 기회 진성주

오픈소스 그리고 기회

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 오픈소스 그리고 기회

오픈소스 그리고 기회진성주

Page 2: 오픈소스 그리고 기회

진성주

•Apache Usergrid Committer

•OSCON 2013 Speaker

•KT 백엔드 플랫폼 서비스 baas.io 개발

•(전) KTH 플랫폼개발팀

•(전) 삼성전자 DMC 연구소

Page 3: 오픈소스 그리고 기회

목차1.오픈소스

2.왜 오픈소스 활동을 하는가?

3.오픈소스 프로젝트 찾기

4.오픈소스 개발 프로세스

5.오픈소스 프로젝트 참여

6.깃(Git) 그리고 깃헙(Github)

7.오픈소스 그리고 기회

Page 4: 오픈소스 그리고 기회

0. 컴퓨팅산업

인류시작 현재

건축

의학

컴퓨팅산업

( 1950 ~

Page 5: 오픈소스 그리고 기회

0. 컴퓨팅산업무어의 법칙 3가지 조건 • 마이크로프로세스의 성능은 18개월마다 2배씩 향상 • 컴퓨팅 성능은 18개월마다 2배씩 향상 • 컴퓨팅 가격은 18개월마다 반으로 떨어짐

Page 6: 오픈소스 그리고 기회

0. 컴퓨팅산업

변화가 심함, 그래서 기회가 많기도

Page 7: 오픈소스 그리고 기회

0. 컴퓨팅산업

소프트웨어산업

오픈소스소프트웨어

상업적소프트웨어…

Page 8: 오픈소스 그리고 기회

목차1.오픈소스

2.왜 오픈소스 활동을 하는가?

3.오픈소스 프로젝트 찾기

4.오픈소스 개발 프로세스

5.오픈소스 프로젝트 참여

6.깃(Git) 그리고 깃헙(Github)

7.오픈소스 그리고 기회

Page 9: 오픈소스 그리고 기회

1. 오픈소스• 오픈소스는‘소스코드’를 공개하여 누구나 수정 · 재배포할 수 있는 소프트웨어

Page 10: 오픈소스 그리고 기회

1960 ~ 1970

http://www.flickr.com/photos/9479603@N02/4132062834

Page 11: 오픈소스 그리고 기회

1. 오픈소스•1960 ~ 1970

•하드웨어 판매가 핵심

•소프트웨어의 코드는 공유하는 문화

• FORTRAN, COBOL, Algol

Page 12: 오픈소스 그리고 기회

1970 ~ 1980 유닉스(UNIX) 탄생

http://www.flickr.com/photos/9479603@N02/4143361191/

Page 13: 오픈소스 그리고 기회

1. 오픈소스•1970 ~ 1980

• 70년대 초반 벨 연구소 직원인 켄 톰슨, 데니스 리치, 더글러스 매클로리 등이 처음 개발

•AT&T를 비롯한 여러 회사들과 버클리대학(UC Berkeley) 등 비영리 단체들이 개발한 다양한 버전

Page 14: 오픈소스 그리고 기회

1. 오픈소스

Page 15: 오픈소스 그리고 기회

1980 ~ 1990 상용 소프트웨어

Page 16: 오픈소스 그리고 기회

1. 오픈소스•1980 ~ 1990

•소프트웨어 저작권에 대한 인지, 시작된 상업용 소프트웨어 시대

•빌게이츠 - 컴퓨터 애호가들에게 보내는 공개 편지 “Open Letter to Hobbyists”

Page 17: 오픈소스 그리고 기회

1984 ~ 2000 자유소프트웨어의 성행 리차드 스톨먼, GNU 선언

Page 18: 오픈소스 그리고 기회

1. 오픈소스•1985 - GNU 선언문을 발표

•유닉스에 대항한 자유로운 대안을 만들기 위한 의지를 말한 것

• Free Software 운동 후 자유소프트웨어재단(FSF) 설립

Page 19: 오픈소스 그리고 기회

1. 오픈소스•Free = 무료

•사용

•수정

•재배포

•에 자유로운 것!

Page 20: 오픈소스 그리고 기회

리눅스 토발즈 리눅스(Linux) 탄생

Page 21: 오픈소스 그리고 기회

1. 오픈소스•리눅스(Linux) 1991~

•리눅스는 핀란드 헬싱키 대학의 대학원생인, 리누스 토발즈가 취미로 개발한 커널

•현재 200여 종류가 넘는 배포판이 존재

Page 22: 오픈소스 그리고 기회

1. 오픈소스•1998년 - OSI(Open Source Initiative)

•오픈소스 : 1998년 2월 3일에 넷스케이프 브라우저의 코드에 대해 어떠한 형태로 공개할까하는 전략회의에서 붙여진 용어

Page 23: 오픈소스 그리고 기회

오픈소스가 주류로!

Page 24: 오픈소스 그리고 기회

1. 오픈소스•2000 ~ 2010

•많은 기업이 오픈소스를 사용함

•구글, 아마존, 넷플릭스, 인텔 등

Page 25: 오픈소스 그리고 기회

1. 오픈소스•현재는 대세!!

•OS ( 리눅스, 윈도우즈, OSX )

•브라우져 ( 크롬, 파이어폭스, 사파리 )

•모바일 OS (안드로이드, 타이젠, 심비안, iOS)

•임베디드 기기

•백엔드 서버 소프트웨어 ( 웹서버, 데이터베이스, NoSQL )

Page 26: 오픈소스 그리고 기회

목차1.오픈소스

2.왜 오픈소스 활동을 하는가?

3.오픈소스 프로젝트 찾기

4.오픈소스 개발 프로세스

5.오픈소스 프로젝트 참여

6.깃(Git) 그리고 깃헙(Github)

7.오픈소스 그리고 기회

Page 27: 오픈소스 그리고 기회

2. 왜 오픈소스 활동을 하는가?

•오픈소스를 바라보는 다양한 시각들

•개발자

•기업

•정부

• 일반사용자

Page 28: 오픈소스 그리고 기회

2. 왜 오픈소스 활동을 하는가?•오픈소스를 바라보는 개발자

•사용

•동작원리 이해, 분석

•함께 만들자

• 오픈소스 철학

• 개발 커리어

Page 29: 오픈소스 그리고 기회

2. 왜 오픈소스 활동을 하는가?

오픈소스 활동의 오해

•오픈소스를 꼭, 반드시 해야만 한다?

•오픈소스 커미터들은 슈퍼개발자?!

Page 30: 오픈소스 그리고 기회

2. 왜 오픈소스 활동을 하는가?

오픈소스를 꼭, 반드시 해야만 한다?

• 현실

• 한국 고등 교육(수능)

• 대학 컴퓨터공학 or 학원 커리큘럼

• 소프트웨어 엔지니어를 직업으로

• 월화수목금금금

Page 31: 오픈소스 그리고 기회

2. 왜 오픈소스 활동을 하는가?

오픈소스를 꼭, 반드시 해야만 한다?

•하루는 24시간, 모든 것을 다할 수 없다.

•오픈소스 활동은 본인의 시간을 할애해야 한다.

•장애요소 = 남의 코드를 읽는 일, 실력, 언어의 장벽

Page 32: 오픈소스 그리고 기회

2. 왜 오픈소스 활동을 하는가?오픈소스 커미터들은 슈퍼개발자?!

•슈퍼개발자로 바라보는 일부 시선이 있는듯,

•재미가 없다면 꾸준히 하기 어렵고, 개발을 정말 좋아하는 사람들이 아니면 이러한 활동들을 하기 어렵다

•오픈소스 커미터를 슈퍼개발자 혹은 동경의 대상으로 바라보기보다는, 활동자체를 즐기며 개발을 즐기는 사람이라고 보는 것이 객관적일듯 함

Page 33: 오픈소스 그리고 기회

그럼에도,

초중급 개발자에게 오픈소스 활동강력 추천!

Page 34: 오픈소스 그리고 기회

2. 왜 오픈소스 활동을 하는가?• 시인이 되고 싶은 사람은 다른 사람들의 시를

• 화가가 되고 싶은 사람은 다른 화가의 그림을

• 가수지망생도 다른 가수들의 노래를

• 왜 개발자들은 다른 사람들의 코드를 보고 배우려 하지 않을까?

Page 35: 오픈소스 그리고 기회

2. 왜 오픈소스 활동을 하는가?• 소프트웨어는 프로그래밍언어로 표현되고,읽기 좋은 코드를 작성하는 것이 소프트웨어 엔지니어로써의 능력

• 좋은 오픈소스는 코드 품질을 생각하며 읽기 쉽게 작성 됨

• 건축에서도 건축물을 만드는데 그치지 않고, 건축물이 유용하며 견고하며 아름다움이 있어야 한다고 함

• 건축의 3요소

• 유용성(utilitas)

• 견고함(firmitas)

• 아름다움(venustas)

Page 36: 오픈소스 그리고 기회

좋은 오픈소스 프로젝트들은 어디 있을까?

http://www.flickr.com/photos/infomatique/5846738468/

Page 37: 오픈소스 그리고 기회

목차1.오픈소스

2.왜 오픈소스 활동을 하는가?

3.오픈소스 프로젝트 찾기

4.오픈소스 개발 프로세스

5.오픈소스 프로젝트 참여

6.깃(Git) 그리고 깃헙(Github)

7.오픈소스 그리고 기회

Page 38: 오픈소스 그리고 기회

3. 오픈소스 프로젝트 찾기• 구글링

• 프로젝트 호스팅 사이트

• GitHub

• BitBucket

• Google Code

• CodeProject

• SourceForge

• Naver nForge

!

• 오픈소스 재단

• The Apache Software Foundation(ASF)

• Linux Foundation

• Mozilla Foundation

• Eclipse Foundation

• JBoss

• Software Freedom Conservancy

Page 39: 오픈소스 그리고 기회

3. 오픈소스 프로젝트 찾기 프로젝트 호스팅 사이트

github.com

Page 40: 오픈소스 그리고 기회

3. 오픈소스 프로젝트 찾기 프로젝트 호스팅 사이트

dev.naver.com

Page 41: 오픈소스 그리고 기회

3. 오픈소스 프로젝트 찾기 오픈소스 재단

• 왜 재단이 만들어질까?

http://www.flickr.com/photos/worldseriesboxing/6813062511

Page 42: 오픈소스 그리고 기회

3. 오픈소스 프로젝트 찾기 오픈소스 재단

• 프로젝트를 할 수 있는 인프라 제공

• 컨퍼런스, 이벤트, 기부금 등 세금 관련된 일들 처리

• 라이선스, 특허 등 법률적 문제 대응

Page 43: 오픈소스 그리고 기회

apache.org

3. 오픈소스 프로젝트 찾기 오픈소스 재단, 아파치 사례

Page 44: 오픈소스 그리고 기회

• ASF == The Apache Software Foundation

• ASF 이전에는 “The Apache Group”

• 정형화되고 법률적인 지원을 받길 원했고 설립함(1999)

• Governed solely by members

• 초기에는 21명의 멤버로 구성

• 초기 2개 프로젝트 httpd, Concom

• 운영에 필요한 서버와 서비스는 기부 받음

3. 오픈소스 프로젝트 찾기 오픈소스 재단, 아파치 사례

Page 45: 오픈소스 그리고 기회

3. 오픈소스 프로젝트 찾기 오픈소스 재단, 아파치 사례

• httpd

• Tomcat

• Lucene

• Hadoop

• ActiveMQ

• Ant

• Maven

• Cassandra

• CloudStack

• HBase

• Hive

• Ivy

• JMeter

• Mahout

• Zookeeper

Page 46: 오픈소스 그리고 기회

3. 오픈소스 프로젝트 찾기

베스트 오픈소스 프로젝트 소개 findbestopensource.com

Page 47: 오픈소스 그리고 기회

3. 오픈소스 프로젝트 찾기

오픈소스 검색엔진, 랭킹 ohloh.net

Page 48: 오픈소스 그리고 기회

목차1.오픈소스

2.왜 오픈소스 활동을 하는가?

3.오픈소스 프로젝트 찾기

4.오픈소스 개발 프로세스

5.오픈소스 프로젝트 참여

6.깃(Git) 그리고 깃헙(Github)

7.오픈소스 그리고 기회

Page 49: 오픈소스 그리고 기회

의견결정%

마일스톤%

구현%

통합%

사용%

버그%

개선사항%

4. 오픈소스 개발 프로세스

Page 50: 오픈소스 그리고 기회

4. 오픈소스 개발 프로세스•오픈소스 프로젝트라고 ‘엄청’나게 특별하지는 않음 = 사람들이 하는 프로젝트

•개발자들이 각국에 있어 원격으로 일하는 경우가 많아 이를 해결하려고 인프라가 하나씩 생김

•인프라 : SCM, 이슈트래커, 위키, 메일링리스트, IRC

Page 51: 오픈소스 그리고 기회

4. 오픈소스 개발 프로세스 SCM

•SCM(Source Code Management system)

•중앙 관리형

•CVS

• SVN

•분산 관리형

•Git

•Mercurial

Page 52: 오픈소스 그리고 기회

4. 오픈소스 개발 프로세스 이슈트래커

Page 53: 오픈소스 그리고 기회

4. 오픈소스 개발 프로세스 위키(WIKI)

Page 54: 오픈소스 그리고 기회

4. 오픈소스 개발 프로세스 메일링리스트

Page 55: 오픈소스 그리고 기회

4. 오픈소스 개발 프로세스 IRC

Page 56: 오픈소스 그리고 기회

목차1.오픈소스

2.왜 오픈소스 활동을 하는가?

3.오픈소스 프로젝트 찾기

4.오픈소스 개발 프로세스

5.오픈소스 프로젝트 참여

6.깃(Git) 그리고 깃헙(Github)

7.오픈소스 그리고 기회

Page 57: 오픈소스 그리고 기회

5. 오픈소스 프로젝트 참여

Page 58: 오픈소스 그리고 기회

5. 오픈소스 프로젝트 참여

Page 59: 오픈소스 그리고 기회

5. 오픈소스 프로젝트 참여•시작은 가볍게, 자신감 가지고 시작하자!

1. 오픈소스 사용법 블로깅

2. 메일링리스트 구독

3. 개발자 커뮤니티(메일링, stackoverflow 등)에서 집답하기

4. 버그 등록하기

5. 패치보내기

Page 60: 오픈소스 그리고 기회

5. 오픈소스 프로젝트 참여1) 오픈소스 사용법 블로깅

Page 61: 오픈소스 그리고 기회

5. 오픈소스 프로젝트 참여2) 메일링리스트 구독

Page 62: 오픈소스 그리고 기회

5. 오픈소스 프로젝트 참여3) 개발자 커뮤니티(메일링, stackoverflow 등)에서 질답하기

Page 63: 오픈소스 그리고 기회

5. 오픈소스 프로젝트 참여4) 버그 등록하기•버그는 재현할 수 있어야 함

•재현할 수 있는 상황과 상태에 대해서 기술

Page 64: 오픈소스 그리고 기회

5. 오픈소스 프로젝트 참여5) 패치보내기•패치의 종류

•버그수정

•향상

•새로운 기능

•예의

•개선사항에 대해서 메일링으로 사전 논의

•프로젝트 운영방식

•코드컨벤션

•마인드

•상처받지 말자, 쿨해지자! ;)

Page 65: 오픈소스 그리고 기회

5. 오픈소스 프로젝트 참여

프로젝트에서 영향력을 갖기 위해서는...

Page 66: 오픈소스 그리고 기회

컨트리뷰션 활동 및 품질

Page 67: 오픈소스 그리고 기회

패치를 넘어방향성 논의와 제시

Page 68: 오픈소스 그리고 기회

커뮤니케이션

Page 69: 오픈소스 그리고 기회

관심꾸준함

개인 희생

Page 70: 오픈소스 그리고 기회

목차1.오픈소스

2.왜 오픈소스 활동을 하는가?

3.오픈소스 프로젝트 찾기

4.오픈소스 개발 프로세스

5.오픈소스 프로젝트 참여

6.깃(Git) 그리고 깃헙(Github)

7.오픈소스 그리고 기회

Page 71: 오픈소스 그리고 기회

6. 깃(Git) 그리고 깃헙(Github)•깃(Git)

•분산관리형 소스 버전시스템

•리눅스 토발즈가 리눅스 프로젝트에서 사용하던 Bitkeeper 가 불편해 만듦

•http://git-scm.com/

Page 72: 오픈소스 그리고 기회

6. 깃(Git) 그리고 깃헙(Github)•깃헙(Github)

•Git 을 기반의 코드 및 프로젝트 호스팅 사이트

•Git을 사용하다보며 쉽게 관리해줄 수 있는 웹콘솔이 필요해 깃헙을 만듦

• 2008년 2월 서비스를 시작

Page 73: 오픈소스 그리고 기회

6. 깃(Git) 그리고 깃헙(Github)

Page 74: 오픈소스 그리고 기회

6. 깃(Git) 그리고 깃헙(Github)

Page 75: 오픈소스 그리고 기회

6. 깃(Git) 그리고 깃헙(Github)

Page 76: 오픈소스 그리고 기회

6. 깃(Git) 그리고 깃헙(Github)

Page 77: 오픈소스 그리고 기회

6. 깃(Git) 그리고 깃헙(Github)

Page 78: 오픈소스 그리고 기회

목차1.오픈소스

2.왜 오픈소스 활동을 하는가?

3.오픈소스 프로젝트 찾기

4.오픈소스 개발 프로세스

5.오픈소스 프로젝트 참여

6.깃(Git) 그리고 깃헙(Github)

7.오픈소스 그리고 기회

Page 79: 오픈소스 그리고 기회

7. 오픈소스 그리고 기회

•2012.09 : 오픈소스 프로젝트 컨트리뷰션

•2012.10 : KTH H3

•2013.02 : OSCON 발표제안

•2013.04 : OSCON 발표제안 수락됨

•2013.07 : OSCON 발표

•2013.10 : 아파치 인큐베이터 프로젝트

Page 80: 오픈소스 그리고 기회

Source : http://www.flickr.com/photos/hugojcardoso/4672565780/

1년전 과거로!

Page 81: 오픈소스 그리고 기회
Page 82: 오픈소스 그리고 기회
Page 83: 오픈소스 그리고 기회

Contributing to

Page 84: 오픈소스 그리고 기회
Page 85: 오픈소스 그리고 기회
Page 86: 오픈소스 그리고 기회
Page 87: 오픈소스 그리고 기회
Page 88: 오픈소스 그리고 기회

Just Do it

Minwoo Park

Hi! Did you submit something to OSCON this year? proposals close in a few hours…

nope :)

you should!

Page 89: 오픈소스 그리고 기회
Page 90: 오픈소스 그리고 기회

•baas.io 와 Usergrid Project

Page 91: 오픈소스 그리고 기회

•동아시아의 오픈소스 얘기...

Page 92: 오픈소스 그리고 기회

OSCON 2013 Call for Participation - Video

Page 93: 오픈소스 그리고 기회
Page 94: 오픈소스 그리고 기회
Page 95: 오픈소스 그리고 기회
Page 96: 오픈소스 그리고 기회
Page 97: 오픈소스 그리고 기회
Page 98: 오픈소스 그리고 기회
Page 99: 오픈소스 그리고 기회

소프트웨어산업

오픈소스소프트웨어

상업적소프트웨어…

Page 100: 오픈소스 그리고 기회

소프트웨어산업

오픈소스소프트웨어

상업적소프트웨어…오픈소스 프로젝트로

개인이 성장하길기원합니다

Page 101: 오픈소스 그리고 기회

Thank you진성주 ( @geekbeast ) [email protected]