MATT ASAY 发布的文章

Red Hat 已经学会了跟随开源社区,并将其商业化。你也可以。

开源中最强大但最困难的事情之一就是社区。红帽首席执行官 Jim Whitehurst 在与 Slashdot 的最近一次采访中宣称:“有强大社区的存在,开源总是赢得胜利”。但是建设这个社区很难。真的,真的很难。尽管预测开源社区蓬勃发展的必要组成部分很简单,但是预测这些部分在何时何地将会组成像 Linux 或 Kubernetes 这样的社区则极其困难。

这就是为什么聪明的资金似乎在随社区而动,而不是试图创建它们。

可爱的开源寄生虫

在阅读 Whitehurst 的 Slashdot 采访时,这个想法让我感到震惊。虽然他谈及了从 Linux 桌面到 systemd 的很多内容,但 Whitehurst 关于社区的评论对我来说是最有说服力的:

建立一个新社区是困难的。我们在红帽开始做一点,但大部分时间我们都在寻找已经拥有强大社区的现有项目。在强大的社区存在的情况下,开源始终是胜利的。

虽然这种方法 —— 加强现有的、不断发展的社区,似乎是一种逃避,它实际上是最明智的做法。早期,开源几乎总是支离破碎的,因为每个项目都试图获得足够的成员。在某些时候,人们开始聚集两到三名获胜者身边(例如 KDE vs. Gnome,或者 Kubernetes vs. Docker Swarm 与 Apache Mesos)。但最终,很难维持不同的社区“标准”,每个人都最终围拢到一个赢家身边(例如 Kubernetes)。

参见:混合云和开源:红帽数字化转型的秘诀(Tech Pro Research)

这不是投降 —— 这是培养资源和推动标准化的更好方式。例如,Linux 已经成为如此强大的力量的一个原因是,它鼓励在一个地方进行操作系统创新,即使存在不同的分支社区(以及贡献代码的大量的各个公司和个人)不断为它做贡献。红帽的发展很快,部分原因是它在早期就做出了聪明的社区选择,选择了一个赢家(比如 Kubernetes),并帮助它取得更大的成功。

而这反过来又为其商业模式提供动力。

从社区混乱中赚钱

对红帽而言一件很好的事是社区越多,项目就越成功。但是,开源的“成功”并不一定意味着企业会接受该项目,这仅仅意味着他们愿意这样做。红帽公司早期的直觉和不断地支付分红,就是理解那些枯燥、平庸的企业想要开源的活力,而不要,好吧,还是活力。他们需要把它驯服,变得枯燥而又平庸。Whitehurst 在采访中完美地表达了这一点:

红帽是成功的,因为我们沉迷于寻找方法来增加我们每个产品的代码价值。我们认为自己是帮助企业客户轻松消费开源创新的。

仅举一例:对于我们所有的产品,我们关注生命周期。开源是一个伟大的开发模式,但其“尽早发布、频繁发布”的风格使其在生产中难以实施。我们在 Linux 中发挥的一个重要价值是,我们在受支持的内核中支持 bug 修复和安全更新十多年,同时从不破坏 API 兼容性。这对于运行长期应用程序的企业具有巨大的价值。我们通过这种类型的流程来应对我们选择进行产品化的所有项目,以确定我们如何增加源代码之外的价值。

对于大多数想要开源的公司来说,挑战在于他们可能认识到社区的价值,但是不知道怎么不去销售代码。毕竟,销售软件几十年来一直是一个非常有利可图的商业模式,并产生了一些地球上最有价值的公司。

参看红帽如何使 Kubernetes 乏味并且成功

然而, 正如 Whitehurst 指出的那样,开源需要一种不同的方法。他在采访中断言:“你不能出售功能, 因为它是免费的”。相反, 你必须找到其他的价值,比如在很长一段周期内让开源得到支持。这是枯燥的工作,但对红帽而言每年值数十亿美元。

所有这一切都从社区开始。社区更有活力,更好的是它能使开源产品市场化,并能赚钱。为什么?嗯,因为更多的发展的部分等价于更大的价值,随之让自由发展的项目对企业消费而言更加稳定。这是一个成功的公式,并可以发挥所有开源的好处,而不会将它受制于二十世纪的商业模式。


