开源,垄断,人才的成长

2018-11-20 12:12:46 +08:00
 onc

前段时间有个事情,某个国内厂商抄了 Chrome 的代码,却说是自己开发的,并取得了投资一事,大家骂成一片。

看到这个我却有一个其他的想法,为什么这个厂商不真的去自己开发一个浏览器内核?

因为 Chrome 已经开源了自己的内核。有现成的东西,对一个有盈利压力的厂商来说为什么不用?

OK。我们回来,如果那个厂商不去用 Chrome 内核,而是自己开发。结果会如何?

方法有 2:

  1. 首先他要找到并雇佣原来开发过浏览器内核的人才。容易找吗?我估计很难。Chrome 开源已经 10 年,V8 引擎也已经 10 年。放在 10 年以前,国内还真有开发浏览器内核的人,但现在应该基本都放弃了,很难找到在这个方面有现成经验的人。

  2. 招收新人,从 0 开始开发。抱歉,Chrome 已经开发了 10 年,你想多少时间可以赶上? 新人接手这样的底层项目,需要大量的时间慢慢开始。如果你愿意培养 2-3 年,而且找到的新人还不错,还有个好的项目带头人,到第 3 年的时候,我相信是可以出些成果的。但国内好像没这样的公司。

总之,不可行。说这么多,我们回来审视一下 Chrome 的开源,我们看到的是 google 对 浏览器开发产生了一种垄断,而这种垄断是随着时间越来越加剧。

这个是开源的副作用?

我觉得不是,这更像是商业开源的主要目的之一。

我们可以看到近些年很多国外的商业开源项目,公司一开始就将自己的主力项目开源,放到 github 上。例如:docker,mongodb....

为什么这么做? 告诉世界上所有关心这方面项目的开发者,我们已经开发了,你不用再写了,放弃你的项目吧! 这就是通过开源来造成一种技术垄断。

因此,商业公司的开源项目会横扫一大批初始开发者。本来这些开发者可以开发一个雏形版本,但由于商业公司开源了,导致这些雏形项目的开发者失去了开发的动力。所以,也扫清了很多的潜在对手。 任何伟大的软件,都是从最基础,最简单开始的。而这个开发动力一般就是市场的空白,或者相同项目的高售价。初始项目不需要太多人参与,一两个人足矣。这一两个人随着项目的开发,个人能力会得到提高,项目也会进一步前进。

没有持续的项目,人才是无法提高的。

最后,当开源项目经过多年的开发,这个世界上基本没有了类似项目的开发人才。即使有,也需要很长的时间才能赶上现有的项目。好了,开源造成的垄断就形成了。

这不能说好,但也不能说不好。开源作为一种软件开发方式,帮助了我们很快的共享了开发软件的很多有益信息,在本质上是提高了业界整体的开发水平,对整个行业是非常有益的。

这点应该是毫无疑问的。开源对软件行业产生了很大的推进作用。

但是,后期很多大公司拥抱开源,将项目开源,也有很多更深层次的原因。

好了,上面说了开源,以及开源对人才的影响,我想再引申到人才的成长。

记得很多年以前,有人总是问我,微软这么有钱,你们弄的这个项目虽然这么有前途,但人家想做的话,不一下就做出来了,哪还有你们什么事。每当说到这个,好像有钱就是万能的,有钱的公司就是无敌于天下了。 可这么多年过去了,我们看到微软并没有把所有新项目都吃下去,反而错失了很多东西。这里有微软公司方向等内部的原因。

我更想说的是,微软的人才不是做所有项目的人才。每个项目的人才都需要培养。

我们现在经常看到新闻说,华为公司每年投入几百亿到研发中,那么这几百亿的核心是什么?我想,就是养了很多人才,让他们对很多项目做研究与开发。这才是研发的核心,对人才的培养。

在现有的体系下,一项研发的成功以及未来进一步的发展,就靠这些人才来做。如果这些人才走了,即使留下了研发的成果,但后续可能很难继续进步。

而人才是如何来的? 人才是慢慢培养的。每个人才都有自己擅长的项目。

