问答近 年来,由 Stack Overflow 倡导的用户管理的问答站点发展迅速。此类站点(通常称为 Stack Exchange,以为其提供托管的最流行的托管软件 Stack Exchange 而得名)非常适合各种水平的用户提出和回答问题。社区会投票支持或否决答案,也就是说,被评为“已接受”的答案会直接显示在问题下面,而不实用的答案将被 隐藏。站点可作为有用的辅助渠道,避免技术讨论渠道充斥大量的重复问题。提出问题意味着,寻求支持的用户可以直接找到答案,而不必查阅大量论坛帖子。 博客博 客非常适合传播想法或新闻,但不适于活跃的讨论。博客通常提供评论功能,但一般不提供完整的对话支持功能。与论坛类似,博客要求用户必须访问站点,才能参 与互动。因此,并非所有人都能看到后续评论。也因此,博客不应被视为辅助讨论工具。相反,博客可作为对项目相关问题进行发布和详细说明的工具。博客或播客 还允许参与者展示其在开发和支持“工作”环境以外的个性化信息,藉此来构建社区关系。 联合联合指以机器可读形式分享信 息,以便于第三方方便地引用您项目中的相关内容。广泛使用的联合格式(如 RSS、ATOM 馈送)允许他人轻松地从您的项目中抽取内容并进行整合,以用于他们的工作或社区。就是说,联合源可以有多种形式,如用户的邮件客户端、源阅读程序、基于 Web 的聚合器或网站。向尽可能多的沟通渠道提供联合访问权限可以增加吸引新用户的机会。 联合内容本身并非沟通工具,它仅提供对预先存在内容的访问权限。通过慎重选择适当的核心工具,您可确保自动提供联合源。就是说,您应设法选择能够自动提供适当数据联合源的网站工具以及沟通、问题跟踪和版本控制工具。 社交网络和微博社交网络常常被视为社区建设的主要部分。然而,社交网络对开源项目的价值并不明确。主要问题是,大多数社交网络就象带有围墙的花园,一旦选择了某个社交网络,潜在的贡献者就只能使用这个站点,即使这不是他们的首选站点。 这可能便于将您的内容联合到社交网站中。这种做法适用于部分项目,但将社区划分为官方渠道和社交网络渠道时一定要慎重。 网站网 站是发布各种形式信息的机制。网站用于提供项目基本信息以及连接项目其它部分的门户。开源项目的网站与其它网站并无不同。SourceForge 或 GitHub 等很多代码托管平台提供简单网站托管服务,但您可能希望托管自己的网站。使用内容管理系统可轻松确保您的网站得到持续更新,并允许项目其他成员管理站点。 截屏视频截屏视频是展示软件使用情况的视频。用户无需安装软件即可查看该软件的截屏视频。截屏视频有助于吸引新用户及提供部分系统文档。但随着产品界面的成熟及新功能的推出,截屏视频会很快过时。维护截屏视频的成本较高,这可能也会限制截屏视频的广泛应用。 对 于通过 Web 浏览器访问的应用程序,可使用自动浏览器测试技术来确保无 bug 的用户体验。在每次版本发布前的准备过程中,可低速运行这些自动测试功能,并以截屏视频形式进行记录。 每个版本都需要充分测试,而且测试必须与接口和功能更新同步进行,这就提供了一种半自动的截屏视频记录方式。 版本控制系统版 本控制系统(VCS,也称为修订版本控制系统,即 RCS)对管理项目资源非常重要。通过版本控制系统,您可以跟踪版本更改人、更改内容、更改时间和更改原因,必要时还可以回滚引发问题的更改。使用版本控 制系统很简单,而正确使用却不那么简单。如果您从未使用过版本控制系统,建议您阅读我们的版本控制文档。 版本控制系统有两种模式 – 集中式和分布式。想一想哪种模式更适合您的项目管理和工作流程需求。您选择不同的版本控制系统模式,可用的代码托管站点可能也不同,因为每个站点仅支持几种特定的版本控制系统。 如 果您正确使用了版本控制系统,那么该系统可及时向开发者发送通知,简化版本管理,记录 bug 工作项,简化实验过程,管理对版本的贡献,并控制对资源的写权限。版本控制系统是一种协调和管理工具,也是您项目的时间机器。版本控制系统可确保将所有资 源更新通知所有成员,并允许任何人检索项目周期中任一指定时间点的全部资源。 为有效使用版本控制系统,所有贡献者必须遵循‘早提交,多提 交’准则。对于测试运行后的开发者而言,做到这一点很容易:只需在通过每项新测试后提交。提交后,系统将发送实现步骤完成通知,问题跟踪器自动记录针对问 题的提交。这样,其他开发者就可以查看所做的更改,避免重复劳动。 问题跟踪/项目管理通过问题跟踪器,您的用户可以报告 bug 并请求提供新功能。您的项目管理团队也可以使用问题跟踪器来制订工作计划,并优先处理社区推动的请求。 使 用问题跟踪器,您可以清楚地向用户说明,您未来的代码版本提供哪些值得期待的新功能。这意味着,如果用户需要某项功能,或要求修复某个 bug,而您在近期内不打算实现此功能或修复,那么用户可以选择自行投入资源来开发此功能或修复此 bug。清楚、高效地将您的计划传达给用户,这是吸引用户参与您的开发项目的第一步。 问题跟踪器最大的用途可能就是,记录项目新成员为熟悉项目而需要解决的问题。简单的问题或有导师提供指导的问题都属于此类问题。当有新成员加入时,现有社区成员应关注此类问题。 知识产权 (IPR) 管理您应该知道您的项目的版权归属,这一点很重要。为做到这一点,您必须能够追溯所有贡献的原作者。对于直接影响您的项目输出的贡献(如程序代码或文档),其版权可通过版本控制系统(如上所述)以及明确定义的贡献者许可协议和问题跟踪器记录的提交过程实现高效管理。 对于源代码或文档以外的非直接贡献(如设计思路),应以公开、可追溯的方式获得,这一点很重要。如果您通过邮件列表进行设计讨论,那么此邮件列表的存档则是追溯贡献的最佳方式。 对于软件代码形式的贡献,版本控制系统和问题跟踪器可记录贡献过程。补丁提交至问题跟踪器后,开发者会选取并审阅。当补丁可应用于基本代码中时,版本控制系统将自动记录向问题跟踪器‘提交’的补丁。 从 许多方面来说,开源项目的知识产权管理是最重要也是最繁琐的工作。知识产权管理并不会直接增强 软件功能,而且初看起来是一项费时、又需要流程驱动的工作。但如果您仔细设置了项目资源,大部分流程将自动完成,并对大多数开发者透明。这样的流程会帮助 您软件的潜在用户建立信心,而更多用户就意味着更多贡献者。 综述为您的项目选择正确的工具可以简化项目本身的管理,无论您是否吸引了社区的参与。而拥有工具只是一个开始,您还必须以一致的、设想的方式使用工具。如果您一开始就使用了正确的工具,那么您将避免很多麻烦,并能为在适当的时间围绕您的项目创建社区创造最佳条件。 原文作者:Ross Gardler 编译:开源社 转自:http://code.csdn.net/news/2823576 |