1인 운영 오픈소스가 OpenSSF Best Practices passing(111%) 에서 silver 진척 ~133% 까지 6주에 어떻게 올라왔는지의 중간 보고. silver 컷오프 200%에는 아직 도달 못 함 — 그 거리를 정직하게 들여다본 회고.
요지: 80여 개 silver-tier MUST/SHOULD 항목 중 1인 메인테이너가 구조적으로 만족시킬 수 없어 보이는 항목들 (bus_factor, access_continuity 등) 을 거짓 없이 UNMET으로 표기하고, 그 위에 OpenSSF가 명시적으로 인정하는 정당화 패턴 (lockbox + legal heir, SHOULD criterion justification) 을 얹는 방식 으로 해당 항목을 met으로 인정받음. silver 뱃지 자체는 v0.4 cycle 이후 목표.
글의 핵심 (3줄)
- UNMET을 정직하게 표기하는 게 진척의 핵심. "다 만족시켰다"가 아니라 "못 만족시키는 항목을 거짓 없이 공개하되 회복 경로를 문서화" —
access_continuity(MUST) 와bus_factor(SHOULD) 둘 다 이 방식으로 met 인정. - Assurance case 작성이 가장 무거웠고 가장 보람있었다. 26 KB 문서, 47개 file:line 인용, 부수효과로 race condition 1건 + 권한 체크 누락 1건 발견.
- Documentation currency는 자동화 없이 정책만으로 met 가능. stale 버전 참조 4건을 grep으로 잡고 CONTRIBUTING.md에 정책 신설.
6주 PR 타임라인
| 주차 | 항목 | PR |
|---|---|---|
| Week 1 | dco (CLA로 대체) |
#340 |
| Week 2 | code_of_conduct · governance · roles_responsibilities |
#353 |
| Week 3 | static_analysis_common_vulnerabilities |
#356 |
| Week 4 | assurance_case |
#360 |
| Week 5 | access_continuity · bus_factor |
#362 |
| Week 6 | documentation_current (+ stale 4건 fix) |
#363 |
무엇을 안 했는지 (silver 뱃지 미달성 포함)
- silver 컷오프 200% 도달. 현재 ~133%로 silver 진척 33% 지점. 남은 67%p는 외부 인프라 영역(서명된 릴리스, 재현 가능 빌드, 추가 SAST 통합)이라 v0.4 cycle 이후 목표.
- bus factor를 실제로 2로 올리는 일 — 1인 BDFL 모드는 v1.0까지의 의도된 트레이드오프
- 자동 doc-lint — 다음 cycle
- 도메인 분화 — 모체 강화가 v1.0까지 유일한 우선순위
링크
- 본문 (velog): https://velog.io/@hashevolution/…
- GitHub: https://github.com/Hashevolution/James-RAG-Evol
- OpenSSF 페이지 (현재 passing 뱃지, silver 진척 ~133%): https://www.bestpractices.dev/projects/12806
- 핵심 PR: #340 / #353 / #356 / #360 / #362 / #363
MIT 라이선스, alpha (v0.3.0 — Platform Skeleton). 1인 메인테이너 운영. OpenSSF passing 뱃지 보유, silver 뱃지는 미달성 (진척 ~133%).