开源是以学术界为基础建立的
大学在开放、汇集研究资源和相互共享方面有着悠久的历史。合作是这种普遍现象的一部分,也是学术工作的日常过程。这种协作精神的形成,部分原因是学术工作通常是由公共资金资助的。通过这种协作和联系,学术界会逐渐成为一个社区。
丹尼斯·库珀(Danese Cooper),她在Sun Microsystems创建了第一个开源程序办公室(Open Source Programs Office,OSPO)。根据她的观点,开源代码和开源软件之间是有区别的。
社区是构建开源软件的重要组成部分。致力于开放和透明运动,对于塑造和保护可持续性的开源软件很重要。我们经常听到这样的说法:我编写了一个程序并在我的网站上发布了它的完整源代码,我的程序可以被认为是“开源”的吗?
显然没这么简单。
在评估推动社区发展的力量时,知识共享是一个很关键因素。为社区做贡献是维持社区发展的另一个关键因素。一个动态且能够长期良性发展的开源项目,就会存活的更久并得到长足的发展。
参与体验
许多开源社区负责人无法完全理解是什么在吸引大家参与自己的社区。激励大家参与开源项目的一个核心挑战就是建立集体目标感。归属感也是一个关键因素,而这种归属感只有真正的协作和参与才能够获得。但是共同目标不是唯一的驱动力。更常见的驱动力,是人们为了一个共同目标而努力的这种参与体验。归属感和成为宏大事业的一部分,这本身就是一个重要的驱动力。
“我们大多数人通常将开源视为一个形容词,但它也是一个动词:描述方法和参与实践。”——Sayeed Choudhury,约翰霍普金斯大学谢里登图书馆副院长
贡献能力对于任何开源项目的开发者和用户来说都是非常重要的。开发人员的贡献带来了明显的好处。但是,不应低估用户的价值,因为他们可以提供需求以及重要的反馈和使用体验。
一个健康、繁荣的社区对于开源软件和开源数据都是必不可少的。因此,项目的规模和活跃程度都可以为社区的长期可持续性发展提供重要参考指标。
“开源项目面临的最大挑战之一就是如何将社区从我们委婉地称为朋友的朋友的参与网络,扩展到项目收到贡献或用户反馈的转折点,而这个转折点何时出现,我们无从得知。”——Daniel Bernstein,Fedora仓库项目技术负责人
开源是广泛合作的桥梁
开源不仅仅关乎价值观和原则。围绕软件开发、数据和管理进行开源是有实际缘由的。
对于大多数项目来说,软件开发为围绕其重点领域进行更广泛的协作提供了有力的锚点。
通过聚集来自不同机构的小组并一起解决问题,软件可以为其他活动提供跳板。对于大多数做长期研究的学者来说,这实际上与软件的细节无关。更重要的是数据能够经受时间的考验。数据自有其价值和重要性。技术的作用只是尽可能安全、经济地长期保存数据。
了解项目的软件开发过程是与社区其他成员协作的起点。人们必须进行远距离协作,通常是跨时区的,因此很难凝聚参与感。必须在诱导和鼓励人们参与项目之间建立平衡。
在鼓励新人加入社区与重视现有成员的投入和观点之间,也可能存在一定的困难。重要的是建立合理引导,让那些已经持续投入的人感到满足和舒适,同时减少阻碍项目发展的问题。
共享解决方案
开源软件为学术机构提供了一种处理常见问题的具体途径。
通常,找到解决方案最快的方法是了解其他人是如何处理这些问题的,因为人们会很自然地去学习其他人是如何应对特定挑战的。
成功的开源解决方案是可见的,因为在其背后有动态的社区提供支持。这些解决方案代表了较低的风险,因为开源项目的透明度向我们展示了其他人是如何解决问题的。
即使社区关注最终用户而非贡献者,参与、分享经验和达成共同目标的行为也同样具有巨大价值。开源软件之所以能够作为更广泛协作的桥梁,是因为其通常提供远远超出软件本身的价值。无论是开发人员、用户还是激励者,都要考虑自己在构建和参与开源计划中的角色。