开源项目技术基础设施搭建指南
1. 信息管理的重要性与挑战
在开源项目中,有效的信息管理至关重要。随着项目的发展,参与者数量增多,信息的复杂性会呈指数级增长,这就容易陷入布鲁克斯法则(Brooks’ Law)的困境,即给一个延迟的软件项目增加人力会让项目更加延迟。因为项目中的沟通复杂度会随着参与者数量的平方增加。当只有少数人参与时,大家可以轻松交流,但参与者达到数百人时,每个人就很难时刻了解其他人的工作进展。
为了解决这个问题,开源项目借鉴了议会程序的理念。在现实的拥挤房间里,议会程序提供了一套正式的准则,用于大型群体的实时讨论、确保重要异议不被淹没、组建小组委员会、记录决策等。而在互联网环境下,虽然不需要担心让某些人在他人发言时保持安静,但在信息管理技术方面,管理良好的开源项目采用了更高级的方式。
由于开源项目中的沟通大多以书面形式进行,因此逐渐形成了一套完善的系统,用于合理地路由和标记数据、减少重复以避免虚假分歧、存储和检索数据、纠正错误或过时的信息,以及在发现新联系时关联不同的信息片段。
信息管理需要技术技能和人际技能的结合。技术技能用于配置和维护信息管理软件,以满足新的需求;人际技能则用于鼓励项目参与者合理使用工具,保持项目信息的有序性。不同参与程度的贡献者需要学习不同复杂程度和专业性的技术。
信息管理没有一成不变的解决方案,因为存在太多变量。项目发展可能使现有的管理实践无法扩展,或者新的信息管理服务出现,会让新成员质疑项目为何不采用。许多基础设施问题需要权衡信息生产者和消费者的便利性,以及配置信息管理软件所需的时间和它给项目带来的好处。同时,要避免过度自动化,因为有些事情确实需要人工关注。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



