专栏首页java一日一条开源正在蚕食整个世界?

开源正在蚕食整个世界?

“软件

“如果这个理论推开来,软件吞没世界,那么开源软件将取代之,对吗?”2015年初福布斯还不确定地刺探。 但到年底他们就非常自信地发文“开源软件确实正在吞没整个世界”。

这不是一个声音发起的运动。《连线》发表文章如,今年开源软件如火如荼. 充满了引用,如:“这不仅仅是一个转折点,更是一个引爆点,”GitHub带头大哥Brandon Keepers说。

这也多次出现在各类事件中,如Defrag2015之类。我参加了一个题为“开放平台和策略——为什么你应该开放平台”的演讲。在那里我听到很多强大的猜想,例如:在大约五年内大部分产品将在GitHub之类的开放平台上开放源码。

开源软件会霸占这个世界吗?将来所有的许可证都会是GPLs,MIT,Apache之类的吗?当然不是。Linux,网景和Apache httpd都在开源基金会里等了很长时间了。

如果是这样的话,为什么2015年会有如此涌动的激情?

git commit -m “改变了什么”

预测未来是徒劳的。这一点,Philip Tetlock通过实验研究证明那些专家“大约和扔飞镖的黑猩猩一样准确”。

因此,预测了解自由/开源软件的未来可能会使我们误入歧途,让我们看看现在正在发生些什么。我的论点是,开源和闭源一直是一种互补的关系。我们现在看到的趋势在很大程度上是从开放与封闭的圣战里走出来的赢者。

混合的组织方式是主流

开源软件是主流。苹果可以说是最封闭的公司,开源了Swift。微软开源了Visual Studio、.Net和最近他们的JavaScript引擎Chakra。谷歌、Facebook、甚至 NSA也将其项目通过GitHub托管并开放源码。

然而,许多这样的组织也从根本上闭源。为什么会混合起来搭配呢?Joel Spoelsky给了我们一个解释,他在2002年关于互补市场的论文中说到:

”当一个产品的互补品的价格下降,它的需求就会增加。一般来说,一个公司的战略利益是让他们互补产品价格尽可能低。”

比免费更好是什么?Sun Microsystems放开Java,因为他们的主营业务是 销售服务器。你在构建一个很酷的Java应用程序后 需要什么?当然是要一个在服务器上运行它。

抽象表达主义

我们的朋友Joel也在最近的一条a16z播客上表达了开源的其他好处:

“我们现在编码的系统比过去复杂一百万倍。(……)今天只用一行代码,你可能会完成接受和处理信用卡。(……)作为程序员,我们的力量更强大了。”

软件占领的领域越大,这个世界就会变得更加互相通联。开发也会变得更加复杂。自由/开源软件是一个开启所有的复杂性的方式。

如果我们相信随着时间的推移熵不断增加,那么我们可以做出这样一个预测,如果开源能有效减缓熵增加,那开源的采用率将随着熵的增加而增长。

值得注意的是,这个模型中Twilio、STripe、和他们的弟兄是一个明显的问题。他们关闭了SaaS产品,也做了大量消除复杂性的工作。问题是,很难在多个方面说明开放和封闭的解决方案哪个是“胜者”。

急需急需HIPAA(简化方案)

Stripe, Twilio和其他类似的公司都推动开源,但是所有上述公司都提供区别于开源的闭源服务。这是为什么?

闭源服务提供类似与PCI标准的服务,不用调用注册,HIPAA甚至提供易学好记得功能,你只需关注自身业务逻辑。现在越来越多的公司愿意支付费用使用闭源服务,从而减少负担,避免让人头痛的集成问题。

我坚信这种情况不会改变。以闭源服务提供的优秀封装为依托,将会更好的实现自身公司业务。隐藏琐碎细节,提供实用功能。闭源服务善于化繁为简。

FOSS支持者被替换为中立者

开源是成熟,这是个谬论. 经常看到如下宣言“再也不会有下一个红帽(Ret hat)”. a16z的Peter Levine 说的如果开源是一个商业选项,它通常不是市场上最有效的方案。

收入很重要. 任何产品都需要支撑. 它(某开源软件)是否会继续开发和维护?Satirical Twitter 担忧道:“我认为一些JavaScript框架的存活时间还不如一瓶牛奶”

同样,FOSS的主要原则正在产生问题。记得心脏滴血问题吗(HeartBleed)? Jeff Atwood 肯定记得. 他利用该问题反驳

林纳斯定律(Linus’ Law是计算机软件开发者熟悉的开发测试定律之一), 该定律被强制放入到 Cathedral and the Bazaar(该书介绍了开源软件的模型)中.

