Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
오픈소스, 빡! 끝! 
서주영 
SW센터 
<2014 SW멤버십 Technical Conference>
발표자 소개 
 
서주영 
 
삼성전자 SW센터 소속 
 
책임 연구원 
 
juyung.seo@samsung.com 
 
닉네임 
 
천재태지, SeoZ 
 
@seojuyung 
 
하는 일/한 일 
...
라이프 스타일
오픈소스
오픈소스의 즐거움 
 
"회사 이슈 볼 때는 재미가 없었는데, 오픈소스 컨트리뷰션을 하니 재미가 있다.“ 
- 
익명을 요구한 박xx 책임 
 
"개발은 즐거운 것인데 우리는 즐거움을 느끼지 못하는 상황에 처해있다....
오픈소스란?
오픈소스란? 
 
소스코드가 공개됨? 
 
소스코드가 공개된 프로젝트?
오픈소스 정의 
 
정의 
 
자유로운 재배포 
 
소스코드 
 
2차 저작 허용 
 
원저자 소스코드 보전 
 
개인이나 단체 차별 금지 
 
사용 분야 차별 금지 
 
라이선스 배포 
 
특정 제품을...
제가 생각하는 오픈소스 
 
오픈소스는 소스를 미끼로 사람들이 모이는 곳 
 
공개된 코드를 중심으로 커뮤니티가 생성
오픈소스 커뮤니티
커뮤니티 
 
커뮤니케이션이 생명 
 
커뮤니티가 중요 
 
눈팅부터 시작
다양한 개발자
커뮤니케이션 도구 
 
웹사이트 
 
메일링 리스트 
 
IRC 
 
버그 리포트 시스템 
 
위키 페이지 
 
패치 반영, 리뷰 
 
기타
컨트리뷰션 
 
패치 보내기 
 
코드 리뷰 
 
버그 리포트 
 
다국어 지원 
 
문서 작업 
 
웹사이트/서버 관리 
 
커뮤니티 응대 
 
기타
오픈소스 컨트리뷰션, 왜?
재미있다. 설렌다. 
 
발전하는 재미 
 
까는 재미 
 
까이는 재미
다양한 지식 습득 및 인맥 구축 
 
기술적, 문화적, 사회적, … 
 
다양한 출신, 배경지식을 가진 개발자를 만날 수 있다. 
 
더 많은 좋은 개발자를 만남 
 
다른 오픈소스
다양한 지식 습득 및 인맥 구축 
 
끊임없는 대화 
 
트렌드를 알 수 있음 
 
시야가 달라짐 
 
더 넓은 세상과의 조우 
 
빠른 리뷰, 친절한 리뷰
기술적 도움 
 
소프트웨어 엔지니어링을 익힐 수 있다 
 
수많은 개발자와 협업을 익힐 수 있다 
 
개발 능력 향상 
 
지식 영역 넓힘 
 
올바른 방향이 무엇인지 배움 
 
다른 사람이 내 버그를 수정...
기술적 도움 
 
리누스의 법칙 
 
보는 눈만 많다면 어떤 버그도 쉽게 잡을 수 있다.
기술적 도움
기술적 도움
기회가 많아짐 
 
2011 Cebit 출장 
 
2012 Mozilla 출장 
 
2012 Gnome Korea 발표 
 
2012 삼성 Contributor Day 2012 발표 
 
2012 Daum De...
자극 
 
롤모델을 만날 수 있다 
 
열정을 높일 수 있다 
 
자발적으로 참여 
 
잉여 에너지를 열정으로
그 외에도 
 
경력/포트폴리오/커리어패스 
 
영어를 많이 사용하게 된다. 
 
회사와 달리 자기가 하고 싶은 것을 선택할 수 있다. 
 
자신이 만들고 싶은, 필요한 것을 만들 수 있다. 
 
공유 정신
오픈소스 컨트리뷰션, 하지만…
힘들다 
 
시간 부족 
 
영어 
 
닫힌 마인드 
 
가정 
 
일 
 
게임 
 
술 
 
다른 재미있는 일 
 
업무 편중 현상
오픈소스와 업무 사이의 갈등 
 
올바른 방향의 차이 
 
오픈소스와 회사 업무 재미 차이
현실적으로 어느 정도 개인의 희생 필요
현실적으로 어느 정도 개인의 희생 필요
그렇다고 여기서 포기할 것인가?
그렇다고 여기서 포기할 것인가?
그렇다고 여기서 포기할 것인가?
그렇다고 여기서 포기할 것인가?
그렇다고 여기서 포기할 것인가?
그렇다고 여기서 포기할 것인가?
컨트리뷰션 방법 분석 
#1 EFL
웹사이트 
 
