知乎热榜 ( ) • 2022-09-27 13:38
pansz的回答

用处不一样,但也有相通的地方。不过软件与技术最大的特点在于:它不是一锤子买卖,而是需要长期维护生态的东西。

因此为什么软件行业有开源,是因为开源能够更好的帮助这个软件维系它的生态。


如果单纯用阴谋论的角度来说:

开源是为了阻止别人采用其它方案,从而壮大自身生态。

申请专利是为了阻止别人使用专利中的方案。


如果 Android 不开源,这世界上可能还会诞生不止三个手机操作系统,当年功能机时代就是每个手机厂商都有自己的操作系统。但 Android 开源了,那移动操作系统可能就只剩下它称霸了,现实就是如此:Android 开源恰恰就是为了阻止别人开发出其它系统,因为在它开源的情况下,别人就算开发系统,首先也是拿 Android 为基础来改,于是自然就兼容 Android 了,等同于依然还是 Android 的生态。

你将一个技术开源,就意味着其它人想要开发对应技术的同时必定会首先想一想要不要直接用你这个,或者在你这个的基础上修改。那么如果在你的基础上修改,就成了给你这款软件的生态添砖加瓦了。如果是新起炉灶,你就得说服领导,为什么我们一定要重新造一个轮子。


而专利就恰恰相反,恰恰就是为了规定「这种方法我预订了,你们要用得经过我的同意」,适合那种,别人用了这个方法,不但不能壮大它的生态,反而会对我自己的竞争力造成影响,的东西。


在实际情况中,虽然开源运用得也很多,专利的应用也不算少的。毕竟两者的目的并不相同。

需要友商一起来壮大生态,避免友商制作类似同类产品分裂生态的时候,会选择用开源;需要友商绕道走,避免使用跟自己一样的思路来削弱自身竞争力的时候,会选择申请专利保护。