리누스의 법칙
Linus's law소프트웨어 개발에서 라이너스의 법칙은 "충분한 눈알이 주어지면 모든 버그는 얕다"는 주장입니다. 이 법은 에릭 S에 의해 제정되었습니다. 레이먼드는 그의 수필이자 책인 대성당과 바자(1999)에서 리누스 토르발스를 기리기 위해 이름이 지어졌습니다.[1][2]
좀 더 공식적인 설명은 "충분히 큰 베타 테스터 및 공동 개발자 기반을 감안할 때, 거의 모든 문제가 빠르게 해결될 것이며, 이 문제는 누군가에게는 명백할 것입니다."입니다. 코드를 여러 개발자들에게 제시하는 것은 소프트웨어 검토의 단순한 형태입니다. 연구자와 실무자들은 버그와 보안 문제를 찾는 과정을 검토하는 효과를 반복적으로 보여주었습니다.[3]
유효성
Robert Glass는 소프트웨어 엔지니어링에 대한 사실과 오류에서 이 법을 오픈 소스 운동의 "만트라"라고 언급하지만, 근거가 부족하고 연구에 따르면 추가 버그가 발견되는 비율이 검토자 수에 따라 선형적으로 확장되지 않는다는 점에서 오류라고 말합니다. 유용한 리뷰어의 최대 수는 2~4명 정도로 적으며, 이 수 이상의 리뷰어를 추가하면 훨씬 낮은 비율로 버그를 발견할 수 있습니다.[4] 폐쇄형 소스 실무자들은 소프트웨어 프로젝트를 개발하는 동안 엄격하고 독립적인 코드 분석을 추진하기도 하지만, 주로 "눈알"의 수가 아니라 소수의 심층적인 검토에 초점을 맞추고 있습니다.[5]
중요한 코드에서 하트블리드 보안 버그가 2년 동안 지속된 것은 레이먼드의 격언을 반박하는 것으로 여겨졌습니다.[6][7][8][9] 래리 셀처(Larry Seltzer)는 소스 코드의 가용성으로 인해 일부 개발자와 연구자들이 폐쇄된 소스 소프트웨어보다 덜 광범위한 테스트를 수행하여 버그가 쉽게 남아있을 수 있다고 의심합니다.[9] 2015년 리눅스 재단의 전무이사 짐 젬린은 현대 소프트웨어의 복잡성이 보안을 개선하기 위해 특정 리소스 할당이 바람직할 정도로 증가했다고 주장했습니다. 2014년 최대 규모의 글로벌 오픈 소스 소프트웨어 취약점에 대해 그는 "이러한 경우에는 눈알이 제대로 보이지 않았습니다."[8]라고 말합니다. 실제로 만트라가 얼마나 잘 유지되고 있는지를 테스트하기 위한 대규모 실험이나 동료 검토 설문조사가 수행되지 않았습니다.
라이너스 법칙의 타당성에 대한 경험적 지지는 같은 조직의 인기 있는 프로젝트와 인기 없는 프로젝트를 비교함으로써 얻어졌습니다. 인기 프로젝트는 깃허브 별 상위 5%(별 7,481개 이상)를 보유한 프로젝트입니다. 버그 수정과 관련된 것으로 판단된 커밋의 비율인 수정 커밋 확률을 사용하여 버그 식별을 측정했습니다. 분석 결과, 인기 프로젝트는 버그 수정 비율이 더 높은 것으로 나타났습니다(예: 구글의 인기 프로젝트는 덜 인기 있는 프로젝트보다 버그 수정 비율이 27% 더 높았습니다). 구글이 더 인기 있는 프로젝트에서 코드 품질 기준을 낮췄을 가능성은 거의 없기 때문에, 이것은 인기 있는 프로젝트에서 버그 탐지 효율이 증가했음을 보여줍니다.
참고 항목
참고문헌
- ^ Raymond, Eric S. "The Cathedral and the Bazaar". catb.org.
- ^ Raymond, Eric S. (1999). The Cathedral and the Bazaar. O'Reilly Media. p. 30. ISBN 1-56592-724-9.
- ^ Pfleeger, Charles P.; Pfleeger, Shari Lawrence (2003). Security in Computing, 4th Ed. Prentice Hall PTR. pp. 154–157. ISBN 0-13-239077-9.
- ^ Glass, Robert L. (2003). Facts and Fallacies of Software Engineering. Addison-Wesley. p. 174. ISBN 0-321-11742-5. ISBN 978-0321117427.
- ^ Howard, Michael; LeBlanc, David (2003). Writing Secure Code, 2nd. Ed. Microsoft Press. pp. 44–45, 615, 726. ISBN 0-7356-1722-8.
- ^ Byfield, Bruce (April 14, 2014). "Does Heartbleed Disprove 'Open Source is Safer'?"". Datamation.
- ^ Felten, Edward W.; Kroll, Joshua A. (2014). "Help Wanted on Internet Security". Scientific American. 311 (1): 14. Bibcode:2014SciAm.311a..14F. doi:10.1038/scientificamerican0714-14. PMID 24974688.
- ^ a b Kerner, Sean Michael (February 20, 2015). "Why All Linux (Security) Bugs Aren't Shallow". eSecurity Planet. Retrieved February 21, 2015.
- ^ a b Seltzer, Larry (April 14, 2014). "Did open source matter for Heartbleed?". ZDNet.
- ^ Amit, Idan; Feitelson, Dror G. (2020). "The Corrective Commit Probability Code Quality Metric". arXiv:2007.10912 [cs.SE].
더보기
- Jing Wang; J.M. Carroll (2011-05-27). Behind Linus's law: A preliminary analysis of open source software peer review practices in Mozi. Int. Conf. on Collaboration Technologies and Systems (CTS), Philadelphia, PA. IEEE Xplore Digital Library. pp. 117–124. doi:10.1109/CTS.2011.5928673.