10 年前,虽然我也经常看各种网络协议,但从来没考虑过自己编写网络协议。经过 10 年的沉淀,看了这么多协议,近期又再对网络协议做比较、做优化,我忽然发现自己开始对网络协议有意见了,有自己的想法了,有修改协议的冲动了。

到了这个年纪,看很多计算机问题,与原先的角度完全不一样了。这是我这些年来不间断学习的结果。

所以,我个人认为:时间是一个关键点。对于任何项目,你给予人足够的时间去学习,去实践,他只要智商不低,未来总会成为某一方面的专家。

4 年前,国内搞 AI 的开发者应该非常非常少,但我相信,再过 2 年,你会看到很多国内搞 AI 的人才。

任何一种技术都不能成为一种壁垒,只要时间够长,人才是可以培养的。

没有什么独一无二的大脑,在同一时刻,世界上总有人和你一样有同样天才的想法。

世界是分布式的!

14859 次点击
所在节点    程序员
130 条回复
joyc
2018-11-20 12:21:10 +08:00
这个考虑问题的角度,我还是同意的。
gstqc
2018-11-20 12:22:14 +08:00
开源并不是根本原因
而是项目的成熟以及复杂度太高使得准入门槛太高
类似的领域有通用操作系统、办公套件、商业数据库
还有一些专业的行业通用软件也差不多
fffang
2018-11-20 12:27:16 +08:00
做程序员的都清楚,从别人的基础之上开始继续写下去是一件非常困难的事情,这和自己重新再写一遍没什么太大区别。

这点不同意,说得好像大部分程序员都能靠自身写一个 V8 出来一样,但至少现在每个程序员都有机会去学习 V8 了。
AntiGameZ
2018-11-20 12:34:48 +08:00
我们可以看到近些年很多国外的商业开源项目,公司一开始就将自己的主力项目开源,放到 github 上。例如:docker,mongodb....

-----

不认同,先有 dotCloud 后有 docker。也是先有 10gen 之后才有 mongodb。

如果 docker 失败了,mongodb 无人问津。那么 dotCloud 和 10gen 依旧还会做自己原本在做的事情。
zivyou
2018-11-20 12:38:41 +08:00
赞思路。在学校读书时一直想加入到开源项目的开发中,但始终摸不着门路。LZ 的分析切中要害。
现在部门所做的项目,也是基于开源社区的原有项目所做的开发。真正接触下来,感觉没有人指导单靠自己琢磨想加入项目实在太难了。
pinews
2018-11-20 12:44:04 +08:00
借楼,我再就说了,开源,就是资本的游戏,控制开源的是巨无霸大企业,开源的主力军是高技术人员,两者结合就是开源软件变成巨无霸的私有工具,
和中小企业和一般技术人员相关的是通用软件,通用软件的特点就是销售和售后,如果不是大企业支持,对于那些水平较高的技术人员觉得太 low。
说到底怎么设计软件的模式都是基于人类原有的模式,微软的想法就是让每个人用上电脑,既不是苹果的艺术,也不是 linux 的私人定制。。

微软的想法基本实现了,也走到头了,然后苹果,linux 却分别在两端(企业端和个人端)活了起来。
passerbytiny
2018-11-20 13:01:14 +08:00
看了“因此,商业公司的开源项目会横扫一大批初始开发者”这一段,实在是看不下去了。

把“开源”等价于“免费”(进而导致垄断),要么是根本不懂啥叫“开源”,要么就是在故意混淆概念。

已 block。
szkoda
2018-11-20 13:01:39 +08:00
赞思路
RobberPhex
2018-11-20 13:04:12 +08:00
开源其实是目前最好的办法了,你不能总想着我们和 google 在同一赛道、同一起点上起跑。

开源之前,企业垄断后,开始控制上下游企业、从用户、开发者手中收费,甚至自己制定标准收费。

开源之后,企业想要垄断,不能直接通过市场、不能直接绑架用户、不能直接砸钱来建立起垄断。而是要保持技术优势、满足用户需求,通过这样的方式来建立起来的垄断,对于用户、对于产品、对于技术都是有利的。
当然,对新入局的开发者会不利,但是显然,我们不能要求重赛,即行业从零开始,这对用户、对技术都是不利的。

