7.3TB GitHub 데이터 분석, 소프트웨어 개발의 '자연 법칙'을 밝히다
65,987개 GitHub 프로젝트, 7.3TB 데이터 분석을 통해 소프트웨어 진화의 패턴을 연구함
700개 이상의 커밋을 가진 프로젝트는 안정적인 성장 궤적(Stable Growth Trajectories)을 보임
소규모 프로젝트는 덜 일관적인 패턴(Less Deterministic Patterns)을 보이며, 쇠퇴할 가능성이 높음
AI 학습 데이터의 편향성(Popularity Bias)과 개발 방식의 전파에 대한 우려 제기
대규모 프로젝트의 안정성과 외부 요인
연구에 따르면, 700개 이상의 커밋을 가진 대규모 프로젝트는 지난 수십 년간의 하드웨어, 소프트웨어, 툴링 변화에도 불구하고 안정적인 성장 궤적을 유지했다. 이는 소프트웨어 진화의 법칙(Laws of Software Evolution)이 인간의 개입과 무관하게 작용할 수 있음을 시사한다. 특히, 이러한 프로젝트는 자동화된 워크플로우(Automated Workflows)를 따르며 외부 이벤트에 대한 높은 회복력을 보였다.
소규모 프로젝트의 불확실성과 데이터 편향
반면, 소규모 프로젝트는 덜 안정적인 성장 곡선을 보이며 쇠퇴할 가능성이 높다. 연구자는 GitHub의 소규모 프로젝트가 실험적인 프로토타입, 틈새 도구 등 다양한 목적으로 사용되기 때문이라고 분석했다. 또한, AI 모델 학습(AI Model Training)에 사용되는 데이터의 편향성 문제를 지적하며, 소규모 프로젝트의 유행(Popularity)이 비효율적인 개발 방식을 확산시킬 수 있다고 경고했다.
개발자의 역할과 소프트웨어 진화 법칙
연구 결과는 소프트웨어 개발에 있어 개발자의 역할에 대한 논쟁을 불러일으킨다. 일부에서는 소프트웨어 진화의 법칙이 인간의 개입을 넘어선다고 주장하는 반면, 다른 이들은 개발자의 창의성과 혁신을 강조한다. 연구는 대규모 프로젝트의 안정성을 통해 Les Hatton의 주장을 뒷받침하는 동시에, 소규모 프로젝트의 불확실성을 통해 그 한계를 지적한다.
데이터 큐레이션(Data Curation)의 중요성
연구자는 소규모 프로젝트의 수치적 우세가 '좋지만 아직 성숙하지 않은' 개발 방식의 확산을 초래할 수 있다고 경고하며, 데이터 큐레이션의 중요성을 강조했다. 이는 AI 모델 학습 및 연구에 사용되는 데이터의 품질을 관리하고, 장기적인 지속 가능성(Long-term Sustainability)을 고려한 개발 방식을 장려해야 함을 의미한다. 특히, 연구자들은 대규모 프로젝트에만 초점을 맞추는 것이 연구의 편향성을 야기할 수 있다고 지적했다.