开源与商业产品
最近遇到一个让我和整个团队都头疼不已的问题,直到现在仍然只是尝试在解决问题,并没有摸清问题的本质,断断续续都已经 4 天了。这个问题的影响十分恶劣,因为产品几乎不可用,在我们的团队,还没有一个造成不可用的线上问题可以持续半天以上。能持续这么长时间的根本原因还是我们无从下手,它依赖微软的一个商业产品,而且也付费请了微软的技术人员前来解决,得到的答复是没有问题,或者不关微软产品的问题。其实微软的这个 Java API 早在 2018 年就停止维护(卸磨杀驴)了,现在他们提供基于 Azure 的新产品,是的要绑定 Azure 才能用上新的 API,其实就是深度绑架。
微软的商业帝国就是这样一步步建立起来的,闭源,顾问费,深度绑架。可是能不用吗?有别的选择吗?目前可能还没有,虽然有时候会出现问题,但大部分时候微软的产品比市面上的小团队产品要强大,毕竟人多钱多。我也不是完全批判,但如果有选择,我一定选择开源的产品。因为闭源是阻止人类进步的刽子手。
为了商业上的利益对核心技术保密是另外一回事。如果你保密的是一座屎山,而且因为这座屎山的影响太大导致一大部分人青春年华都浪费在排查黑盒问题上,你就是罪大恶极。伟大的产品比如 Linux,就是因为开源才伟大,而且强大稳定。如果统计占有率,无疑在 server 领域 Linux 几乎是 100%,有什么系统能稳定运行几年以上呢?只有 Linux。
我们当然需要商业产品,但商业产品不等于闭源。强如 TiDB,核心产品代码就是开源,吸引到了无数优秀的国内开发者参与其中,一定程度上也减少了内部的 QA 和开发压力,但他们依然可以以顾问的方式做商业化。代码虽然开源,但客户不一定有能力维护,所以可以付费咨询,但万一客户有能力维护呢?这是客户的选择,你不能以某种强制的手段杜绝客户去维护。屎山自己当个宝,还耽误万千人的青春年华。长远来看,你能活多久?
开源才是正道。
评论