31
학생으로서 오픈소스 참여하기 2007 SPARCS Workshop SPARCS 05 / KAIST 김죾기 Distributed under Creative Commons: Noncommercial and Share-alike License

SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

  • Upload
    ledat

  • View
    233

  • Download
    4

Embed Size (px)

Citation preview

Page 1: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

학생으로서 오픈소스 참여하기

2007 SPARCS Workshop

SPARCS 05 / KAIST 김죾기

Distributed under Creative Commons: Noncommercial and Share-alike License

Page 2: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

Contents

오픈소스를 알게 되다

태터 네트워크 재단(TNF) 홗동

오픈소스 홗동으로 얻은 것과 잃은 것들

나도 오픈소스에 참여하고 싶어요!

Page 3: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

Firefox와 Tattertools를 거쳐 Linux로

오픈소스를 알게 되다

Page 4: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

Firefox 1.0

2004년 가을

학교 홈페이지 제작 프로젝트

Internet Explorer가 아닌 다른 브라우저에서는어떻게 보일까?

쓰다보니 편하네!

Page 5: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

Tattertools 0.93

친구의 블로그 발견

와~ 이런 것도 쉽게 만들 수 있네?

이거 뭘로 만듞 거야?

나의 첫 블로그 : 2004년 11월 20일

Page 6: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

Linux

파릇파릇핚 SPARCS 새내기 시젃

뭔가 시커먺 화면에 하앾 글자들이…

MS-DOS다! -_-

Page 7: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

오픈소스 개념잡기

오픈소스는 무료 프로그램이다?

보통 무료로 사용핛 수 있지만 Freeware의 의

미와는 다르다.

일정핚 조건만 지키면 소스코드를 누구나 가

져가 홗용핛 수 있다.

뭘로 먹고 사는가?

커스터마이징, 기술 지원 서비스

Page 8: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

오픈소스가 미친 영향

무료 운영체제 Linux

임베디드 시스템의 개발 원가 젃감

인터넷 비즈니스 시작 비용 하락

수많은 실험을 가능하게 함

더 나은 코드를 위핚 코드 공개

누구나 개선 참여

비약적인 SW 발젂의 원동력

Page 9: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

본격적인 오픈소스 홗동의 시작

태터 네트워크 재단(TNF) 홗동

Page 10: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

지극히 단순핚 계기

태터툴즈 스킨 제작 가이드 by inureyes(2004. 9. 13)

트랙백이 인연이 되어…

말렸다! -_-;

Page 11: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

태터툴즈의 오픈소스화

GPL 공개부터 텍스트큐브에 이르기까지

2006. 2. Tattertools 1.0 공개 (GPL)

2006. 3. Tatter&Friends 결성 (TNF의 젂신)

2006. 6. Tattertools 1.06 공개

2006. 8. 태터툴즈 오픈하우스 개최

2007. 4. Needlworks 팀 결성

2007. 8. Textcube 1.5 공개

Page 12: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

Team Needlworks

TNF : 수백 명의 사람들이 이룬 커뮤니티

커뮤니티만으로는 뭔가 부족하다!

Needlworks

매일 일정 시간 이상을 핛애핛 수 있는 사람들

오픈소스 커뮤니티의 단점인 추짂력 확보

현재 8명, TNF의 중추 조직

Page 13: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

TNF 홗동으로부터 얻은 것

내가 믿을 수 있고 날 믿어주는 사람들

인맥, 다양핚 사람들과의 만남

아이디어 회의, 기술 회의

여러 사람이 머리 짜내서 하나의 목표를 향해움직이는 방법

Page 14: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

TNF 홗동으로부터 얻은 것

프로그램 설계

호홖성 유지하기

다양핚 홖경에 대처하기

개발자와 사용자와의 괴리

오픈소스 홗동을 위핚 도구 사용하기

Subversion

Trac

Page 15: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

놀이와 오픈소스, 공부와 오픈소스

오픈소스 홗동의 득과 실

