- 프레임 워크의 경우 일반적으로 미리 작성된 많은 모듈과 큰 커뮤니티가있는 크고 성숙한 프레임 워크 만 사용합니다. 일반적으로, 하나의 프레임 워크를 다른 프레임 워크보다 선택하면 실제로 자신의 코드에 소비해야하는 작업량을 크게 줄일 수 없으며, 일부 프레임 워크는 더 아름다운 코드를 장려 할 수 있고, 다른 프레임 워크는 특정 작업을 쉽게 수행 할 수 있지만 일반적으로 총 개발 노력과 거의 차이가 없습니다. 그러나 널리 사용되는 프레임 워크에는 활용할 수있는 미리 작성된 모듈이 더 많기 때문에 일반적으로 훨씬 더 많은 시간과 노력을 절약 할 수 있습니다.
- 작은 비 프레임 워크 라이브러리의 경우 일반적으로 많은 문제없이 필요한 경우 직접 수정할 수 있으므로 일반적으로 커뮤니티를 추가 보너스로 고려하는 것이 좋습니다. 대부분의 소규모 도서관은 한 사람 만 관리하지만 자신을 구축하는 것보다 낫습니다. 그러나 대규모 도서관의 경우, 자신을 쉽게 변경할 수 없기 때문에 성숙하고 활동적인 커뮤니티 및 문서화가 필수적입니다.
- 라이센스는 필수입니다. 1 인 라이브러리의 경우 라이브러리를 수정해야 할 가능성이 있으므로 동의하면 해당 라이센스로 라이센스를 부여해야합니다.
소규모 도서관의 경우, 항상 포크해야하고 프로젝트가 이미 중단되었다고 가정해야합니다. 특히 프로젝트가 Github 또는 BitBucket에서 호스팅되는 경우 다른 사람들의 프로젝트를 어리석게 쉽게 만들 수 있기 때문에 문제가되지 않습니다. 소규모 도서관의 경우, 원래 관리자가 사라지거나 원하지 않는 장소로 프로젝트 방향을 잡을 계획 인 경우 항상 프로젝트 유지 관리를 직접 맡을 수 있습니다.
나는 프로젝트 활동에 대해 덜 염려합니다. "완벽 성"에 대한 감각을 얻은 성숙한 라이브러리는 일반적으로 버그 수정 만하면되므로 활동 속도가 느려집니다. 프로젝트 활동은 라이브러리가 적극적으로 발전하고있는 대상을 포함하는 경우에만 중요합니다. 예를 들어 외부 서비스의 래퍼는 외부 서비스가 발전함에 따라 지속적으로 업데이트되어야하므로 적극적인 개발이 필수적이지만 수학 라이브러리는 많이 필요하지 않습니다. 필요한 모든 기능을 갖춘 새로운 개발.
더 큰 라이브러리의 경우 상황이 더 어려워집니다. 인수는 훨씬 더 복잡합니다. 운 좋게도 더 큰 라이브러리는 일반적으로 더 성숙하기 때문에 빠르게 이동하지 않습니다.
@Sam이 그의 답변에서 말했듯이 오픈 소스 라이브러리를 평가할 때 가장 중요한 것은 요구 사항에 얼마나 부합하는지 동의합니다. 라이센스 문제가 정리되면 오픈 소스 라이브러리를 사용하는 것은 실수가 거의 없습니다.