写点什么

开源软件公司易犯的 5 大错误,又该如何避免?

  • 2016-05-18
  • 本文字数:2293 字

    阅读完需:约 8 分钟

来自 Thevarguy Christopher Tozzi 撰文总结了开源软件公司常犯的 5 个错误,并给出了要避免这样的错误的建议。

在开始作者述说了为何要写这么一篇文章:

要如何做才能够让那些开源软件公司以及他们的合作伙伴茁壮成长?若是回到 15 年前,这个问题确实是难以回答的。但是,今天开源已经是一种常态,有太多的开源公司在这 15 年此消彼长的发展着,我们回顾过去,是什么让开源软件公司在健康成长,那些常犯的错误是否能够让后来者吸取教训,避免重蹈覆辙。

像一个严谨的程序员一样,作者对于文中出现的一些概念进行了解释:

本文所说的开源软件公司,指的是在开源生态系统下占据某个环节的公司,他们未必是需要将所有的产品都开放源代码,也未必一定是开发过开源的代码,他们只是以这样或那样的方式混迹于开源界。

当我们去回顾这些公司的历史时,其中的错误或成功都一目了然,以下内容是这些公司所常犯的 5 个错误,应该极力去避免,避免的方法也在其中。

以下是正文。

期望人们来为你的项目贡献代码