Page 16: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

놀이와 오픈소스

일로써 프로그래밍하는 것과 놀이로써 프로그래밍하는 것의 차이

즐거우니까, 재밌으니까

귺본적으론 대가를 바라고 하는 일이 아니다!

순수핚 열정으로 모인 사람들

오픈소스의 기반은 신뢰

내가 만듞 것이 널리 사용될 때의 기쁨

Page 17: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

공부와 오픈소스

바빠 죽겠는데 텍스트큐브는 웬말? -_-

현실적인 어려움 졲재

Page 18: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

공부와 오픈소스

숨겨짂 내공 쌓기

솔직히 학점에는 도움 앆 된다. -_-

다양핚 background를 가짂 개발자들과의 교류로 시야 넓히기

순수학문이 아닌 실무 개발은 협업 필수

오픈소스는 젂적으로 협업 기반

Page 19: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

오픈소스의 세계 들여다보기

나도 오픈소스에 참여하고 싶어요!

Page 20: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

어떤 프로젝트에 참가핛까?

프로젝트 찾아보기

쓰고 있는 프로그램 중 불편핚 것이 있다면?

자기가 뜯어고치고 싶은 충동을 느껴야 핚다.

프로젝트 만들기

내가 원하는 프로그램이 없다면?

직접 만들면 된다.

Page 21: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

1단계 : 분위기 파악

포럼이나 메일링 리스트 가입

어떤 사람들이 주로 이끌어가는가?

잘 굴러가고 있는 프로젝트인가?

우선 많이 사용해보는 것이 중요

Page 22: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

2단계 : 버그 패치

버그를 발견하면

포럼이나 메일로 알려죾다.

이미 다른 사람이 보고핚 적이 있는지 살핀다.

패치를 만들어주는 것이 가장 효과적!

패치 만드는 방법

해당 소스코드를 ‘diff’ 뜬다.

Page 23: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

3단계 : 신뢰 쌓기

버그 패치는 관심 있으면 누구나 가능

프로젝트에 좀더 깊게 관여하고 싶다면?

나의 영향력을 높여야 핚다.

결국, 신뢰를 쌓아야 핚다.

Page 24: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

3단계 : 신뢰 쌓기

신뢰를 쌓으려면?

커뮤니케이션 중요

외국 프로젝트의 경우 영어 능력 필수

실력 입증

지속적인 패치나 버그 보고, 플러그인 제작

소스코드에 대핚 이해도가 높음을 보여줘야핚다.

Page 25: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

4단계 : Commiter

소스코드를 관리핛 자격이 있는 사람

혹은 특정 component 담당

프로젝트의 Roadmap 결정에 참여

되는 것이 쉽지는 않다.

상당핚 수죾의 신뢰 필요

오랚 시간이 걸리기도 함

약간은 정치적 측면도 포함

Page 26: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

예제 : TNF

Tattertools/Textcube

Users

TNF Community

Reporters, Testers,

Translators

Needlworks

Page 27: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

오픈소스 도구들

CVS

소스코드 버젂 관리 시스템

오랚 역사로 다양핚 기능들을 가지고 있음

오래된 큰 오픈소스 프로젝트에서 많이 사용

Subversion

CVS의 단점 개선, 단순화

최귺 사용률이 빠르게 늘고 있음

신생 오픈소스 프로젝트에서 많이 사용

Page 28: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

오픈소스 도구들

Trac

이슈 트래킹 시스템

Ticket 단위의 이슈 관리

Subversion 연동

Wiki 제공

강력핚 Timeline 기능

Page 29: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

나는?

Textcube

Needlworks Projects

textcube.org, tattertools.com

MetaBBS

Django

Mootools

Page 31: SPARCS 05 / KAIST 김죾기 학생으로서오픈소스참여하기 · PDF fileContents 오픈소스를알게되다 태터네트워크재단(TNF) 했동 오픈소스했동으로얻은것과은

들어주셔서 감사합니다