오픈소스에 대한 얘기는 갈 수록 높아져 가고 있습니다. 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)이지만 시작이 너무 크면 부담되거든요. ^^
2006년 javaone에 갔을 때 grailstrails에 관한 강의를 들었습니다.
Grails는 Groovy + Rails 프레임워크이고 Trails는 Tapestry를 중심으로한 Rails 프레임워크입니다.

Groovy의 발음이 Ruby와 얼마나 많이 닮았는지 아신다면 조금 더 재미있을 것입니다. 따라쟁이 자바 같으니라구요.

http://www.ibm.com/developerworks/kr/library/j-grails01158/ 에 Grails에 관한 좋은 기사가 올라왔습니다.

맘에 드는 구절이 있군요.
더 이상 getter와 setter를 짤 필요가 없다. 그루비가 자동으로 이를 제공하기 때문이다.
EJB를 비롯해서 많은 프레임워크들이 번잡스럽게 여겨지는 이유는 많은 코드양입니다. 자동으로 생성되는 Code Generator를 만들어 써도 관리에서 시간 잡아먹는 역할이기 때문에 정말 비즈니스에만 집중하기가 힘듭니다. 더구나 IDE가 없다면 더 힘들어집니다.

Convention over Configuration 이라는 좋은 사상으로 이러한 문제가 많이 해소되었습니다. Grails에서 얘기하는 Groovy의 역할도 코드의 양을 획기적으로 줄여준다고 합니다.

배움을 그치기에는 자바 세상은 너무도 넓은 것 같습니다.
Hello World 는 빙산의 일각인 것이죠.

+ Recent posts