24. 1. 오픈소스
• 2000 ~ 2010
• 많은 기업이 오픈소스를 사용함
• 구글, 아마존, 넷플릭스, 인텔 등
25. 1. 오픈소스
• 현재는 대세!!
• OS ( 리눅스, 윈도우즈, OSX )
• 브라우져 ( 크롬, 파이어폭스, 사파리 )
• 모바일 OS (안드로이드, 타이젠, 심비안,
iOS)
• 임베디드 기기
• 백엔드 서버 소프트웨어 ( 웹서버, 데이터베이스,
NoSQL )
26. 목차
1.오픈소스
2.왜 오픈소스 활동을 하는가?
3.오픈소스 프로젝트 찾기
4.오픈소스 개발 프로세스
5.오픈소스 프로젝트 참여
6.깃(Git) 그리고 깃헙(Github)
7.오픈소스 그리고 기회
27. 2. 왜 오픈소스 활동을 하는가?
• 오픈소스를 바라보는 다양한 시각들
• 개발자
• 기업
• 정부
•
일반사용자
28. 2. 왜 오픈소스 활동을 하는가?
• 오픈소스를 바라보는 개발자
• 사용
• 동작원리 이해, 분석
• 함께 만들자
•
오픈소스 철학
•
개발 커리어
29. 2. 왜 오픈소스 활동을 하는가?
오픈소스 활동의 오해
• 오픈소스를 꼭, 반드시 해야만 한다?
• 오픈소스 커미터들은 슈퍼개발자?!
30. 2. 왜 오픈소스 활동을 하는가?
오픈소스를 꼭, 반드시 해야만 한다?
•
현실
•
한국 고등 교육(수능)
•
대학 컴퓨터공학 or 학원 커리큘럼
•
소프트웨어 엔지니어를 직업으로
•
월화수목금금금
31. 2. 왜 오픈소스 활동을 하는가?
오픈소스를 꼭, 반드시 해야만 한다?
• 하루는 24시간, 모든 것을 다할 수 없다.
• 오픈소스 활동은 본인의 시간을 할애해
야 한다.
• 장애요소 = 남의 코드를 읽는 일, 실력,
언어의 장벽
32. 2. 왜 오픈소스 활동을 하는가?
오픈소스 커미터들은 슈퍼개발자?!
• 슈퍼개발자로 바라보는 일부 시선이 있는듯,
• 재미가 없다면 꾸준히 하기 어렵고, 개발을 정말
좋아하는 사람들이 아니면 이러한 활동들을 하기
어렵다
• 오픈소스 커미터를 슈퍼개발자 혹은 동경의 대상
으로 바라보기보다는, 활동자체를 즐기며 개발을
즐기는 사람이라고 보는 것이 객관적일듯 함
34. 2. 왜 오픈소스 활동을 하는가?
•
시인이 되고 싶은 사람은 다른 사람들의 시를
•
화가가 되고 싶은 사람은 다른 화가의 그림을
•
가수지망생도 다른 가수들의 노래를
•
왜 개발자들은 다른 사람들의 코드를 보고 배
우려 하지 않을까?
35. 2. 왜 오픈소스 활동을 하는가?
•
소프트웨어는 프로그래밍언어로 표현되고,
읽기 좋은 코드를 작성하는 것이 소프트웨어 엔지니어로써의 능력
•
좋은 오픈소스는 코드 품질을 생각하며 읽기 쉽게 작성 됨
•
건축에서도 건축물을 만드는데 그치지 않고,
건축물이 유용하며 견고하며 아름다움이 있어야 한다고 함
•
건축의 3요소
•
유용성(utilitas)
•
견고함(firmitas)
•
아름다움(venustas)
36. 좋은 오픈소스 프로젝트들은
어디 있을까?
http://www.flickr.com/photos/infomatique/5846738468/
37. 목차
1.오픈소스
2.왜 오픈소스 활동을 하는가?
3.오픈소스 프로젝트 찾기
4.오픈소스 개발 프로세스
5.오픈소스 프로젝트 참여
6.깃(Git) 그리고 깃헙(Github)
7.오픈소스 그리고 기회
38. 3. 오픈소스 프로젝트 찾기
•
구글링
•
프로젝트 호스팅 사이트
•
•
•
•
•
•
!
•
오픈소스 재단
•
The Apache Software
Foundation(ASF)
•
Linux Foundation
•
Mozilla Foundation
•
Eclipse Foundation
•
JBoss
•
Software Freedom
Conservancy
GitHub
BitBucket
Google Code
CodeProject
SourceForge
Naver nForge
44. 3. 오픈소스 프로젝트 찾기
오픈소스 재단, 아파치 사례
•
ASF == The Apache Software Foundation
•
ASF 이전에는 “The Apache Group”
•
정형화되고 법률적인 지원을 받길 원했고 설립함(1999)
•
Governed solely by members
•
초기에는 21명의 멤버로 구성
•
초기 2개 프로젝트 httpd, Concom
•
운영에 필요한 서버와 서비스는 기부 받음
48. 목차
1.오픈소스
2.왜 오픈소스 활동을 하는가?
3.오픈소스 프로젝트 찾기
4.오픈소스 개발 프로세스
5.오픈소스 프로젝트 참여
6.깃(Git) 그리고 깃헙(Github)
7.오픈소스 그리고 기회
49. 4. 오픈소스 개발 프로세스
개선
사항%
의견
결정%
마일
스톤%
버그%
사용%
구현%
통합%
50. 4. 오픈소스 개발 프로세스
• 오픈소스 프로젝트라고 ‘엄청’나게 특별하지는
않음 = 사람들이 하는 프로젝트
• 개발자들이 각국에 있어 원격으로 일하는 경우
가 많아 이를 해결하려고 인프라가 하나씩 생김
• 인프라 : SCM, 이슈트래커, 위키, 메일링리스
트, IRC
51. 4. 오픈소스 개발 프로세스
SCM
• SCM(Source Code Management system)
• 중앙 관리형
• CVS
• SVN
• 분산 관리형
• Git
• Mercurial