via: https://www.techrepublic.com/article/most-companies-cant-buy-an-open-source-community-clue-heres-how-to-do-it-right/

作者:Matt Asay 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在大量金钱与围绕 Linux 激烈争夺的公司之间,真正给操作系统带来活力的正是那些开发者。

事实证明上,Linux 社区是可行的,因为它本身无需太过担心社区的正常运作。尽管 Linux 已经在超级计算机、移动设备和云计算等多个领域占据了主导的地位,但 Linux 内核开发人员更多的是关注于代码本身,而不是其所在公司的利益。

这是一个出现在 Dawn Foster 博士研究 Linux 内核协作开发的博士论文中的重要结论。Foster 是在英特尔公司和 木偶实验室 Puppet Labs 的前任社区领导人,他写到,“很多人首先把自己看作是 Linux 内核开发者,其次才是作为一名雇员。”

随着大量的“ 基金洗劫型 foundation washing ”公司开始侵蚀各种开源项目,意图在虚构的社区面具之下隐藏企业特权,但 Linux 依然设法保持了自身的纯粹。问题是这是怎么做到的?

跟随金钱的脚步

毕竟,如果有任何开源项目会进入到企业贪婪的视线中,那它一定是 Linux。早在 2008 年,Linux 生态系统的估值已经达到了最高 250 亿美元。最近 10 年,伴随着数量众多的云服务、移动端,以及大数据基础设施对于 Linux 的依赖,这一数据一定倍增了。甚至在像 Oracle 这样单独一个公司里,Linux 也能提供数十亿美元的价值。

那么就难怪有这样一个通过代码来影响 Linux 发展方向的必争之地。

Linux 基金会的最新报道中,让我们看看在过去一年中那些最活跃的 Linux 贡献者,以及他们所在的企业“海龟”一样高高叠起。

linux companies

这些企业花费大量的资金来雇佣开发者去为自由软件做贡献,并且每个企业都从这些投资中得到了回报。由于存在企业对 Linux 过度影响的潜在可能,导致一些人对引领 Linux 开发的 Linux 基金会表示不满。在像微软这样曾经的开源界宿敌的企业挥舞着钞票进入 Linux 基金会之后,这些批评言论正变得越来越响亮。

但这只是一位虚假的敌人,坦率地说,这是一个以前的敌人。

虽然企业为了利益而给 Linux 基金会投入资金已经是事实,不过这些赞助并不能收买基金会而影响到代码。在这个最伟大的开源社区中,金钱可以帮助招募到开发者,但这些开发者相比关注企业而更专注于代码。就像 Linux 基金会执行董事 Jim Zemlin 所强调的

“我们的项目中技术角色都是独立于企业的。没有人会在其提交的内容上标记他们的企业身份: 在 Linux 基金会的项目当中有关代码的讨论是最大声的。在我们的项目中,开发者可以从一个公司跳槽到另一个公司而不会改变他们在项目中所扮演的角色。之后企业或政府采用了这些代码而创造的价值,反过来又投资到项目上。这样的良性循环有益于所有人,并且也是我们的项目目标。”

任何读过 Linus Torvalds 的 的邮件列表评论的人都不可能认为他是个代表着这个或那个公司的人。这对于其他的杰出贡献者来说也是一样的。虽然他们几乎都是被大公司所雇佣,但是一般情况下,这些公司为这些开发者支付薪水让他们去做想做的开发,而且事实上,他们正在做他们想做的。

毕竟,很少有公司会有足够的耐心或承受风险来为资助一群新手 Linux 内核开发者,并等上几年,等他们中出现几个人可以贡献出质量足以打动内核团队的代码。所以他们选择雇佣已有的、值得信赖的开发者。正如 2016 Linux 基金会报告所写的,“无薪开发者的数量正在持续地缓慢下降,同时 Linux 内核开发被证明是一种雇主们所需要的日益有价值的技能,这确保了有经验的内核开发者不会长期停留在无薪阶段。”

然而,这样的信任是代码所带来的,并不是通过企业的金钱。因此没有一个 Linux 内核开发者会为眼前的金钱而丢掉他们已经积攒的信任,当出现新的利益冲突时妥协代码质量就很快失去信任。因此不存在这种问题。

