오픈소스 도입시 실무에 도움이 될 만한 10가지 팁

가 +
가 -

오픈소스 소프트웨어(OSS)의 장점이자 경쟁력은 전세계에 흩어져 있는 수많은 개발자들의 지혜가 제품이 녹아들어가 있다는 점이다. 서로의 경험들을 공유하면서 하나씩 개선해 나가고 있다. 그렇지만 20만 개가 넘는 오픈소스 프로젝트를 일일이 체크하면서 될성싶은 프로젝트를 골라내기란 여간 힘든 것이 아니다.

이런 문제도 서로가 도움을 주면서 해결할 수 있고, 예스24 최만석 시스템팀 팀장도 그 중의 한 명이다. 최만석 팀장은 예스24에서 진행했던 오픈소스 닷넷 프레임워크 프로젝트 내용을 정리하면서 ‘오픈소스 도입시 실무에 도움이 될 만한 팁 10가지’를 정리했다.

최만석 팀장의 동의를 얻어 그가 발표한 자료를 소개한다.

1. Java 사례를 참고한다.

– .Net과 자바 플랫폼의 유사성

– Java에 많은 mature open source 프로젝트가 있음

– Java의 .Net 포팅 프로젝트가 많음

  • Spring vs. Spring.net
  • iBATIS vs. iBATIS.net
  • Hibernate vs. NHibernate
  • Ant vs. NAnt
  • JUnit vs. NUnit

2. 해결하고자 하는 문제에 대한 오픈소스 프로젝트가 있는지 확인

– 20만개보다 많은 오픈 소스 프로젝트가 있다

– 당장 이용 가능할 만큼  완성도가 높지 않더라도 프로젝트의 일부 결과물을 차용하거나 문제를 해결하기 위한 아이디어를 얻을 수도 있음

3. 평판(reputation)을 확인하라.

– 이미 사용 경험이 있는 사람들의 평가가 큰 도움이 됨

– IT커뮤니티나 웹검색에서 프로젝트 관련 글들 검색

4. 업무의 작은 부분에서 시작해 중요한 부분으로 확대를 고려하라.

– 처음에는 미션 크리티컬한 부분을 피해 일상적인 한 부분에 적용

– 도입 프로세스를 반복하면서 고도화 해 간다.

5. 도입을 신중하게 결정하되 도입 결정 이후에는 추진력 있게 진행하라.

– 성능 테스트(Load test, Performance profiler)를 통해 적합한 성능과 안정성을 제공하는지 확인

– 도입 부분의 유니 테스트를 통해 소프트웨어 품질 유지를 하고 잦은 배포에 대비

– 소스를 수정해야 하는 상황도 생길 수 있음을 생각해 디버깅 기술을 잘 익혀 두는 것이 좋음

6. 부족한 문서는 테스트 코드와 소스 코드를 참조하는 것이 도움이 된다.

– 자바에서 포팅된 프로젝트들은 문서화가 잘 돼어 있는 편이다. 이 경우 자바의 문서도 도움이 될 수 있음.

– 유닛 테스트 코드는 매우 좋은 예제가 됨

– 소스 코드 그 자체가 훌륭한 문서

– 코드 검색(www.google.com/codesearch)을 이용해 소스의 사용 예를 찾을 수 있다.

7. 최신 소스(trunk)를 자주 체크아웃받아라.

– 정식 릴리즈에서는 해결되지 않은 문제들이 최신 트렁크 소스에서는 이미 해결된 경우도 많다.

– 프로젝트의 활동성과 추세를 알 수 있다.

– 최근 오픈소스에서 서브버전(http://subversion.tigris.org)의 사용이 대세이니 서브버전의 기본적인 사용법을 익혀 둔다.

8. 다른 개발 플랫폼의 결과물도 관심 있게 보자.

– .NET 프로젝트를 한다고 .Net으로 만든 오픈 소스 소프트웨어만 유효한 것이 아님.

– 외부 프로세스 실행(Process.Start)을 이용하는 것도 간으하며 콘솔 파이프라인(Console pipeline)을 이용할 수도 있음

  • 특정 서버의 HTML을 파일로 저장하기 위해 Wget이나 cURL을 활용
  • Image resizing을 하는 일괄작업에 GraphicsMagicK을 이용

– C/C++ 결과물은 SWIG를 통해 인터페이스 하는 것도 가능

9. 오픈 소스 관련 인터넷 링크 활용

Open Source Catalogue 2007 u.s. version 1.1

Optaros EOS Directory

Open source as alternative

http://kldp.org

http://slashdot.org

www.codeplex.com

www.sourceforge.net

www.gnu.org

www.apache.org

10. 오픈소스소프트웨어 평가 방법론

http://en.wikipedia.org/wiki/Open_source_software_assessment_methodologies

 

[관련 기사]

네티즌의견(총 0개)