http://www.enlightenment.org 
 
http://www.enlightenment.org/p.php?p=contact
웹사이트 
 
http://efl.or.kr
메일링 리스트 
 
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
메일링 리스트
메일링 리스트
IRC 
 
편한 대화방으로 이용 
 
외국인과 친구처럼 지냄 
 
질문/답변뿐만 아니라 개인적인 대화에 활용하기도 함 
 
irc.freenode.net (6667, 8001) 
 
#e 
 
#edevel...
IRC
IRC
IRC 
 
그들은 물지 않는다
프로젝트 관리 시스템 
 
https://phab.enlightenment.org/
버그 리포트 시스템 
 
https://phab.enlightenment.org/maniphest/
위키 페이지 
 
https://phab.enlightenment.org/w/
패치 반영, 리뷰 
1. 
패치 작성 
2. 
테스트 
3. 
코딩 컨벤션 검토 
4. 
패치 보내기 
5. 
리뷰 받기 
6. 
리뷰 반영하기 
7. 
실제 커밋
패치 반영, 리뷰 
1. 
패치 작성
패치 반영, 리뷰 
2. 테스트 
3. 코딩 컨벤션 검토 
https://phab.enlightenment.org/w/coding_convention/ 
https://phab.enlightenment.org/w/edc...
패치 반영, 리뷰
패치 반영, 리뷰 
4. 패치 보내기 
arcanist 도구 사용 
https://phab.enlightenment.org/w/arcanist/
패치 반영, 리뷰 
4. 패치 보내기
패치 반영, 리뷰 
4. 패치 보내기
패치 반영, 리뷰 
5. 리뷰 받기
패치 반영, 리뷰 
5. 리뷰 받기
패치 반영, 리뷰 
6. 리뷰 반영하기
패치 반영, 리뷰 
6. 리뷰 반영하기
패치 반영, 리뷰 
7. 실제 커밋 
커미터의 몫
개발자 
 
개발자 유형 
 
Contributor 
 
Probie 
 
Committer 
 
활동하는 커미터 (6월 자료) 
 
전세계 69명 
 
한국인 10명
개발자 
 
개발자 분포
컨트리뷰션 방법 분석 
#2 WebKit
커뮤니티 
 
http://www.webkit.org
커뮤니티 
 
IRC 
 
irc.freenode.net (6667, 8001) 
 
#webkit 
 
#webkit-efl 
 
#webkit-kr
패치 반영, 리뷰 
1. 
Bug report 선택 혹은 생성 
2. 
코드 수정 
3. 
코딩 컨벤션 검토 
 
Tools/Script/check-webkit-style 스크립트 
4. 
Layout 테스트 수행 
...
패치 반영, 리뷰 
6. 
Patch 업로드 
 
Tools/Script/webkit-patch upload 
7. 
Reviewer 리뷰 
8. 
R+ 획득 후 Land 
<참고> 
 
http://www.webk...
컨트리뷰션 방법 분석 
#3 Linux Kernel
커뮤니티 
 
https://www.kernel.org/ 
 
https://www.wiki.kernel.org/ 
 
http://vger.kernel.org/ 
 
https://bugzilla.kernel....
패치 반영, 리뷰 
1. 
Topic branch 만들기 
2. 
빌드 테스트 
3. 
패치 형식 체크 
 
scripts/checkpatch.pl 
4. 
패치 만들기 
 
