随着开源软件的不断增多,大量的企业和公司都开始忙于参与开源社区,怎样才能更好的利用开源社区的资源不让企业失望呢?Dave Neary 通过研究那些失败案例,总结出一些教训,教我们加入和利用开源社区才能更给力。

从计算机销售商到出产企业,简直每个公司都在忙于参加开源社区。许多人失利了,然后关于开源社区满怀绝望。Dave Neary 通过研讨那些失利事例,总结出一些阅历,教咱们哪些能够做,哪些不该该做。现在,开源软件的社区开发者,现已不再只是包含那些穿拖鞋着装随意的极客,也有正规Linux公司的职工。我下面的定论也都是根据以上现实。

企业怎样使用开源社区才干更给力(开源社区如何运营)  开源社区 公司 第1张

据最近一篇关于奉献Linux内核代码公司的剖析文章得出的定论,像Novell,IBM,Intel,Nokia和德州仪器等公司都在很正式地参加开源软件的开发,LiMo基金会正鼓舞其成员参加上游社区项目。这说明,与社区协作而不是孤立,能够防止数百万美元打水漂,没带来什么潜在影响。

社区开发者的多样性,关于开源项意图长时刻生存才能是非常重要的。当然公司放权后,也很难让社区开发者集中于他们自己的项目,或许是影响社区保护者的开发方 向。Linux内核或许GNOME便是这样的,咱们相互协作,没有人是占有主导的。Sun和AOL尽管彻底选用了社区开发,可是至少和社区开发者没有培育 起一种合作互利的联系。还有其他许多比方,咱们很少听说过公司只是实验性的参加社区开发,然后退回到凭空捏造去,或撤销关于社区开发的本质出资。当然也有 不和比方,比方Xara,在2005年开源了他们针对Linux的部分主打产品“Xara Xteme”,可是在2006年晚些时分,又悄悄的抛弃了在社区项目上的避实就虚出资。

终究哪里做错了?哪些是公司转向社区开发出资战略最遍及并且最丧命的过错?怎么防止?并且防止这些不一定保证成功,只是让你能够免于像他们那样失利。

从哪里开端呢?

对开源怀有过高期望,然后悍然不顾的敏捷盲目地参加开源项目,是一般公司最简单犯并且丧命的过错。

开源软件的开展前史之中,充满了商业公司关于社区开发开端体会的绝望故事。一些技能主管不明白为什么社区项目不承受他们小组花费数月开发出来的功用,办理小组乃至期望在他们产品发布的时分,那些公司外部的开发者能够敏捷跟上。Chris Grams从前把此类问题归结为锯木匠汤姆的社区参加模型,公司总是期望他人能够帮他们把作业都做了。首要要保证你不会误入这些圈套。

建设好社区软件需求耐性,有时你把自己的避实就虚东西都做好了,但你还有些东西你没办法做好。

所以,从哪里开端?在参加社区开发之前,你首要得好好想想你终究想得到什么?开源是否能让你的产品增加,让你的发布途径得以拓展,终究获取业界抢先的位置? 你是否需求在你的渠道上引进一些系统开发者?你是否需求为了下降本钱而在你的产品里选用现有的开源项目,或是自己开发,以便它能满意你的需求?避实就虚这些目 标,或许避实就虚那些参加开源项意图原因,需求特定的战略和东西来裁决是否成功。现实上,你成功与否取决于你的方针。

有两种遍及的景象能够挑选,一种是公司参加现有的开源社区,另一种是自己树立一个与你的产品相关的社区。

参加社区

参加社区,并赢得信赖和名誉都需求耐性。在参加社区作业之前,首要你需求了解社区的安排结构。谁是领导人,哪些是他们的优先项目?假如社区文明不符合你的商业意图,必定会在开端就影响你参加社区的决议。

假如你发现能够参加这个项意图作业,并且项意图方针与你的共同(至少不是彻底不相同),那你就应该开端辛苦作业了。比方,HP公司很早就开端支撑Linux,当然也作为支撑他们自有产权Unix-HPUX的花费。十年今后,HP卖出的Linux服务器占到避实就虚Linux服务器的40%。相反,Sun公司在2005年决议树立一个独立的的社区,用以发布GPL兼容(Linux内核的许可证)的开源版别OpenSolaris。从一开端到Sun被Oracle收买,Sun都没有树立起实践独立的开发者社区。在2010年,Oracle实践上封闭了OpenSolaris项目。

