오늘 퇴근 후에 삼성역 근처의 NCSoft 신건물 2층에서 WoC 2007(http://woc.openmaru.com) 회고의 시간을 가졌습니다. 1시간 정도 요약발표와 의견 교환이 있었고, 2008년 WoC를 더 잘 하기 위한 의견도 받고 있습니다.

지난 가을부터 반 년 가량 WoC 멘토링을 하면서 느꼈던 것들을 몇 가지 적어보면 저는 이랬습니다.

  • 대학생들에게 실제적인 프로그래밍 방법을 알려줄 수 있었습니다.
  • 대학의 기술 교육이 고등학교 국영수 가르치는 것과 크게 다르지 않은 듯 합니다.
  • 웹과 자바를 하지 못하는 멘티를 기획서만 보고 뽑아서 프로젝트의 스펙을 많이 낮췄습니다. 대신 웹의 기초부터 JSP 공부하는 법을 알려주었죠.
  • 삽겹살에 소주를 기울이면서 9년 사회생활도 얘기해주었습니다. 어떻게 연봉을 높일 것인가 등등이요.

저는 그랬습니다. 멘티가 개발자로 성공하느냐 오픈소스를 잘 다루냐는 자신이 결정하겠죠. 그냥 만남 자체로도, 실무에서 뛰던 제 경험을 나눌 상대가 대학생이었다는 사실 하나로도 가치가 있다고 생각합니다. 대학교육의 이상과 직업생활의 현실의 만남이었다고 표현할 수도 있겠죠.

오픈마루와 인상적으로 후원해 주신 Microsoft 김국현 부장님, 그리고 멘토와 멘티가 되어서 열심히 오픈소스 프로젝트를 진행해주신 모든 분들 수고하셨습니다. 내일부터 Winter of Code 2008 준비하나 봅니다. ^^; 그 때 또 껴야죠. ^^;

오픈소스에 대한 얘기는 갈 수록 높아져 가고 있습니다. Freeware, Shareware 등으로 사용되는 애플리케이션과는 달리 소스까지 공개된 프로그램을 오픈소스라고 하지만, 오픈소스 제품은 공짜로서의 의미보다 기술의 공개라는 차원에서 더 가치가 있습니다.

developerWorks에 나온 "오픈 소스 입문"에 대한 글이 입문용으로 가볍게 읽을 만 합니다.

한 마디로 말해서, 오픈 소스는 협업(collaboration)이라고 할 수 있다. 보다 구체적으로 말하면, 소프트웨어 프로젝트에 대한 공개적 협업(public collaboration)이다.

Open Source Initiative 라는 단체가 만들어지고 오픈소스에 대한 라이센스와 가이드를 제시하고 있습니다.

오픈소스 제품이 시장에서 큰 역할을 하는 것을 예를 들면 리눅스, 아파치 웹 서버 등을 예로 들 수 있습니다.

오픈소스로 제품의 수준이 상용과 비길 수 있을 때 듀얼라이센스로 판매도 됩니다. 대표적인 것이 MySQL 같은 것이 되겠죠.


오픈 소스 작업을 위한 몇 가지 도구들이 있습니다.
Source Repository : CVS, SVN 같은 소스 버전관리 저장소입니다.
Mailing LIst : 사용자와 개발자 모두 메일을 통해서 의견 교환을 하는 경우가 많습니다. 종종 게시판이나 포럼도 사용되지만 대세는 메일링 리스트입니다.
Issue Tracker : Bugzilla, Trac, JIRA 와 같이 이슈, 버그 등을 등록해서 처리과정을 확인할 수 있는 시스템입니다.
Documentation Site : 오픈소스의 특성상 상용 제품보다 많이 부족하다고 느껴지는 부분입니다. 잘 나가는 오픈소스의 경우 매뉴얼 페이지가 잘 갱신되고 관리된다고 생각됩니다.


오픈소스 프로젝트를 호스팅하는 사이트들도 많이 있습니다. http://sourceforge.net, http://code.google.com/, http://kldp.net 등을 추천합니다.

제가 오픈해 놓은 소스 프로젝트도 있습니다.
http://code.google.com/p/daysago, http://code.google.com/p/shopgallery, http://code.google.com/p/unicodereader

작은 코드 조각(snippet)이지만 시작이 너무 크면 부담되거든요. ^^
오픈소스.
보기에 좋아보입니다.
회사에서 쓰려니 망설여집니다.
우선 매력적인 것이
1. 비용이 들지 않아서 손해날 것도 없다는 생각
2. 소스를 마음대로 들여다 볼 수 있어서 답답하지 않을 것이다
3. 기회만 되면 직접 커스터마이징도 가능할 것입니다.

하지만 걱정되는 것은
1. 프로젝트 납기일이 짧습니다.
2. 한글문제나 성능문제가 나타나면 많이 난감합니다.
3. 패치가 너무 자주 됩니다.
4. 윗선에서 별로 탐탁해하지 않습니다. 신뢰감이 없어 보인다는 것이죠.

그래도 오픈소스를 써야할까요?

말도 안되는 것이지만, 타당한 이유가 있습니다.

+ Recent posts