오픈소스 선택 시 고려사항
필요한 기능을 구현하려고 오픈소스를 사용하기로 했다면, 비슷한 기능을 제공하는 여러 오픈소스 프로젝트 중 어느 것을 선택하는 게 좋을까? 여러 측면에서 고려해야 할 점을 알아보자.
품질
기능, 성능, 호환성 등 오픈소스의 품질은 오픈소스를 선택할 때 가장 중요한 요소이다. GitHub에서 호스팅하는 프로젝트라면 Star 수, Fork 수로 오픈소스의 완성도를 가늠할 수 있다. 오픈소스를 사용하려는 기술 조직은 충분히 기능과 성능을 검증한 후 제품/서비스에 도입해야 한다.
커뮤니티
오픈소스가 얼마나 많은 사용자를 확보하고 있는지, Issue를 잘 관리하는지, 꾸준히 업데이트하는지 등 커뮤니티의 활성화 여부도 오픈소스를 선택할 때 고려해야 할 사항이다. 커뮤니티 활동이 수년 전에 멈춘 오픈소스보다는 지금도 활발한 커뮤니티를 가진 오픈소스를 선택하는 것이 유리하다.
문서화
오픈소스를 제대로 도입하고 유지보수하려면 프로젝트가 문서를 얼마나 충실하게 제공하는지도 확인해야 한다. 문서화가 잘 된 프로젝트의 산출물은 기업이 도입하기 수월하다. 또한 기업이 개선한 패치를 프로젝트에 다시 기여하기도 쉽게 해 준다.
보안 취약점
보안 취약점이 알려진 오픈소스는 사용해서는 안 된다. 보안 취약점이 발견된 오픈소스 버전은 CVE와 같은 데이터베이스에서 관리한다. 사용하려는 오픈소스 버전에 보안 취약점이 있는지 확인한 후 사용해야 한다.
라이선스
오픈소스 라이선스는 소프트웨어를 누구나 자유롭게 사용할 수 있는 권리를 부여하는 허가증이다. 하지만, 대부분의 오픈소스 라이선스는 오픈소스를 재배포 시 준수해야 할 의무사항을 요구한다. 예를 들어, 고지 의무, 소스 코드 공개 의무 등이다. 대표적인 오픈소스 라이선스인 GPL-2.0은 이와 결합하는 소프트웨어의 소스 코드까지 공개할 것을 요구한다. 따라서, 오픈소스를 선택할 때는 라이선스가 무엇인지, 라이선스를 준수할 수 있는 환경인지 반드시 미리 확인해야 한다. 이를 위한 오픈소스 컴플라이언스 활동을 아래에서 설명한다.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.