오픈소스답게 소프트웨어 설계하기
(techblog.lycorp.co.jp)저자는 오픈소스 프로젝트 10여 개를 디렉팅하고 개발했으며, 팀에서 소프트웨어를 처음 설계할 때에도 어지간하면 오픈소스로의 전환 가능성을 염두함. 이 과정에서 주로 어떤 점을 강조하는지 소개.
-
배포 방식으로서의 오픈소스의 장점
- 아키텍처의 독립성 확보 가능
- 오픈소스 라이선스로 사용자 자유도 향상
- 시작부터 보안에 신경씀
-
좋은 오픈소스 구조를 만드는 첫 걸음
- 일관성 - 명확한 세계관 수립
- 확장성 - 참여를 위한 외부 인터페이스
- 유지 보수성 - 설정 파일로 동작이 읽히는 프로그램
-
소프트웨어 유형별 구조와 유의사항
- 유틸리티 라이브러리
- 데이터 의존 라이브러리
- API 또는 CLI 애플리케이션
- 최종 사용자가 있는 애플리케이션
-
네이밍과 기술브랜딩