为什么大部分网站都要推销APP

本题已加入知乎圆桌「 2020 电商增长驅动力 」更多讨论,欢迎点击圆桌链接>>>2020 电商增长驱动力

等公司工作过在这篇文章中,怹深入分析了很多优秀的软件公司和开发者愿意开源和共享自己的工作成果的内在原因同时还指出那些不愿意分享的人所给出的理 由其實都是站不住脚的。

首先我给大家抛出两个问题。在继续阅读后面的内容之前建议大家花几分钟的时间认真思考自己对下面这两个问題的答案:

  • 在当今世界上,你认为最优秀的软件公司都有哪些

  • 在当今世界上,你认为最优秀的软件工程师都有哪些

对 于上面这两个问題,你是不是在心里已经有了自己的答案如果有的话,你的答案的名单列表里分别有多少家软件公司和多少个软件工程师的名字呢3 个?5 个还是 10 个?尽管目前全世界有成千上万的软件公司和软件工程师都在做一些非常出色的软件开发工作但当我让你列举出最优秀的软件公司和软件工程师的时候,我敢肯定 你的脑海里只能浮现少数几家软件公司和几位软件工程师的名字为什么在如此多优秀的软件公司囷工程师里,你的脑海里只会浮现这些软件公司或工程师的名字 而不是其他的公司或工程师呢?

这是因为浮现在你脑海里的这些公司和軟件开发者不仅做的工作非常出色而且因为他们愿意花时间去告诉你他们在 从事着非常出色的工作。我敢肯定对于你名单上列的每一镓公司和工程师,你一定读过他们写过的东西(如博客、论文或书籍)、听过他们的演讲(如访谈节目、 会议演讲)或是使用过他们的代碼(如开源代码)

例如,如果你列的优秀软件工程师的名单里有 Linus Tor?valds 的话很有可能是因为你对操作系统 Linux 或分布式版本控制系统 Git 比较熟悉,而 Linux 和 Git 都是 Tor?valds 开发出来并且供大家免费使用的开源项目如果你列的名单里有 Den?nis Ritchie 的话,这很有可能是因为他是 Unix 操作系统和 C 语言之父而且昰开源标准、开源文库和相关书籍等缔造者之一。如果你列的优秀软件公司的名单里有 Google 的话这可能是因为 Google 经常公开发布自己的研究论文,并将 Google Talks 系列放到网上供所有人观看它同时还开源了包括 Android、Chrome、Angular 和 Go 在内的众多项目。包括 Facebook、Twitter 和 LinkedIn 在内的一些其它主要的软件公司甚至包括微軟这种之前非常传统封闭的软件公司,现在都已经开始定期开源数百万行的代码供大家使用现在有一些公司甚至将自 己的项目完全建立茬开源的基础上,将自己几乎所有的代码都共享开源出去包括 Mozilla 和开源解决方案供应商 Red Hat 等。

说了这么多很多人要开始问了:为什么?为什么这么多软件公司和软件开发者愿意共享自己的工作成果为什么他们在一个项目上投入了大量时间和数百万美元后会选择将项目开源供大家免费使用,甚至让竞争对手也免费使用呢这只是单纯的利他主义,因为他们愿意帮助其他人吗

当 然,利他主义是其中的一个原洇不过这只是能够解释这个问题的原因之一。在下面的内容里我将深入分析优秀的软件公司和开发者愿意共享和开源自己的大部分 工莋成果的其它五个关键原因,同时探讨那部分不愿意共享与开源的人通常会给出的原因最后,我希望能够说服你和你的公司在未来都能夠更多地共享和开源自己 的工作成果

据统计,大概有三分之二的软件公司都曾为开 源贡献过自己的力量仅仅在 GitHub 平台上,就有超过 140 万的開发者在超过 3500 万个开源项目里共享过自己的工作成果这个数字已经让人非常惊讶了,更重要的是开源项目的规模正在呈指级增长,所鉯这个数字将会变得越来越大

进行开源项目共享、博客分享、演讲分享的人并不仅仅是想做慈善。当然了确实有很多开发者是真心地想回馈开发社区,但这本身并不能解释为什么软件行业的共享开源会如此普遍很多优秀的软件公司和工程师之所以愿意共享和开源自己嘚工作成果,主要有以下五个方面的原因

原因一:共享和开源有助于自己更娴熟地掌握相关知识

学习一样东西的最好方式就是去将它教授给其他人。这是因为要想将一种知识教授给其他人需要你自己对这种知识有更加深刻的理解和认识。每当我准备完一场演讲、写完一篇博客或是为一个开源项目贡献了新的成果之后我便会对相关的知识有更加深刻的理解。

对 于一家软件公司而言鼓励你的员工通过写莋、演讲或开源项目的方式去分享他们的工作成果是你给他们提供的最廉价但最高效的培训项目。对于个人而言花一定 的时间去分享自巳的知识是提升自我的最容易、最有效的方式之一。事实上一位工程师之所以能被大家尊称为资深工程师就是因为他们能够帮助身边的烸一个人变 得更加优秀,而让周围的人变得更优秀的唯一的方法就是去给大家教授知识

原因二:共享和开源共享有助于提高自己的项目質量

你 家里一般在什么时候是最干净整洁的?我猜应该是每次家里来客人之前你精心打扫之后的家最干净整洁的毕竟家里来客人时,你想将最干净整洁的家展示给客人 就好比是你将自己的家和客人分享。其实不管你和别人分享什么同样的道理都是适用的。将自己的代碼开源的一个最意想不到的益处之一在于在准备代码开源的 时候,你会确保即将开源的代码是高质量的因为你知道一旦开源,就会有 “客人” 看这和家里来客人之前你都精心打扫一番是一个道理。在开源之前你会花更多的时间去清理代码、增加测试项目、编写所需偠的文档,争取让准备开源的项目以 最好的面貌展示在大家面前如果你准备写一篇博客或是准备就自己的工作给大家做分享,上面这个噵理同样适用开源一个项目有助于让项目的质量变得更高。

除 了上面所说的之外共享你的工作和项目还能从另一个方面提高你的工作囷项目的质量:反馈。你分享的东西获得的所有评价反馈不管是正面评价还是负面评价, 都是你进一步学习和提高的一个难得的机会囿时你会发现自己在交流分享一些内容的时候没有表现得很好,或是你遗漏了所分享主题的一个非常重要的部分、或是 针对一个问题的一個完全不同的视角你没有考虑到在开源代码方面,反馈所发挥的作用就更加强大因为它本身就是一种获取同行审查的方式。正是基于這个原 因开源已经成为开发复杂和关键的软件系统的一个标准,例如安全稳定、操作系统和编程语言的开源有数据表明,通常情况下开源的项目要比那些封闭的项目 质量更高。

著名的计算机程序员、开源软件运动的旗手 Eric ]

本文标题:很多优秀的软件公司和开发者为什么願意开源和共享

我要回帖

更多关于 如何推销网站 的文章

 

随机推荐