所以,开源这个工作模式确实满足了“过程公平”,也能够促进行业的发展。
noNOno
2018-11-20 13:06:36 +08:00
赞同看待开源的思路. 汝惟不矜,天下莫与汝争能.
开源虽然无偿地公开知识,但是获得了免费的人才,结果不言而喻.
另外关于上述人才培养我不认同,人才在哪都是人才.换个位子就不行的人,不算人才.
kuangwinnie
2018-11-20 13:11:46 +08:00
写得好
XinLake
2018-11-20 13:15:04 +08:00
现在基本不都是开源的么,多媒体编解码器、图形库、数字图像处理、图形引擎、AI 机器学习框架、压缩解压、网络通信、浏览器。。。这些基础设施都有成熟的开源库。拿这些东西可以造出各种商业软件啊。就看怎么什么需求怎么设计、架构。

主要是得有钱赚,这是大问题。反倒是 QQ、360。。。这些开不开源对别人成长影响很大,不觉得。
feizaitk
2018-11-20 13:18:39 +08:00
@gstqc 赞同
像浏览器内核、操作系统这些复杂的软件是需要海量的人在使用过程中进行改进的,也只有大公司才有这个实力做这种复杂的软件。小公司没能力网罗大批高素质的人才。
事实上能做出一些 demo 原型的人还是有些的,但做出来有什么用吗?不成熟不能商用,要么开源要么自娱自乐。所以才没有动力去做这些东西。
liangdu
2018-11-20 13:19:00 +08:00
不知道有没有解读错,你的观点是开源本身没错,错的是大部分程序员怕造垃圾轮子而直接选择复用。这种最要命的是这种决策是客观的条件驱动的,如果不主动学习文档不友好的开源代码,垄断就是必然了
greenskinmonster
2018-11-20 13:20:12 +08:00
@RobberPhex #9 说的不错
开源赋予用户更多自由,让垄断更难形成,促进技术良性竞争。
必需要感谢施乐没有给 Richard Stallman 提供打印机驱动源程序。
zhouyut001
2018-11-20 13:21:39 +08:00
语文白学 14 年,告辞
yangzhezjgs
2018-11-20 13:27:05 +08:00
开源就是用经济利益交换影响力,这种影响力又会带来潜在的利益,比如名誉,掌握了行业标准。
对于群体来说,其实是利大于弊,少数精英用才智推动技术进步,然后大众旁边喊 666,然后享受好处,并崇敬精英,这一直以来都是世界的运作方式。
只是西方人走在前面。
pinews
2018-11-20 13:28:12 +08:00
@noNOno 作者是站在所有人的角度看问题的,不是只顾个人。
@RobberPhex 开源对新入局的开发者会不利,这是一个很大的问题,失去平衡后,一切优势都变成口头优势。
@passerbytiny 人家说开源等于免费了吗?自己都没看懂说什么吧
lance6716
2018-11-20 13:29:13 +08:00
第一个错误存在于,商业开源软件,公司以外的开发者无法参与软件开发
反例很多,随便说一个 TiDB
Kirscheis
2018-11-20 13:30:34 +08:00
以前把技术捂着不让人知道的,叫做垄断

现在把技术免费贡献出来让大家自由学习使用,也叫垄断了??

“这个世界上基本没有了类似项目的开发人才”,完全错了,如果像 chrome 这样的项目完全商业闭源,新来的开发者从哪里学技术?靠他们自己探索,他们自己投入的资源能和 google 投入的资源比吗? 如果没有足够的资源投入,技术能从天上掉下来吗? chrome 项目耗费了巨量资源才为我们试了那么多年的错,留下了那么多优化技术和设计理念,这对于每一个开发者来说都是可以免费学习并且使用的。

开源项目每进一步,可以说整个行业每个真正的开发者的水平都会进一步,向这个项目投入了大量资源的一方水平会多进步一些罢了,这不叫垄断。如果没有这些项目,你所谓的人才只会比现在更菜,只不过他们不用和牛 b 的人比较,才显得不那么菜了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/509556

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX