2008年06月04日 星期三 23:46
刚才看到的一篇非常不错的文章,讲述如何来构建一个技术社区: http://blogs.sun.com/jimgris/entry/%E6%9E%84%E5%BB%BA_opensolaris_%E7%A4%BE%E5%8C%BA 构建 OpenSolaris 社区 OpenSolaris 是社区的社区,构建这些社区需要时间和精力。没有其他办法。各自为战的开发代码将会失去一个结识全世界开发人员和用户的机会。目前,最大的 OpenSolaris 社区活跃在 opensolaris.org上,但即便它现在也是由许多比较小的社区组成的,包括社区组、项目和用户组。现在还有其他新出现的社区开始在新兴市场或地区创办网站,这些都未必与 opensolaris.org 上的操作有直接的联系。OpenSolaris 不再单调地局限于某一个地区。它开始在全球范围内增长和多样化。 Sun 开始将已关闭的开发项目在 opensolaris.org上公开,或者公开启动一个新项目,许多人会问,"我们如何构建社区?"和/或"我们为什么应该构建社区?"和/或"我们如何增长?"下面我将从非技术角度 来回答这些问题。下列问题列表不一定全面(其中一些事情不必做到完美),但如果您想围绕您的资源构建一个人员社区,那就应该考虑这些问题。 构建社区 1. 计划和构建: 要认识到的第一件事是构建社区是一个积极的、周期的计划和实施过程。一些人回避这一观点。他们相信社区必须有组织地增长。但我怀疑大多数社区实际上是基于 积极的参与者增长的,这些参与者吸引新人员,并管理来自不同来源的资源,包括公司、基金和个人。此外,我相信社区构建的概念在很大程度上基于两个简单的原 则:(1) 开放社区和 (2) 开放开发。基本上,是开放工作和开放谈话。如果您真想做大,您必须做好三件事情:(1) 始终跟很多人谈话 (2) 将他们包括在您的工作中 (3) 通过创建并将他们的工作与其他人分享,为他们提供回报。那么,工作本身的过程帮助构建社区,因为它生成了更多交流和更多工作。这样您就前进了。但积极的构 建开始于计划。制订一个计划,然后开始构建,然后更新计划。不断重复。 2. 透明度: 走出城墙。您不能在防火墙后面构建社区。谈话、列表、源码、二进制文件、文档、工具、人员、基础设施、艺术品,将这些都摆出来,这样每个人都能公平地工作 并做出贡献。如果没有聚集任何东西,就不会有人聚集,您就不会有一个社区。如果您只在内部谈话,外面的人甚至不知道您的存在。这是 Sun 的人犯的一个最大的错误。他们试图活在两个世界中。您不能这样做,一定要在开放和封闭之间做一个选择。 3. 参与: 社区将直接参与并构建信任关系。这意味着,做出共享就是人们的生活方式,并且他们期望着更多的机会和开放。您还可以将这个问题看作是社区和方案之间的差 别。大多数方案是单向的,通常从公司走向市场。但社区是双向的(实际上是多向的),进来的和出来的几乎一样多。而且,参与实际上是行动,而非谈话。行动的 人成为领头羊,他们是声音最高的那些人。您基于对社区的贡献而非在公司的头衔来获得可信度。如果您想让人们都停留,您必须接受这个概念,让人们来参与。 4. 贡献: 定义您寻求的贡献。给出一般的种类和特定示例,期望社区提供更多示例和您没想到的任何东西(实际上,这就是目标)。OpenSolaris 社区成员已经参与的贡献列表有 ―― 代码、脚本、测试、帮助、演示、用户组、会议管理、语言门户、翻译、大学课程、图片、广告、培训材料、截屏、视频、网站、wiki、传播、文档、文章、博 客、播客、开发过程、教程、输入方法、反馈、语言压缩工具、SCM 工具、重写已关闭的二进制文件、缺陷跟踪系统、shell、分发、书籍、端口、管理等等。尽管其中许多内容是技术方面的,但也有一些不是,而且大多数不涉 及内核代码。换句话说,思考您想要鼓励的各种贡献,然后让这个列表开放增长。当有内容开始进入时,指出是谁在做出贡献。您应该要始终引起对贡献的注意,但 要以一种低调的方式进行。在大多数社区中,每个人知道谁在真正做出贡献,因为行动胜于豪言壮语,贡献者通常是开放地互相合作。但不妨经常地感谢一下人们。 5. 演示: 大多数技术演示最大的问题在于它们实在太长了,它们太多地集中于描述技术本身。对于课堂或交互式的教程会话,这很不错。但是,构建社区的行为实际上与技术 无关。它与人有关。所以,当然可以解释您的技术,但要把更多重点放在开发人员和用户如何参与并为技术和社区做出贡献,以及每个人将如何获益。大多数技术演 示只在最后一张幻灯片上列出参与者列表。这是远远不够的。它不能是一个计划外的事情。一定要让它成为核心。 6. 会议: 您必须参加会议。Sun 举行了各种会议,但您还必须参加各种 Sun FOSS 活动。它们都有价值,但彼此不同。此外,不要感让自己感觉必须总是出席会议。参与会话、走廊谈话、BOF 和晚会就像论文答辩一样重要。呆在那里就至关重要。您需要结合面对面和在线交互这两种方式来创建社区感受。但不要错过快速演讲机会!大多数好的会议都提供 这些机会。并且在会议列表中添加用户组。您可以加入和/或启动一个用户组。如果启动了一个用户组,可以在酒吧或咖啡厅之类的地方进行活动。开始时是小型 的、社交性的,当更多的人为用户组带来了他们自己的体验时,让技术演示的比重慢慢增长。不要认为您必须每个月都要在房间有 100 个人来举行大型技术演示。这是不切实际的。可以尝试每季度举行技术会话,但每月在酒吧会面,享受美食和啤酒,然后讨论会议之间邮件列表中的各种事项。从小 型聚会开始,设法通过重复的经历来形成一种传统。过一段时间之后,这一点星星之火将会迅速燎原,而这种文化将让您的用户组团结在一起。 7. 开发过程和基础设施: 如果要构建一个社区,您必须花一些时间来确定支持所有人所需的物理基础设施。它将扩展吗?接受贡献需要什么开发过程?需要什么测试?您是否接受一个沙盒来 进行实验?托管项目工件必须使用哪些工具?谁有访问权?这些都取决于是在 opensolaris.org还是其他站点上托管,以及是要运行社区组、用户组还是开发项目。比较高端的代码贡献者始终不多,而且这些人必须确定他们将使用的工具。但是,非编码人员应 该至少能部分地参与这些讨论,所以要构建您的基础设施来容纳各种各样的贡献。 8. 领导、管理和文化: 社区的价值是什么?社会结构是什么样的?您的社区如何自己运行?您将如何做决策?您的领导模型是什么?您如何吸引贡献者的注意?您如何解决冲突?不管是多 大规模的群体,走到一起来协作完成某件事时,这些都是需要阐明的问题。当您的社区比较小时,您可以很容易地随意管理,但当您的社区全球增长时,您需要归档 想要鼓励的行为,并设置一些规则来规定如何管理。它不必完全是说教和官僚的,但人们需要知道您代表什么,您期望什么。可能需要一个强有力的领导者,但也应 该考虑选择其他分布式领导机制。参考其他社区示例,比如 Mozilla、Linux、Apache、Ruby、Java 和 BSD。实际上,还有其他许多这样的社区,这里只列出一些比较大的开源社区。 9. 大学: 如果您想要增长,您需要返回学校并与年轻人闲聊。首先,让您的项目在新兴市场中领先于大学的学生和教授。很明显应该从印度和中国开始。但也不要忽略已建立 的市场。要确保您的项目在未来是否能生存下去,大学访问可能是一种最好的方法。绝对不要忽略大学,它应该具有最高的优先级。顺便说一句,这将可能是社区构 建操作最有趣的部分。 10. 全球: 以全球角度构建社区。对您的产品有兴趣的开发人员在哪里?那就去那里。有很多地方。在全球旅行时,您将碰到各种各样有趣的语言和文化问题,这将会让您慢下 脚步。期待吧。寻找可以帮助您在给定地区构建社区的人们,然后努力将多个地区连接在一起。在全世界不可能只有"一个"社区,所以不要期望每个人都会跟随您 (或者理解您)。您将有许多社区,它们将非常不同地表达自己的独立。您的工作是鼓励它们尽量独立,但还要帮助它们连接到其他区域,以便它们可以参与元社 区。顺便说一句,这并不容易。但这很必要。在新兴市场发展时,它可能成为真正创新的来源。 11. 营销: 了解您的营销人员。他们可以帮助在会议上,在新闻界/分析师中,在客户会议上正式宣传您的项目。在重要的问题上,他们可以提供您可能没有考虑到的角度,比 如商标、品牌、启动、告示、泄漏和市场混乱。您不必知道新闻界怎么评论您,对吗?更多曝光有帮助吗?营销看到而您没有看到的竞争力问题是什么?此外,参与 Sun 偶尔运营的特殊方案,比如编码竞赛和各种活动。Sun 有其他的开发人员计划和网站,它们都欢迎更多的内容和人们的参与。可以以这种方式利用公司的全球资源。顺便说一句,谦虚和诚实是进行有效的开源营销的最好 技术。宣传您的产品时切记这一点。 12. 拥护: 这比营销庞大得多,而且也有一些不同。这无关特定营销原则,比如广告、营销、商标、PR 或 AR。相反,它是直接的、未经过滤的诺言,在一定程度上导致积极参与和共享。它关乎通过开放交流来构建社区。当然,它也包括营销,但它还包括工程师和项目 经理,以及想要参与的其他任何人。此外,您是这项工作最好的拥护者。所以,您需要承担以您自己的方式进行交流的直接责任。您可以利用其他资源来实现,但最 终您必须对自己的底线负责,也就是增长社区并拥护您的技术。不要把这个功能交给其他人。一定要参与。 13. 法律问题: 当您打开已经关闭的代码和工具时,这主要是 Sun 内部的事情。但甚至当您公开时,您需要考虑商标、版权、贡献者协议、许可、来源分析等。这些事情不一定会帮助您的社区增长,但如果完全不考虑这些事情,它 们一定在一瞬间毁掉已有的一切。联系您的律师。告诉他们有关社区的需求,让他们告诉您什么是财产法。在这里,教育应该是双向进行的。 14. 项目管理: 随着社区增长,它肯定会包含全世界的多个工程项目和用户活动。谁将运行这些复杂的操作?谁将管理计划并保持指标和路线图的更新?谁将警告您肯定将遇到的组 织纷争?所以,您应该要找一个优秀的项目经理来解决这些问题。正如工程师应该开放构建社区一样,项目经理也应该这样做。如果在尽可能广阔的环境中查看您的 项目,您将看到在防火墙内部和外部它涉及到许多不同的原则,这将影响到构建社区的方式。 15. 趣味性:最后,构建社区最终是一个社 会练习,所以人们应该在参与的时候获得乐趣。您想要把人们吸引到社区,对吗?您想要鼓励人们停留,对吗?让闲逛变得有趣。只要给人们获取乐趣的机会,他们 就一定会抓住的。 ------------------------------ _______________________________________________ zeuux-member mailing list zeuux-member at zeuux.org http://www.zeuux.org/mailman/listinfo/zeuux-member -- 夏清然 Xia Qingran -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.zeuux.org/pipermail/zeuux-universe/attachments/20080604/f608feae/attachment-0001.html
Zeuux © 2024
京ICP备05028076号