当你决议参加的时分,你现已挑选了你要作业的项目。接下来,最重要的决议是你们公司谁来参加这个项目,这常常被高层所忽视。这些参加项目工程师的行为代表的 是你们公司。他们的作业包含:获取项目保护者的信赖,引导项意图开发道路,保证他们的作业被承受,保证你们公司的商业意图。

参加项目人选是非常重要的。就像前GNOME基金会的前执行主管Stormy Peters从前写的:公司不是个人。换句话说,公司历来不能作为软件开发社区的成员,可是个人能够。公司能够成为项目制度上的同伴,能够参阅Beatles和 Karl Fogel之间的比方,金钱买不来爱情(或许说社区的支撑)。

现在你有一些工程师在参加社区项目,然后呢?关于工程师参加行为,Havoc Pennington在1999年写了一些非常好的主张。简而言之,便是“在罗马,就依照罗马人那样干事”。

许多社区常常有他们行为标准的文档,比方Linux内核和GNOME模块项目,有名为HACKING的文件放在源代码文档,还有邮件列表原则,开发者都能够参阅。关于大多数社区来说,这些标准能够归纳为“顺着常规走,不要打破它”。GNOME项意图开创人和Novell公司开发渠道的副总裁,Miguel de Icaza写了一篇文章来解说这些原则背面的原因。

你应该极力防止公司干与开发者与其他开发者的的沟通。这终究只会在你的项目里发生工程师害臊综合症。

通过各种方法,让你们公司年长的社区开发工程师带小组里新的成员,教他们社区的这些流程,但要防止这些年长者成为守门人,将你的小组和社区阻隔开来。由于这会导致一些意向不到的问题,比方当你的“守门人”离任今后,社区发现其他人提交的代码与社区的标准不符。

树立一个社区

现在转到第二个情形,怎么树立一个社区。假如你决议以标准的自由软件许可证发布你的软件,首要应该决议是否让这个项目成为社区项目,并开放到哪种程度。

Simon Phipps写了一篇关于开源软件项目生长起来的不同社区类型。他把社区开发者分为这几类:中心开发者,非中心的插件开发者,担任发布和装备但不触及开发的整合人员,***便是软件的用户。避实就虚这些成员有不同的需求,有不同的对待方法。

假如你想环绕你的项目树立起一个社区,下面有些你应该遵循的非常好的原则:

- 操控权:如选用一些规矩,来保证你来决议哪些代码能够参加你的产品代码,但你将会失掉社区项意图许多优势。还有些比方,首要期望操控进入中心产品的代码版权,或许保证只要你的雇员才能够修正主分支上的中心产品代码。为了保护中心代码的版权,这是很好的做法。这当然会阻止社区中心开发者的进入。但并不阻碍其他类型的成员,比方插件开发者或整合人员。

- 进入的妨碍:社区开发者要防止设置一些妨碍:运用不常见的东西,杂乱隐晦的bug陈述处理方法、功用需求提交方法、补丁承受方法和在开发之前合法的签证方法。

- 东西和架构系统:保证让你的用户有时机将他们的作业效果分发到其他用户。无论是通过某个模块,或许通过Gitorious、Bazaar之类代码操控渠道都能够。让项目里的代码修正成为一项交际行为。

- 社区处理流程:创立这样一个环境,没有人会被认为是二等公民。将怎么获取权限的方法文档化,比方办理bug陈述的权限、将代码提交到主分支的权限或许项目网站的修改权限。

- 相应预算:投入恰当的资源--树立社区需求时刻和精力,那意味着出资--首要是一些人力资源。

让一个人成为办理者,处理社区的日常事务。树立一个由10个人左右稳定的中心法人小组,用来进行决议计划及保证各方面的利益。就像PostgreSQL的Josh Berkus"怎么杀死你的社区(中文版)"的陈述。假如社区成员觉得被怠慢了,他们就会离去。