不是康巴亚,就是权利的游戏,非此即彼

最终,Linux 内核开发就是一种身份认同, Foster 的研究是这样认为的。

为 Google 工作也许很棒,而且也许带有一个体面的头衔以及免费的干洗。然而,作为一个关键的 Linux 内核子系统的维护人员,很难得到任意数量的公司承诺高薪酬的雇佣机会。

Foster 这样写到,“他们甚至享受当前的工作并且觉得他们的雇主不错,许多(Linux 内核开发者)倾向于寻找一些临时的工作关系,那样他们作为内核开发者的身份更被视作固定工作,而且更加重要。”

由于作为一名 Linux 开发者的身份优先,企业职员的身份次之,Linux 内核开发者甚至可以轻松地与其雇主的竞争对手合作。之所以这样,是因为雇主们最终只能有限制地控制开发者的工作,原因如上所述。Foster 深入研究了这一问题:

“尽管企业对其雇员所贡献的领域产生了一些影响,在他们如何去完成工作这点上,雇员还是很自由的。许多人在日常工作中几乎没有接受任何指令,来自雇主的高度信任对工作是非常有帮助的。然而,他们偶尔会被要求做一些特定的零碎工作或者是在一个对公司重要的特定领域投入兴趣。

许多内核开发者也与他们的竞争者展开日常的基础协作,在这里他们仅作为个人相互交流,而不需要关心雇主之间的竞争。这是我在 Intel 工作时经常见到的一幕,因为我们内核开发者几乎都是与我们主要的竞争对手一同工作的。”

那些公司可能会在运行 Linux 的芯片上、或 Linux 发行版,亦或者是被其他健壮的操作系统支持的软件上产生竞争,但开发者们主要专注于一件事情:使 Linux 越来越好。同样,这是因为他们的身份与 Linux 维系在一起,而不是编码时所在防火墙(指公司)。

Foster 通过 USB 子系统的邮件列表(在 2013 年到 2015 年之间)说明了这种相互作用,用深色线条描绘了公司之间更多的电子邮件交互:

linux kernel

在价格讨论中一些公司明显的来往可能会引起反垄断机构的注意,但在 Linux 大陆中,这只是简单的商业行为。结果导致为所有各方在自由市场相互竞争中得到一个更好的操作系统。

寻找合适的平衡

这样的“合作”,如 Novell 公司的创始人 Ray Noorda 所说的那样,存在于最佳的开源社区里,但只有在真正的社区里才存在。这很难做到,举个例子,对一个由单一供应商所主导的项目来说,实现正确的合作关系很困难。由 Google 发起的 Kubernetes 表明这是可能的,但其它像是 Docker 这样的项目却在为同样的目标而挣扎,很大一部分原因是他们一直不愿放弃对自己项目的技术领导。

也许 Kubernetes 能够工作的很好是因为 Google 并不觉得必须占据重要地位,而且事实上,它希望其他公司担负起开发领导的职责。凭借出色的代码解决了一个重要的行业需求,像 Kubernetes 这样的项目就能获得成功,只要 Google 既能帮助它,又为它开辟出一条道路,这就鼓励了 Red Hat 及其它公司做出杰出的贡献。

不过,Kubernetes 是个例外,就像 Linux 曾经那样。成功是因为企业的贪婪,有许多要考虑的,并且要在之间获取平衡。如果一个项目仅仅被公司自己的利益所控制,常常会在公司的技术管理上体现出来,而且再怎么开源许可也无法对企业产生影响。

简而言之,Linux 的成功运作是因为众多企业都想要控制它但却难以做到,由于其在工业中的重要性,使得开发者和构建人员更愿意作为一名 Linux 开发者 而不是 Red Hat (或 Intel 亦或 Oracle … )工程师。


via: https://www.datamation.com/open-source/why-linux-works.html

作者:Matt Asay 译者:softpaopao 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

闭门造车是产生不了创新的。

据华尔街日报称,有消息表明,Zulily正在开发更多的内部软件,但实际上根本不是。多年前Eric Raymond写道,全世界95%的软件写来用的,而不是售卖。原因很多,但是其中有一个比较突出:正如Zulily的CIO Luke Friang所说,几乎没有一个[非定制]软件解决方案能跟上我们的步伐。