那时还是 1998 年,网景将其著名的浏览器开源成立了 Mozilla,这在当时是绝对的震撼新闻。Mozilla 是第一家闭源公司向开源模式转换的大型组织,因为当时他们认为开源的模式才是真正的出路。(编辑注:关于当年网景的决策,请移步网景的历史

但是,Mozilla 很快就意识到了问题的所在,简单的将网景浏览器开源并不能够让那些志愿者大军蜂拥而至,从而帮助他们开发出产品来,相反,Mozilla 一开始就陷入了项目延期的尴尬境地,甚至雪上加霜的是 Mozlla 的一名高管 Jamie Zawinski 在社区成立一年(准确的说,一年零几天)就跳槽了。

当然,后来的故事大家都知道了,Mozilla 解决了此问题,Mozilla 火狐浏览器最终成为了最为成功的开源项目,因为 Mozilla 学到了一件事,那就是将代码开源很容易,难得的是让更多的开发者参与进来共同开发!

对于自己的产品是有选择的去开源

其中一些开源公司将自己置于一个非常尴尬的位置,因为其对于自己的产品是有选择的去开源。举例来说,如 Canonical ,此家公司通过开源的 Ubuntu 操作系统成为了跻身于世界前列的 GNU/Linux 发行版,但是他还干了一件惹人恼怒的事情:其中一些代码并未开源。

让买卖做大有很多种办法,但是在社区这样做显然是有问题的。这等于向社区发送了多个信号,会削弱开发者们的热情。你可以不去选择开源,但是似开未开的“伪开源”着实令人反感。

忽略文档的重要性

如果你是一名开发者的话,可能相对于写文档宁愿去选择撰写代码,或者说更加的享受代码。但是由于软件的特殊性,若是设计师没有提供如何真正使用它的文档的话,其实这款软件用处不大。

但是文档的问题一直以来都是困扰 GNU ,自由软件项目的首要问题,(我知道,GNU 并非是一家商业公司,但是在此举例仍然适用。)在 1988 年 GNU 的开发者们已经开发出了令人印象深刻的代码。但是仅有非常少量的文档。那时 GNU 甚至都在邮件列表中发出“雇佣一些专门的人来撰写文档”的信息,通过呼吁捐款来尝试解决这一重大问题。当然,后来来自旧金山的加利福尼亚大学教授:Dick Karpinski 赞助了 1000 美元现金算是解决了此问题,直到这时方才有人开始撰写 GNU 的文档。

GNU 从此学到的教训就是在完成了代码之后,文档并不总是能跟上,你须在一开始就得确保文档的开发要和代码保持一样的进度。

采用了简单粗暴的商业模式

随便去问问你周边的人们,开源软件该如何赚钱?大多数的回答恐怕是免费奉送代码然后销售技术支持。但是,你仔细的去近距离的观察的话,这并不是那些成功的开源软件公司所采用的关键的商业模式。

红帽为例。是的,红帽确实也在售卖他们多个产品的支持服务,但是正如公司的创始人和前CEO Bob Young 在一篇名为“另辟蹊径:红帽是如何偶然发现新的经济模式并助力改进整个业界”(1999 年出版的图书《开源》,编辑:Chris DiBona、Sam Ockman 以及 Mark Stone)所指出的那样,红帽的壮大是因为专注于构建自己的品牌,而不是随大流的去为开源的产品提供支持服务。

Young 比较了红帽的产品和其它行业的商品,得出了一条结论:让 Linux 赚钱就像是售卖番茄酱。就其本身来说,番茄酱很便宜而且可以在自家的厨房里就可自行制作。但是亨氏就通过售卖番茄酱赚了上亿美元,为什么?因为亨氏构建了一个得到人们信任的品牌!人们可以在自家的厨房亲手来制作番茄酱,一如管理员们可以自行构建自己的 GNU/Linux 发行版一样。但是人们是不会这么干的。人们购买亨氏的番茄酱完全是因为亨氏的品牌,正如人们采购红帽企业版 Linux 的订阅服务完全是因为红帽的品牌。

成功的方法不仅仅是提供某种形式的支持服务就希望人们购买它。你需要给客户一个信服的理由去第一时间找寻商业的服务,一旦他们相信你了,他们就会决定购买你所提供的产品和服务。

重复制造轮子

人们之所以热衷于开源的其中一个论调就是开源可以让开发者们不去“重复发明轮子”,相比于从头开始一个项目而言,借用已经实现了同样功能的代码更加的划算,这样可以腾出时间和精力去做额外的创新和开发新的功能。

但是这并不能阻挡依然有很多的开源软件公司和项目在创建着冗余的代码。举个例子,目前针对 Docker 容器的编排工具平台至少有一打,如 Swarm、Kubernetes、Mesos 等等。它们是看起来不一样的,但是它们做的却是同样的事情,这样就难以让某一个编排项目、或者是其背后的公司,从中脱颖而出!

关于这点的教训就是,开源组织若想壮大就尽量的去避免构建冗余的解决方案,否则的话,很难出人头地。


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-05-18 17:482803
用户头像

发布了 33 篇内容, 共 12.8 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

融云五大场景化能力,全面赋能金融行业数智化转型

融云 RongCloud

金融 IM RTC 数智化 通讯

SRE方法论之监控设计

不思jo

#运维 #监控

用低代码平台开发应用

互联网工科生

软件开发 低代码 JNPF

探索当代AI人工智能云服务技术的强者

不在线第一只蜗牛

AI 亚马逊云 AWS Lightsail 云服务 微软云

随着大模型中数据局限问题的严峻化,向量数据库应运而生

苏沐

数据 向量 向量数据库 亚马逊大模型

低代码平台或零代码平台靠谱吗?

代码生成器研究

Parallels Desktop 19 for Mac虚拟机 19.1.0一键激活版 支持M1

彩云

Parallels Desktop 虚拟机 Parallels Desktop

转变关键财务流程,实现企业数字化升级

智达方通

数字化升级 预算管理 财务流程

Pixologic ZBrush 2024中文版 支持m1

彩云

3D数字雕刻软件 Pixologic ZBrush

链路追踪,助您洞悉数据联动分析的奥秘

观测云

Profile 链路跟踪 应用性能监控

做开发这么多年,我终于悟了

秃头小帅oi

鸿蒙千帆起,美团、百度、去哪儿旅行等60余企业参与鸿蒙实训营

最新动态

云端力量:探索亚马逊云服务器,提升您的业务无限可能

熬夜磕代码、

亚马逊

云计算自动化测试系统环境自动识别实现方案

lklmyy

云计算 自动化测试 pytest

鲜衣怒马少年时|GreptimeDB 开源一周年回顾

Greptime 格睿科技

数据库 开源 基础软件 时序数据库

低代码和无代码有什么不同?

代码生成器研究

桌面云一体机如何安装应用软件?

青椒云云电脑

桌面云一体机

“低代码”是什么?

代码生成器研究

APP安全加固怎么做?加固技术、加固方法、加固方案

OpenAI 正在杀死创业公司?他们是这么回答的...

代码生成器研究

开发者工具|15款音视频开发者必备实用工具,看看你用过几个?

音视频开发_AIZ

音视频开发 工具集 音视频技术

通过 Canal 将 MySQL 数据实时同步到 Easysearch

极限实验室

MySQL canal easysearch

ChatGPT被曝测试新功能:学习所有历史聊天,还能重置记忆、“阅后即焚”

Openlab_cosmoplat

最新demo版|如何0-1开发支付宝小程序之前期准备篇(一)

盐焗代码虾

小程序 支付宝小程序 教程分享

云原生专栏丨基于服务网格的企业级灰度发布技术

inBuilder低代码平台

云原生

低代码的优势体现在哪里?

代码生成器研究

开源软件公司易犯的5大错误,又该如何避免?_语言 & 开发_李建盛_InfoQ精选文章