发布社区项目就像发布一项新的产品,招引一个社区开发者比用户更久并且更难。跟公司为新产品追寻SAC相同,招引一个开发者的花费(DAC)是衡量你的社区开展是否杰出的要害因素。

开发者有许多项目能够挑选,假如协作成为标准今后,他们会加快进入项目。这时你得常常考虑参加者的阅历,并衡量外部开发者的价值。

一幅明晰而又瞩意图蓝图,兼有许多的开发时机,比较低的参加门槛,能够协助下降招引开发者的本钱,也能够下降招引新用户和付费客户的本钱。

防止非常规的形式

假如采取了那些***战略,想抄近路,但社区的那些非常规形式证明***战略是过错的。假如***战略背面的原因被误解了,你不会得到你想要的成果。就像太平洋的交易崇拜运动,只是建了许多飞机场,没有多大的商场,就期望飞时机下降。调味料终究是调味料,加太多就会毁了整盘菜。

归纳起来:当你看到下面的一些形式在你的社区或许你的合伙人呈现的时分,你应该去着手应对它们。下面的形式都是很遍及并且有引诱性的,由于它们便是所谓的***战略,但不达时宜。每一条都会削弱社区的健康。

这些你应该防止的非常规形式有:

1. 操控和指令 - 社区成员之间是合伙人的联系。而公司之于产品则是操控联系。当你测验把公司的这种联系放到一个你想开展成为社区软件的产品中时,导致的成果只能是冷淡的回 应,由于其他人不想成为二等公民。相似的,参加一个你没有操控权的社区是很有挑战性的。有时你为了扩大影响,不得不必操控权来交流。

2. 水冷却器 - 当你团队过多的忙于你们的私家事务时,社区其他成员或许会置疑你们的动机和作业优先权。在揭露的邮件列表、论坛或许其他揭露可读的地方时,你应当答应你的雇员和公司外部的人作业进度是共同的。

3. 无意义的评论(Bikeshed) - 为了一个相对很小的决议,却需求通过长时刻的评论。当你感觉到社区成员正在拖你的后腿的时分,你应该知道什么完毕评论,然后开端干活。

4. 黑洞 - 有时雇佣一个社区里边已有的开发者是很有引诱力的,由于他们具有你想参加项意图才能。可是留神,当你雇佣社区开发者的时分,社区可能会变得更糟。由于他们自身便是在社区作业的,他们的作业本来是没有多少利益动机的。

5. 曲奇舔食者 - 幻想一下,一个孩子有许多的曲奇饼干,可是吃完之前他想留下***一块。所以他从盘子里拿出其间的一块,然后常常舔一下,保证其他人不会吃掉它。在社区项目 里也会有相似的问题 - 那些主导社区的成员常常把那些要害功用保存给他们自己开发,然后掠夺了其他成员做奉献的好时机。这就会有些人奉献过多,有些人饿死。在开发道路表里给其他 人留一些使命。你应该清楚你们想做什么,哪些你们不想做。

高兴的耕耘你们的社区

社区软件开发会成为你们产品很好的助推器,也是很好的加分阅历。在已有的社区项目上作业能够节省时刻和金钱,协助你们比其他方法更快更好地推出产品。本来做 产品时,是双选题--“自己做或许买他人的”,现在现已彻底变成三选题--“自己做、买他人的或许共享他人的”。假如你是在 Android,MeeGo,Linaro仍是Qt上做开发,你必定会了解社区开发是很重要的。当你拥抱开源运动今后,你会发现出资资源变宽了,你的名誉 日积月累,你现已培育起了给与与的良性联系,避实就虚人都是赢家。而这避实就虚的要害点是,你应该把社区避实就虚成员作为你们产品开发的合伙人。

防止那些风险的引诱,投入恰当的时刻和精力,你终究会得偿所愿的。就像园丁耕耘他们的植物,运用恰当的肥料、东西和资源,待到春暖时,百花就会怒放。

【修改引荐】

  1. 树立开源社区开发立异机制
  2. 深度报导:我国Linux开源社区缓慢兴起
  3. 开源社区是怎么运作的——KDE篇

【责任修改:李晶 TEL:(010)68476606】

转载请说明出处
知优网 » 企业怎样使用开源社区才干更给力(开源社区如何运营)

发表评论

您需要后才能发表评论