GitHub의 문제점 지적, 새로운 코드 저장소(Forge) 설계에 대한 열띤 토론!
GitHub의 과도한 기능(Bloated Features)과 Git 중심의 워크플로우(Git-centric Workflow)에 대한 비판 제기
사전 커밋 후크(Pre-commit Hook), 유연한 PR 승인(Flexible PR Approval), 스택형 PR(Stacked PRs) 등 새로운 기능 제안
Fossil, Gerrit, Sourcehut 등 기존 솔루션(Existing Solutions)과의 비교 및 장단점 분석
GitHub의 독점적 지위(Monopoly)를 극복하고 개발자 중심의 도구를 만들고자 하는 열망 표출
Git의 한계와 새로운 워크플로우 제안
게시자는 Git이 커널 개발에는 적합하지만, 일반적인 개발 환경에서는 중앙 집중식 저장소(Centralized Repository)의 단순한 인터페이스로 사용된다고 지적한다. 따라서 Git 클라이언트의 복잡성을 줄이고, 사전 커밋 후크(Pre-commit Hook)를 통해 피드백 루프를 개선하며, 유연한 PR 승인(Flexible PR Approval) 방식을 도입하여 개발 생산성을 향상시키고자 한다. 또한, 스택형 PR을 통해 코드 리뷰 과정을 간소화하는 방안을 제시한다.
GitHub의 문제점과 대안 탐색
게시자는 GitHub가 지나치게 많은 기능을 제공하며, 모든 기능을 다 사용하는 것은 아니다(Not all features are used)라고 비판한다. 이에 대한 대안으로, 작은 단위의 호스팅(Smaller Units of Hosting)을 통해 조직을 구성하고, 로컬 저장소에서 전체 저장소의 표현을 가능하게 하며, 액션(Actions)을 오프라인에서도 사용할 수 있도록 하는 방안을 제시한다. 커뮤니티에서는 Fossil, Gerrit, Sourcehut 등 기존 솔루션과의 비교를 통해 다양한 관점을 제시한다.
Fossil, Gerrit, Sourcehut 등 기존 솔루션 비교
댓글에서는 Fossil이 Git을 대체하여 버그 추적(Bug Tracking), 위키(Wiki), 포럼(Forum) 기능을 통합 제공하는 점을 언급하며, 게시자가 원하는 기능과 유사하다고 평가한다. 또한, Gerrit의 유연한 PR 승인(Flexible PR Approval) 모델을 언급하며, GitHub의 획일적인 승인 방식의 대안으로 제시한다. Sourcehut은 Linux 개발 방식과 유사한 워크플로우를 지원하며, GitHub의 대안으로 고려될 수 있다.
스택형 PR(Stacked PRs)의 장단점
스택형 PR은 코드 리뷰를 용이하게 하지만, 구현의 복잡성(Implementation Complexity)과 CI(Continuous Integration) 파이프라인의 비효율성(Inefficiency)을 야기할 수 있다는 의견이 제시된다. 특히, CI를 모든 PR에 대해 실행하는 것은 자원 낭비라는 지적이 있다. 하지만, 초안 변경(Draft Changes)을 활용하거나, 캐싱(Caching)을 통해 CI 실행 시간을 단축하는 등 스택형 PR의 효율성을 높이는 방안도 제시된다.