注册

拿开源套壳就是自主研发?事情没那么简单

去年8月国内科技圈出了一件非常丢人的事情,想必大家已经都知道了,某个号称自主研发的IDE完全使用开源的VSCode改名而来。没错,就是改名!


图片


哦,对了,还加上了vip功能!


图片


为什么这家公司可以如此堂而皇之地将VSCode改成自主研发?在该公司最新的道歉声明中提到了缺失MIT协议:


图片


MIT协议到底是什么,里面有哪些要求,微软可以告他侵权吗?


在文章的最后我要聊一下软件的开源的意义在哪里,到底怎样才能真的叫“自主研发”。


1、MIT协议是什么


以GitHub为例,打开源代码的根目录,一般会有一个名为license的文件,这个license就是这套代码的许可证信息。


图片


可能这个license的文件内容很多,而且是英文的,不过不必担心,我给大家归纳总结一下就明白了。


直接看这张由阮一峰大佬总结的图,可以看到开源许可证主要限制的点就一目了然:


图片


正因为VSCode采用的是最宽松的MIT协议,它的MIT协议几乎没有什么约束。


整个协议非常的简短,不到两百个单词。我们直接看看VSCode的MIT协议全文长啥样:


图片


首先第一句,这个许可是免费的,任何人都可以拿到软件的副本以及附带的文档。


然后还能做啥呢?使用,复制,修改,合并,发布,分发,再许可/或出售该软件的副本。


也就是说你爱咋整都可以,拿来卖钱也可以,但只有一个要求,就是要把这个许可证放到软件的副本中!


所以大家看懂了上面这家公司的道歉声明了吗?他们道歉的点就是没有把MIT许可证放入其中,这也是MIT许可证唯一的要求。


后面据说他们也在GitHub上开源了CEC-IDE:


图片


不过被骂得太惨,最后还是消失了。


既然是套壳VSCode,微软能告他侵权吗?


答案是不太行。因为MIT许可证本身就是一个不起诉的承诺。


2、做CEC-IDE意义何在


为什么他们要做这个CEC-IDE呢?真的指望它vip能赚钱吗?


作为同样是程序员的我,其实对CEC-IDE的做法并不陌生。


例如我们公司也搞了一个开发平台,为了不惹麻烦了,我就不说是啥了,我就简单叫做by吧。


它其实就把springboot gitlab等等一些东西糅合在一起,然后把包名,比如spring替换成by:


图片


其实我觉得嘛,这玩意要是对内使用,作为公司统一开发的规范,除了包名被换了比较恶心外,问题不算大,反而这样还可以统一管理开发组建的版本。


而CEC-IDE最大的问题就是把这种本来应该内部使用的东西公开化,而且大肆炒作“自主研发”。


一般大企业内部都有研发立项资金,每年都有一定的申报额度,各个部门都会绞尽脑汁去做各种工作。


当然并不是做个ppt就完事了,上面人也不傻,现在一般大企业内部都很卷,为了拿到上面批下来的研发经费,无论如何都要造出点与众不同的地方。


毕竟kpi考核内部竞争也很激烈,所以大多数情况都会提前做一个“好看”的版本,配合一定的亮点宣传,“自主研发”显然是最契合的。


而MIT许可证规避了法律风险,确实是个“完美”的方案。


其实他们也是“聪明”的,只挑MIT许可证的,从他们的道歉声明可以看出,他们最初拿VSCode动手也是做了一定的功课的,错就错在太高调了!


3、软件开源的意义


为什么很多人和公司会选择把自己开发的软件开源?


开源不可避免会导致代码被其他人“拿来主义”,那么开源软件的意义在哪里?是因为他们太有钱做慈善吗?


首先要说明白一点,开源不代表与商业化冲突,反而优秀的开源软件能带来更多的商业化机会。


我举一个例子,假如我发明了一个人脸识别算法,这个算法有一个特别优势:可以在性能非常非常差的硬件上运行。但前提有一个条件,就是需要对指定硬件做适配,于是我把优化好的一个版本放在GitHub上,获得了很多人的关注,甚至也有很多人帮我改进代码中的一些bug。


有一天,一家大公司看中了我的代码,这时候会有两种情况:


第一种就是把我的代码“拿走”,用到自己的产品中,不给我一分钱!


第二种是把我“收编”了,或者给我一笔费用,让我为其提供有偿的技术支持,并能持续迭代适配这家公司的更多低端设备。


稍微有点远见的公司老板,肯定会选第二种。毕竟拿一段无人维护的陌生代码是有很大的风险的。有时候代价比自己做一套还要大。


对于企业来说,开源也不是做慈善,反而有战略作用。


例如代码开源,但你要获取的技术支持是付费的,这也是非常常见的盈利模式。


还有一个典型就是比如开放云服务形式,这也是AI领域常见的开源盈利模式。


在我看来,大家遵守游戏规则,尊重他人的劳动成果,软件开源肯定是有利于整个行业发展的。


4、怎么定义自主研发


自主研发严格定义应该是:企业主要依靠自己的资源,技术,人力,依据自己的意志,独立开发,并在研发项目的主要方面拥有完全独立的知识产权。


除此之外,自主研发还包含一层意思,自己做主,行使权利,而不受他人的控制或限制。


什么叫突破西方卡脖子?


去“突破”人家免费送的东西算哪门子自主!


我承认,做自主研发不可能完全从零开始,在别人的源代码基础上做衍生开发是再正常不过的事情。但起码要让人看到做这件事情的价值。


如此浮躁,急功近利,毫无底线,这件事无疑给国产化、信创行业更加蒙上一层阴影。


作者:程序员Winn
来源:juejin.cn/post/7319181255757185061

0 个评论

要回复文章请先登录注册