Signed-off-by 설정 (comm...
패치 반영, 리뷰 
6. 
패치 보내기 
 
git send-email --to <보낼곳 메일 주소> <patch file 경로> 
7. 
기다리기 
8. 
리뷰 사항 확인하고 재수정해서 다시 보내기 
9. 
패치 반...
컨트리뷰션 방법 분석 
#4 Tizen
커뮤니티 
 
https://www.tizen.org/ 
 
https://developer.tizen.org/forums 
 
https://wiki.tizen.org/wiki/Main_Page 
 
https...
커뮤니티 
 
IRC 
 
irc.freenode.org (6667, 8001) 
 
#tizen
패치 반영, 리뷰 
1. 
Tizen 계정 생성 
2. 
코드 다운로드 
3. 
코드 수정 
4. 
커밋 만들기 
5. 
Gerrit에 패치 보내기 
 
git push origin HEAD:refs/for/tizen...
패치 반영, 리뷰
마무으리
Open Hub 
 
https://www.openhub.net/ 
 
구 ohloh.net 
 
오픈소스 통계 및 자료 제공 사이트
Open Hub 
 
Daniel Juyung Seo
Open Hub 
 
Carsten Haitzler
첫 패치 
 
서주영 책임 EFL 
https://phab.enlightenment.org/rELMfe96896e39b8c793094a0e60560672e454cd0d84
첫 패치 
 
김규영 책임 WebKit 
http://trac.webkit.org/changeset/51783
Do It Now 
 
일단 올려라 
 
까여도 좋다 
 
미래의 나를 꿈꿔봐라
Do It Now
섀릴 샌드버그 
 
월드뱅크에서 인도 나병 환자 도움 
 
미국 재무부장관의 비서실장으로 활약
섀릴 샌드버그 
 
페이스북 최고운영책임자(COO)
섀릴 샌드버그 
 
가슴이 움직이는 대로 따라가다 보면, 과거에 행했던 모든 일이 퍼즐처럼 연결되어 미래와 만나곤 한다. 
- 사람 바이러스
여러분 모두가 인재 
 
프랑스 개발자 세드릭이 평가한 한국 개발자
감사합니다.
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
Upcoming SlideShare
Loading in …5
×

오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전

3,543 views

Published on

제7회 삼성소프트웨어멤버십 기술전 - 발표

Published in: Technology
  • Be the first to comment

오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전

  1. 1. 오픈소스, 빡! 끝! 서주영 SW센터 <2014 SW멤버십 Technical Conference>
  2. 2. 발표자 소개  서주영  삼성전자 SW센터 소속  책임 연구원  juyung.seo@samsung.com  닉네임  천재태지, SeoZ  @seojuyung  하는 일/한 일  Tizen 코어 UIFW EFL 개발자 (2010/01 ~)  Enlightenment/EFL 오픈소스 커미터 (2011/02 ~)  TDC 2014, OSCON 2014 EFL의 Scalability 기술 발표  임베디드월드 Tizen 연재 (총 10회 중 8회)  마이크로소프트웨어 EFL 연재 (총 5회 중 2회)
  3. 3. 라이프 스타일
  4. 4. 오픈소스
  5. 5. 오픈소스의 즐거움  "회사 이슈 볼 때는 재미가 없었는데, 오픈소스 컨트리뷰션을 하니 재미가 있다.“ - 익명을 요구한 박xx 책임  "개발은 즐거운 것인데 우리는 즐거움을 느끼지 못하는 상황에 처해있다.“ - 서주영 책임
  6. 6. 오픈소스란?
  7. 7. 오픈소스란?  소스코드가 공개됨?  소스코드가 공개된 프로젝트?
  8. 8. 오픈소스 정의  정의  자유로운 재배포  소스코드  2차 저작 허용  원저자 소스코드 보전  개인이나 단체 차별 금지  사용 분야 차별 금지  라이선스 배포  특정 제품을 대상으로 한 라이선스 금지  다른 소프트웨어를 제한하는 라이선스 금지  기술 중립 라이선스  참고  http://opensource.org/docs/definition.php
  9. 9. 제가 생각하는 오픈소스  오픈소스는 소스를 미끼로 사람들이 모이는 곳  공개된 코드를 중심으로 커뮤니티가 생성
  10. 10. 오픈소스 커뮤니티
  11. 11. 커뮤니티  커뮤니케이션이 생명  커뮤니티가 중요  눈팅부터 시작
  12. 12. 다양한 개발자
  13. 13. 커뮤니케이션 도구  웹사이트  메일링 리스트  IRC  버그 리포트 시스템  위키 페이지  패치 반영, 리뷰  기타
  14. 14. 컨트리뷰션  패치 보내기  코드 리뷰  버그 리포트  다국어 지원  문서 작업  웹사이트/서버 관리  커뮤니티 응대  기타
  15. 15. 오픈소스 컨트리뷰션, 왜?
  16. 16. 재미있다. 설렌다.  발전하는 재미  까는 재미  까이는 재미
  17. 17. 다양한 지식 습득 및 인맥 구축  기술적, 문화적, 사회적, …  다양한 출신, 배경지식을 가진 개발자를 만날 수 있다.  더 많은 좋은 개발자를 만남  다른 오픈소스
  18. 18. 다양한 지식 습득 및 인맥 구축  끊임없는 대화  트렌드를 알 수 있음  시야가 달라짐  더 넓은 세상과의 조우  빠른 리뷰, 친절한 리뷰
  19. 19. 기술적 도움  소프트웨어 엔지니어링을 익힐 수 있다  수많은 개발자와 협업을 익힐 수 있다  개발 능력 향상  지식 영역 넓힘  올바른 방향이 무엇인지 배움  다른 사람이 내 버그를 수정해준다.  보는 눈이 많다.
  20. 20. 기술적 도움  리누스의 법칙  보는 눈만 많다면 어떤 버그도 쉽게 잡을 수 있다.
  21. 21. 기술적 도움
  22. 22. 기술적 도움
  23. 23. 기회가 많아짐  2011 Cebit 출장  2012 Mozilla 출장  2012 Gnome Korea 발표  2012 삼성 Contributor Day 2012 발표  2012 Daum DevOn 발표  2012 Linux Korea Forum 참가  2013 Open Source Fundamentals 과정 강의  2013 GNOME Asia Summit 준비위원  2013 EFL Korea Seminar 주최  2013 Tizen Korea Summit 참가  2013 Linux Korea Forum 참가  2014 Open Source Fundamentals 과정 강의  2014 Tizen Developer Conference 발표  2014 OSCON 발표  2014 SOSCON 발표
  24. 24. 자극  롤모델을 만날 수 있다  열정을 높일 수 있다  자발적으로 참여  잉여 에너지를 열정으로
  25. 25. 그 외에도  경력/포트폴리오/커리어패스  영어를 많이 사용하게 된다.  회사와 달리 자기가 하고 싶은 것을 선택할 수 있다.  자신이 만들고 싶은, 필요한 것을 만들 수 있다.  공유 정신
  26. 26. 오픈소스 컨트리뷰션, 하지만…
  27. 27. 힘들다  시간 부족  영어  닫힌 마인드  가정  일  게임  술  다른 재미있는 일  업무 편중 현상
  28. 28. 오픈소스와 업무 사이의 갈등  올바른 방향의 차이  오픈소스와 회사 업무 재미 차이
  29. 29. 현실적으로 어느 정도 개인의 희생 필요
  30. 30. 현실적으로 어느 정도 개인의 희생 필요
  31. 31. 그렇다고 여기서 포기할 것인가?
  32. 32. 그렇다고 여기서 포기할 것인가?
  33. 33. 그렇다고 여기서 포기할 것인가?
  34. 34. 그렇다고 여기서 포기할 것인가?
  35. 35. 그렇다고 여기서 포기할 것인가?
  36. 36. 그렇다고 여기서 포기할 것인가?
  37. 37. 컨트리뷰션 방법 분석 #1 EFL
  38. 38. 웹사이트  http://www.enlightenment.org  http://www.enlightenment.org/p.php?p=contact
  39. 39. 웹사이트  http://efl.or.kr
  40. 40. 메일링 리스트  https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
  41. 41. 메일링 리스트
  42. 42. 메일링 리스트
  43. 43. IRC  편한 대화방으로 이용  외국인과 친구처럼 지냄  질문/답변뿐만 아니라 개인적인 대화에 활용하기도 함  irc.freenode.net (6667, 8001)  #e  #edevelop  #e.kr
  44. 44. IRC
  45. 45. IRC
  46. 46. IRC  그들은 물지 않는다
  47. 47. 프로젝트 관리 시스템  https://phab.enlightenment.org/
  48. 48. 버그 리포트 시스템  https://phab.enlightenment.org/maniphest/
  49. 49. 위키 페이지  https://phab.enlightenment.org/w/
  50. 50. 패치 반영, 리뷰 1. 패치 작성 2. 테스트 3. 코딩 컨벤션 검토 4. 패치 보내기 5. 리뷰 받기 6. 리뷰 반영하기 7. 실제 커밋
  51. 51. 패치 반영, 리뷰 1. 패치 작성
  52. 52. 패치 반영, 리뷰 2. 테스트 3. 코딩 컨벤션 검토 https://phab.enlightenment.org/w/coding_convention/ https://phab.enlightenment.org/w/edc_formatting_rule/
  53. 53. 패치 반영, 리뷰
  54. 54. 패치 반영, 리뷰 4. 패치 보내기 arcanist 도구 사용 https://phab.enlightenment.org/w/arcanist/
  55. 55. 패치 반영, 리뷰 4. 패치 보내기
  56. 56. 패치 반영, 리뷰 4. 패치 보내기
  57. 57. 패치 반영, 리뷰 5. 리뷰 받기
  58. 58. 패치 반영, 리뷰 5. 리뷰 받기
  59. 59. 패치 반영, 리뷰 6. 리뷰 반영하기
  60. 60. 패치 반영, 리뷰 6. 리뷰 반영하기
  61. 61. 패치 반영, 리뷰 7. 실제 커밋 커미터의 몫
  62. 62. 개발자  개발자 유형  Contributor  Probie  Committer  활동하는 커미터 (6월 자료)  전세계 69명  한국인 10명
  63. 63. 개발자  개발자 분포
  64. 64. 컨트리뷰션 방법 분석 #2 WebKit
  65. 65. 커뮤니티  http://www.webkit.org
  66. 66. 커뮤니티  IRC  irc.freenode.net (6667, 8001)  #webkit  #webkit-efl  #webkit-kr
  67. 67. 패치 반영, 리뷰 1. Bug report 선택 혹은 생성 2. 코드 수정 3. 코딩 컨벤션 검토  Tools/Script/check-webkit-style 스크립트 4. Layout 테스트 수행  Tools/Script/run-webkit-tests 5. ChangelLog 작성 및 Patch 작성  Tools/Script/prepare-ChangeLog <변경된 파일 or 디렉토리>
  68. 68. 패치 반영, 리뷰 6. Patch 업로드  Tools/Script/webkit-patch upload 7. Reviewer 리뷰 8. R+ 획득 후 Land <참고>  http://www.webkit.org/coding/contributing.html  김규영 책임 첨삭
  69. 69. 컨트리뷰션 방법 분석 #3 Linux Kernel
  70. 70. 커뮤니티  https://www.kernel.org/  https://www.wiki.kernel.org/  http://vger.kernel.org/  https://bugzilla.kernel.org/  https://git.kernel.org/cgit/
  71. 71. 패치 반영, 리뷰 1. Topic branch 만들기 2. 빌드 테스트 3. 패치 형식 체크  scripts/checkpatch.pl 4. 패치 만들기  Signed-off-by 설정 (commit 시 -s 옵션)  git format-patch 5. 리뷰어 찾기  scripts/get_maintainer.pl  메인테이너 뿐만 아니라 관련 메일링 리스트 주소도 얻을 수 있음
  72. 72. 패치 반영, 리뷰 6. 패치 보내기  git send-email --to <보낼곳 메일 주소> <patch file 경로> 7. 기다리기 8. 리뷰 사항 확인하고 재수정해서 다시 보내기 9. 패치 반영 <참고 자료>  https://www.kernel.org/doc/Documentation/ko_KR  https://docs.google.com/document/d/1jFGEeAPm8vPfCcPFKm5DtKR83nMlMaSM60ToOik7CTg/edit  http://studyfoss.egloos.com/viewer/5392934  김승우 책임 첨삭
  73. 73. 컨트리뷰션 방법 분석 #4 Tizen
  74. 74. 커뮤니티  https://www.tizen.org/  https://developer.tizen.org/forums  https://wiki.tizen.org/wiki/Main_Page  https://review.tizen.org/git/  https://review.tizen.org/gerrit  https://lists.tizen.org/listinfo
  75. 75. 커뮤니티  IRC  irc.freenode.org (6667, 8001)  #tizen
  76. 76. 패치 반영, 리뷰 1. Tizen 계정 생성 2. 코드 다운로드 3. 코드 수정 4. 커밋 만들기 5. Gerrit에 패치 보내기  git push origin HEAD:refs/for/tizen 참고: http://embeddedworld.co.kr/atl/view.asp?a_id=7038
  77. 77. 패치 반영, 리뷰
  78. 78. 마무으리
  79. 79. Open Hub  https://www.openhub.net/  구 ohloh.net  오픈소스 통계 및 자료 제공 사이트
  80. 80. Open Hub  Daniel Juyung Seo
  81. 81. Open Hub  Carsten Haitzler
  82. 82. 첫 패치  서주영 책임 EFL https://phab.enlightenment.org/rELMfe96896e39b8c793094a0e60560672e454cd0d84
  83. 83. 첫 패치  김규영 책임 WebKit http://trac.webkit.org/changeset/51783
  84. 84. Do It Now  일단 올려라  까여도 좋다  미래의 나를 꿈꿔봐라
  85. 85. Do It Now
  86. 86. 섀릴 샌드버그  월드뱅크에서 인도 나병 환자 도움  미국 재무부장관의 비서실장으로 활약
  87. 87. 섀릴 샌드버그  페이스북 최고운영책임자(COO)
  88. 88. 섀릴 샌드버그  가슴이 움직이는 대로 따라가다 보면, 과거에 행했던 모든 일이 퍼즐처럼 연결되어 미래와 만나곤 한다. - 사람 바이러스
  89. 89. 여러분 모두가 인재  프랑스 개발자 세드릭이 평가한 한국 개발자
  90. 90. 감사합니다.

×