烂尾,烂尾!为什么国内开源项目总是烂尾?

2022-10-28 00:00:00 自己的 开源 微软 项目 盗版

大家好,我是校长。

前几天,我在知乎上看到两个关于开源的有意思的话题,值得聊一聊。

这两个问题分别是:该以怎样的心态对待开源和如何看待国内开源项目的不可持续性?

个问题:该以怎样的心态对待开源?

题主是这样想的,他说:

必须承认开源为造商业的东西省了一些成本...

但对开源,其实我心里很不舒服.

小公司拿着开源项目做集成赚钱.

很多程序员拿着开源项目,可以不求甚解,但求玩得转了.

我自己的态度是,开源项目是用来学习的.

像我这种高不成低不就,又有点臭骨气的,如今已被远远甩在了后面...

想做个东西 -> 哦,都有现成开源项目了,

做成了个东西 -> 哦,就是 xx 一样的东西嘛,

做更好的东西的意义和机会就少了太多太多.

知识不值钱,点子不值钱。因为知识告诉别人,你获得了一时的优越感,但这一次性就出卖完了.

写个开源项目又怎样呢,有了一个作者的称谓,别人获得了你廉价的劳动成果,你含辛茹苦把代码写得非常清晰易懂,有的人还觉得老子一看就懂说明老子水平高,而你水平也就这样。无语...

开源也促成了不少伸手党,这些人很讨厌,从来只知道索取,从未对开源做过任何贡献.

如果说开源节省了成本,但因为泛滥了,水涨船高的关系。其实对于程序员的工作毫无降低,又让人养成依赖.

它对于程序员这个群体的价值是促进了还是降低了?

如果一个人有着点臭骨气,该怎样对待开源?

以上是题主在问题下的描述。

我聊一聊我的看法吧,顺便也把第二个问题「如何看待国内开源项目的不可持续性」穿插着回答一下。

分两个层面来聊一聊这个问题吧。

从开源项目使用者的角度来看

我们这个社会说到底就是一切以生产力为中心,凡事可以提高生产力的方式,我们都得用,也要学会使用,否则很容易被这个社会淘汰。

毕竟你生活在一个激烈竞争的社会,如果你效率低下,肯定是会被社会所淘汰的。

在有现成的工具的前提下,你非得自己花费很长时间自己去写一个,这个时间成本后就得你自己承担,公司是要转移成本的,既然你在浪费时间,那么公司就得转嫁到你身上,承担的结果就是你可能会被淘汰了。

当然了,除非你自己写出了一个更好的开源项目,效率比现成的更高,否则,你就是在干浪费时间成本的事情。

就像题主所说的,你特别讨厌很多程序员拿着开源项目,可以不求甚解,但求玩得转的现象。

这种现象确实非常普遍,作为一个要想在社会上生存,又有追求的程序员,当然是既要…… 又要了。

你既要使用现成的开源项目,又要研究开源项目,从中学习,提高自己的技术,可以开发出更好开源项目或者产品。

一定不要敌视开源项目,也不要因为自己心高气傲,有追求,有心气,就看不起开源项目,不使用开源项目。

要想在这个社会上混得好,活得好,就要有开放包容的心态,站在巨人的肩膀上看的远多,好的事,这不丢人。

如果你能站在巨人的肩膀上,还能做出超越巨人的事,那你就是创新,就是进步,更是高手。

我们不要因为有了开源项目,就过度依赖开源项目,不求甚解,以致于自己的技术没有进步,自己得不到成长,这是对自己的不负责。

你不要管别人如何使用开源项目,别人如何跟你没关系,你做到自己问心无愧,能对自己负责就够了。

从开源者的角度来看

我经常看到一些这样的话题:什么中国的开源项目没有持久的,终都会烂尾,不再维护。

聊这个问题之前,我们得先聊一聊为什么很多人要开源?我认为三点原因吧。

1、开源项目目前在咱们国内是一种有能力的象征,可以通过开源项目建立知名度和影响力,甚至有好的开源项目还可以在大厂的职位晋升当中有帮助。所以,很多人就开始想办法搞开源项目,当自己的目的达到之后,这个开源项目终也就不了了之了,不再维护了。

这是国内很常见的一种现象吧。

2、开源是为了建立自己生态。就像是 Android ,linux 等操作系统吧,都开源了,它们开源的目的就是建立自己的生态,当开源之后,就会有很多人使用,很多人会给它维护,让这个系统越来越好,生态也越来越完善。

虽然开源的系统可能不挣钱,但是,完善之后的生态可能挣钱。就像是 Android 系统开源之后吧,因为免费,很多人使用,很多人使用之后,基于这个 Android 系统的很多应用可以挣钱,谷歌打造了一个谷歌三件套,比如:Google Play,谷歌服务等,大家都得用吧?这可以挣钱,如果 Android 系统不开源,可能智能手机时代就变成了苹果一家独大了。

3、开源可能是为了减少竞争。什么意思呢?很多商业公司做出了不错的产品之后,其中的有些技术可能会开源,供大家使用。到这里,你可能想问:供大家使用,不是增加竞争了吗?怎么是减少竞争呢?

道理很简单,你又不是把所有的技术开源,而是其中的某些技术开源,那么当你开源之后,很多公司可能就会使用这个开源项目,如果他们形成依赖,那么他们的一举一动不就掌握在你的眼皮子底下了吗?当别人使用这些开源项目形成依赖,他们做出的产品就不可能超越你的产品。

如果你不开源的话,其他竞争的公司自己研究,极有可能研究出比你更好的技术,到时候,你就有可能被超越。

开源可以降低门槛,其实也降低了竞争。

就像是光刻机,如果我们一直使用荷兰的光刻机,可能就不会自己研究光刻机了,一旦遇到紧急情况,我们就有可能被别人卡脖子。当被卡脖子的时候,再去研究就来不及了,万一撑不住,不就憋死了。

就像是为什么微软纵容盗版啊?通过纵容,可以占据市场主导地位,同时可以对其他同类软件形成竞争,抢占同类软件在市场上的份额。

只要微软有意打击盗版,完全有能力进行正版验证,拒绝盗版 Windows 在线升级。微软就是利用中国盗版猖獗这一点,迅速占领中国市场。

有意的放纵盗版还造成一个对中国相当严重的后果:中国没有一家企业能研制出属于自己国家的操作系统!盗版 Windows 的光碟只要 3、4 块钱便可以买到,而开发一个操作系统则需要投入几亿资金,在这样注定亏损的情况下,根本没有哪家公司有能力研制出国产操作系统。.

微软便是借此打压竞争对手,等到没有竞争对手的时候,便是收网的时候,典型的便是对网吧、公司等商业行为使用盗版 Windows 系统进行控告,要求使用正版 Windows。

在客户只习惯使用 Windows 的情况下,很多商业公司只得乖乖听话,后微软其实在中国赚了很多钱,可能单个的普通用户无法感知。

开源亦是如此。

所以,只有第二种和第三种情况下的开源项目才会持续,因为第二种和第三种的开源,可以持续带来大家看不见的商业利益。而种的开源是无法持续的,因为种开源无法带来长久的利益,当开发者达到自己的短期目的之后,就不再维护了。

相关文章