20年前是这样,现在也是这样。

但是有一点是不同的,这也正是华尔街日报完全忽略的地方。而这也正是历史上开发的内部软件始终保持着专有的原因了,因为它是一个公司的核心竞争力。然而今天,越来越多的公司意识到另一面:开源内部软件将会比保持专有获益更多。

这也就是为什么你的公司需要为开源项目做出更多的贡献。记住是更多。

不寻常的那些年

我们刚刚经历了一个很不一样的20年,那时很多软件的开发都是为了内部的使用,大多数人的精力都放在由SAP和微软这样的厂商建立的应用广泛的企业级解决方案。

不管怎么说,这都是一个理论。

在实践中,买方花费很少的钱购买license,然后至少付出5倍以上的代价来使软件符合他们的需求。比如说,一个公司可能在一个ERP系统上花费 100,000美元,但是他们还得继续花费500,000来维持软件正常运行。

开源软件甚至是应用程序正式发展起来的原因之一是很多公司可以免费获得一些功能性的产品(或者是以一个相对便宜的费用获得产品), 然后定制为他们所需要的。不管怎样,定制是有必要的,而且开源的根本是使成本更低,或许,这样的定制或许能产生更好的结果。

同时,开发者尽量的减少同类之间的相似之处。作为Redmonk分析师,Stephen O'Grady认为:

从最近几年看,主流技术产业都有意避开专业化。运行在定制操作系统上的虚拟设备,已经彻底败给了RHEL和Windowns这些通用的操作系统。 最快20年,任何程序的数据保存都意味着一件事:一个关联的数据库,如果你要做的是企业级应用开发,那么你首先要接触的是Java,等等。

然而,开源的道路上,一些公司也发现,有些销售商不能很好地描述他们所想要的,即便是很好理解的产品类别,如像内容管理系统,他们需要 知道的是产品亮点,而不希望是一个模子刻出来的。

所以顾客没了,他们中有一部分转变成了供应商。

自己动手,丰衣足食

这也是常有的事,O'Grady指出了这一点。2010年,O'Grady发现了一个有趣的现象:“软件提供商正面对着一个强有力的市场竞争者:他们的顾客。”

回想一下今天的高科技,大多数都是开源的,几乎所有的项目一开始都是某些公司的内部项目,或者仅仅是有些开发者的爱好,Linux,Git,Hadoop,Cassandra,MongDB,Android,等等。没有一个项目起初是为了售卖而产生的。

相反,这些项目通常是由一些公司维护,他们使用开源的资源来构建软件并完善软件,这主要是一些Web公司。不像以前银行,医院和一些组织开发的软件只供内部使用,他们开源源码。

虽然,有些公司避免定制软件,因为他们不想自己维护它,开源(稍微)减轻了这些发展中公司来维护一个项目的压力。从而为项目发起人均摊项目的开发成本,Yahoo,建立了 Hadoop,但是现在最大的贡献者是Cloudera和Hortonworks。Facebook 建立了 Cassandra,但是现在主要是靠DataStax在维护。等等。

现在就走出来吧!

今天,真正的软件创新并不是闭门造车能造出来的,即便是可以,它也不会在那儿,开源项目颠覆了几十年的软件开发传统。

这不仅仅是一个人的一点点力量。

最好的开源项目都发展得很快,但是这并不意味着别人在乎你的开源代码。开放你的源码有显著的优缺点,其中一个很重要的优点是很多伟大的开发者都希望为开源做出贡献:如果你也想找一个伟大的开发者跟你一起,你需要给他们一个开放的源代码来让他们工作。(Netflix说)

但是,我们没有理由站在一边看,现在正是时候参与开源社区了,而不是把“社区”妖魔化。是的,开源最大的参与者正是你们和你们的公司。 赶紧开始吧。

主要图片来自于Shutterstock. (注:Shutterstock是美国的一家摄影图片网站。)


via: http://readwrite.com/2014/08/16/open-source-software-business-zulily-erp-wall-street-journal

作者:Matt Asay 译者:barney-ro 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

循序渐进的指导

你有这个问题:你已经权衡了开源代码的优劣势,你也已经知道你的软件需要成为一个开源项目,但是,你不知道怎么做好的开源项目。

当然,你也许已经知道如何创建Github帐号并开始,但是这些事实上是做开源比较简单的部分。而真真正正难的部分是如何让足够多的人,关注你的项目并给你的项目做贡献。

接下来的原则是会指导你构建和发布其他人愿意关注的代码。

基本原则

选择开源可能有许多原因。也许你希望吸引一个社区来帮助编写你的代码。也许,总所周知,你明白“开源 —— 一个开发小团队内部编写代码的倍增器。”

或者你只是认为这是必须做的事,如同英国政府一样

无论何种原因,为了开源能够成功,是必须要做很多的计划去给将来使用这个软件的人们。如同我在2005写道,如果你“需要大量的人做贡献(bug修复,扩展等等)”,那么你需要“写一个好的文档,使用易于接受的编程语言,和使用模型架构”。

对了,你也需要写人们在乎的软件。

每天思考你依靠的技术:操作系统,web应用框架,数据库,等等。远离像航天这样,特殊行业的小生态技术,让开源拥有更多的可能性以便外部的(人的)产生兴趣和做出贡献。更广泛的应用技术,找到更多的贡献者和用户。

总的来说,任何成功的开源项目有以下共同点:

1.最佳的时间时机(解决市场实际需求)

2.一个健壮,包括开发者和非开发者的团队

3.一个易于参与的结构(更多详见下文)

4.模块化编码,使新贡献者更容易找到一个项目损坏的部分去贡献,比强迫他们理解巨大的代码的每一部分要好

5.代码可以广泛应用(或者达到一个狭窄的流行都比一个“自生自灭的”小生态更吸引人)

6.很好初始源码(如果你放垃圾在Github,你也只会得到垃圾回报)

7.一个自由的许可证-我个人更爱Apache型的许可证,因为它让开发者采用时障碍最低,当然许多成功的项目(如Linux和MySQL)使用GPL许可证也有很棒的效果。

上述几项,是一个项目成功邀请参与者最难的部分。这是因为他们不是关于代码而是关于人。

开源不单是一个许可证

今年,最棒的一件事是我读到是来自 Vitorio Miliano (@vitor\_io)的文章,他是用户体验交互设计师,来自德州的奥斯丁。Miliano指出,那些不在你的项目上工作的人才是“外行”,从本质上说无论他们技术能力的级别,他们仅仅懂一点代码(也没关系)。

所以你的工作,他认为,是使人加入,为你贡献你的代码变得简单。当阐述如何涉及非程序员到开源项目中,他指出项目的一些事项,项目领导应需要有效地得加入一些任何技术或不懂技术的人到开源项目。

  1. 一种方法去了解你的项目价值
  2. 一种方法去了解他们可以为项目提供的价值
  3. 一种方法去了解他们可以从贡献代码获得的价值
  4. 一种方法去了解贡献流程,端到端
  5. 贡献机制适用于现有的工作流

经常,项目领导者想要集中于上述的第五步,却不提供理解1到4的路径。如果潜在的贡献者不欣赏“为什么”,“如何”共享就变得不重要了。

注意,至关重要的,Miliano写道,建立拥有一个通俗易懂的简介的项目很有价值,如同任何时候通过简介给每一个人演示可访问性和包容性。他断言道,这增加了额外的好处,文档和其他的版本介绍的内容变得通俗易懂。

关于第二点,程序员或非程序员同样地需要能够明白到底你需要什么,这样他们就可以认识到他们的贡献(方向)。有时就像MongoDB解决方案架构师Henrik Ingo告诉我那样,"一个聪明的人可以贡献很棒的代码,但是项目成员不能理解它(代码)",如果在组织内承认这个贡献并且研究后理解,那么这就不是一个糟糕的问题。

但是不会经常发生。

你真的想领导一个开源项目吗?

许多开源项目的领导提倡包容性,但是他们拥有任何事除了包容。如果你不想要人们做贡献,不要假装开源。

是的,有时这是老生常谈的话题。就像HackerNews最近的报道一个开发者的开发工作

小项目可以得到很多,基本不需要很多人合作来完成。我看到了他们的进步,但是我没有看到我自己的进步:如果我帮助了他们,显然,如果我花费了有限的时间在与那些计算机科学的硕士管理合作上,而没有参与编码,这不是我想要的。所以我忽略了他们。

这是一个保持理智的的好方法,但这个态度并不能预示着这个项目会被广阔的分享。

如果你确实很少关心非程序员设计的贡献、文档,或者无论其他什么,那么请首先了解那些。再次强调,如果这是实情,你的项目就不能成为一个开源项目。

当然,排除感觉不总是可靠的。 就像ActiveState的副总裁Bernard Golden告诉过我,“一些将会成为开发人员将会对现有的“小集团”开发团体这种感觉感到恐惧,虽然这不一定正确。”

现在,若使了解开发人员为什么要贡献并邀请做开发,意味着更多的开源项目投资,更长久地生存。

图片由Shutterstock提供


via: http://readwrite.com/2014/08/20/open-source-project-how-to

作者:Matt Asay 译者:Vic\_\_\_/VicYu 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

开源软件社区已经做出了改变,就像之前的美好时光。

开源已经变的温和了,之前我们有过各种不同的思潮,但是最近我们对分享代码和创新却有种奇怪的迷恋。

幸运的是,这一系列的使用主义注定要结束了。在过去的一段时间里,我们团结在Mozilla身边支持DRM版权保护以及嘲笑Red Hat和OpenStack之间的竞争。开源社区那些年仅有的几个开源软件明星和Open Core 这种商业模式产生了冲突而被反噬了。

噢,怎么变成这样了!

Red Hat 退回到2003年

Red Hat,开源软件理想主义的典范,在几周前拒绝支持它的竞争对手。Jodi Mardesich出色的揭露了真相,而Red Hat在努力辩护,这个真相就是:

Red Hat不想支持它的竞争对手,它的OpenStack的竞争对手也不想这样做。

在另外世界上这算是新闻吗?

Mozilla变成了麻瓜

Red Hat作为开源软件理想主义的典范代表很容易成为各种带颜色攻击的目标,Mozilla其实是更大的一个目标。

Mozilla致力于为用户服务,它最近进行了一场自我牺牲似的CEO 下台,同意加入DRM的技术,即纯Firefox浏览器源码可以使用户观看视频。

人们想看视频,Mozilla倾向于在它的浏览器中观看。

总是找到别人的思想滑坡的问题,开源软件组织批评了 Mozilla,深切表达了自己对于Mozilla的失望,因为这种“为减轻市场份额的流失而妥协重要原则的决定”令人担忧。

但是,Mozilla为什么要做这样的傻事呢,为了用户,你懂的。

抛开道德说教的部分不说,电子前沿基金会哀叹,“开放网络最后的抗争已经失败了”。它对Mozilla投降的做法争论道:“接受DRM会改变这个行业”!DRM的倡导者一再妥协,一个公司又一个公司(PC行业)演变成一个行业,它通过锁定装置,监视器,接受每一个人的管理建立自己的利益关系。

Mitchell Bake解释道,Mozilla可能并没有投降:“Firefox用户会需要使用另外的浏览器来观看他们自己想看的视频,这会让人怀疑Firfox做一一个产品是否真的有用”。

嗯,好吧。

回到我们的思想源头

我们或许希望其它人都按照我们的想法来,但事实上他们却有着不同的考虑。免费的软件让步给更加务实的开源软件,认为只有“不二法门”的想法也逐渐消亡了。

这种意识在目前还是有用的,但它并不总是方便和舒服。我崇尚开源软件的实用主义和Apache软件基金会,这样有很大的好处提醒GPL组织在意识形态上的危机感。软件自由真的很重要。

这么多悲观的言论,我自己也感到了恐惧,希望回到一个不断会自我鞭策的免费的开软软件的组织。这使开源软件协作变少而且更难驾驭,但是会变得更有力而且关乎未来。

(译者注:本文来源于一篇国外的杂文,译者和校对在翻译时感觉颇为吃力,因此肯定有大量谬误和不足,敬请大家谅解,或提出指正。虽然这篇文章说的事情已经过去了一段时间了,但是其反映的问题和潜伏的暗流也许影响更为深远。)


via: http://readwrite.com/2014/05/21/open-source-witch-hunt-mozilla-openstack-redhat

译者:jiajia9linuxer 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出