李纳斯定律说,“只要看足够长时间,所有的Bug都会被发现“。换句话说,开源软件不应该有灾难性的Bug。因为有足够的人公开审查代码,只有些小Bug可能会溜过去。

阿特伍德回应说:

然而,Heartbleed SSL脆弱性是李纳斯定律的一个转折点,这是一个开源软件的严重错误导致的灾难性的漏洞。灾难性有多大呢?它影响了大约18%的世界上所有HTTPS网站,并允许攻击者查看所有这些网站的流量,还未加密…而且已经两年了。

哎哟。阿特伍德的当前企业Discourse.org是一个100%开源的产品。他显然对自由/开源软件很有信心。它只是受到了一个现实的世界的磨练而已。

易用性

GitHub是开源的港湾。在它上面,写作和共享代码变得容易得多。业余爱好者能够提高文档,即使他们不能代码。通过Pull request专家和导师很容易分享。

分布式版本管理系统(git)取代集中式版本管理系统(svn)对自由/开源软件有如此大的影响,这是一件很诗意的事情。你想解决一个问题吗?先去看看GitHub上有没有解决方案。

任何理智的商业都会愚蠢的忽略开源。但是,GitHub如何赚钱?通过出售私人存储库。其中大量都是闭源的。甚至GitHub也是在这个游戏中。

未来不是一个纯粹的开源仙境。而是一个将开源和闭源结合起来的拼缀图。

都来一点才是美丽的

开源和闭源软件之间没有永远的冲突。微软曾经是闭源的正义斗士。如果你是一个老兵,你仍然可以读到他们之间战争的故事。

今天,微软完全顺应自由/开源软件的潮流。像许多其他公司一样,他们开发大量的闭源项目的同时参与开源。嘿!这同样也是讽刺之处。我们喜欢开源的解决方案,如Docker,Golang,Rails。我们又依赖于Slack等闭源的解决方案。

现代企业需要充分拥抱两个世界。谷歌,Facebook,和Uber是这个开明的做法的成功例子。他们证明可以利用开放源码,无需让你的午餐被偷走了。

圣战已经结束。开源和闭源的竞争也需要结束。

本文分享自微信公众号 - java一日一条(mjx_java),作者:收听我

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-03-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 程序员应该做开源项目的 6 个原因

    “开源开发人员都是义务劳动者”的观点已经成为编程世界中的陈词滥调,即使是那些伟大的开源举措也无法驳倒这种风靡一时的心态。

    哲洛不闹
  • 给 Java 开发者的 10 个大数据工具和框架

    当今IT开发人员面对的最大挑战就是复杂性,硬件越来越复杂,OS越来越复杂,编程语言和API越来越复杂,我们构建的应用也越来越复杂。根据外媒的一项调查报告,中软卓...

    哲洛不闹
  • SQL Server优化之SQL语句优化

    2. ON: 对vt1表应用ON筛选器只有满足 join_condition 为真的行才被插入vt2

    哲洛不闹
  • 每日一博 | 如何为开源项目做出自己的贡献

    摘要 讲讲我对如何为开源项目做出自己贡献的一些理解。 我是开源软件的使用者,另一方面也是开源项目作者,所以想结合自己项目的实践来说说我对《如何为开源项目做出自己...

    码云Gitee
  • 关于软件开源的几点感悟

    最近阅读的这篇文章中https://zhuanlan.zhihu.com/p/46853969提到了一个观点

    needrunning
  • 10月29日晚8点,国产开源物联网操作系统TencentOS tiny线上直播开讲

    10月15日,腾讯正式宣布,将旗下两大开源项目—轻量级物联网实时操作系统TencentOS tiny和企业级容器编排引擎TKEStack(均待更名)捐赠给开放...

    腾讯开源
  • 读懂开源模式的优缺点

    开源云计算消除了供应商的限制和壁垒,但是这些优点是以提供商支持成本为代价的。 因为这些缺点和优点,开源软件使企业陷入了两难的境地。 一方面,开源模式是很吸引人的...

    静一
  • 围绕开源的系列思考之二——企业篇

    (Author: TeroVesalainen / photo on pixabay)

    开源社
  • 国内 Top 开源项目深度解读

    码云Gitee
  • 明星开源产品实践历程,从技术构建到营销革命

    导语:在 10 月 15 日由 TGO 鲲鹏会主办的鲲鹏说上,邀请到了涛思数据创始人兼 CEO,知名连续创业者陶建辉,他从自己打造的开源成功商品 TDengin...

    深度学习与Python

扫码关注云+社区

领取腾讯云代金券