当前位置: 首页 > 科技观察

为什么我的代码是闭源的

时间:2023-03-17 20:36:22 科技观察

我做了一个可能很多人都会后悔的决定。从今天开始,我在GitHub上开源的代码,除了教育代码,都是私有状态。这些代码包括PySonar2、RubySonar等。从现在开始,除了教育目的,我不会开源任何代码。当然,您下载的代码仍然可以根据开源许可免费使用,但最新的改进和未来的新产品将全部关闭源代码。做出这个决定的很多原因是因为多次对人心的失望。PySonar2曾经是开源的,在松散的BSD和Apache许可下。PySonar的用户包括Google、Sourcegraph和其他几家做专业代码管理工具的公司,我不能透露他们的名字。很多人提倡像BSD那样松散的版权,因为这样可以最大程度的传播代码。他们甚至以此为信仰,对GPL等严格限制商业使用的版权嗤之以鼻。甚至捂着眼睛对你说:“你的代码是GPL,我看不懂!看了以后写同样的代码,你来告我!”然而,经过多年的体验,我发现BSD并不是好的开源版权,GPL才是真正保护软件“自由”的。这个故事要从Sourcegraph说起……Sourcegraph是一家制作代码管理工具的公司。他们最初的系统实际上只是PySonar之上的一个简单的Web包装器。将PySonar分析出来的信息倒入数据库,然后通过web展示给用户。PySonar本身已经有一个可以生成交互式HTML的demo程序,所以其实Sourcegraph能做的,我也能轻松做到,只是稍微多了一些杂务。Sourcegraph并没有在PySonar之上加很多新东西,也做不出像PySonar那样的核心技术。但是因为我从来没有关心过Python这门语言,觉得这个工具没有市场,所以一直没有开发出一套完整的服务。不是你做不到,而是你没有动力去做。BSD版权允许Sourcegraph的两位创始人完全免费和独家使用PySonar。因此,我无法收到PySonar的任何退货。然后Sourcegraph的两个人找到我,想招募我帮助他们构建RubySonar并改进PySonar。于是开始了经济失衡。Sourcegraph使用的是PySonar,按理说我不需要做其他任何事情,应该会有一些回报。但是现在他们招我当员工,我得做点别的事情才能得到奖励,也就是说,我变成了他们的打工仔。几个月下来,我渐渐发现这两个人的肤浅和不尊重。***拿到最重要的技术改进后,两位创始人翻脸,把我踢出了公司。Google的代码不再包含在新的PySonar2中。由于对人们的失望,我一度将PySonar2的版权更改为AGPL。这是GPL的增强版,它要求任何使用这些代码的个人或公司在对代码进行改进后,使改进后的代码可供下载。即使您在自己的服务器上运行代码并且不将其作为产品提供给人们,您仍然需要人们能够下载改进后的代码。把版权改成AGPL后,奇怪的事情发生了。我在美国申请绿卡时,向谷歌前老板要了一份“工作经验证明”。这本应该是公司应该无条件提供给任何离职员工的文件,但是我的老老板对我说:“我可以给你这个证书,但我要你帮我一个忙。你的PySonar2现在改了给AGPL版权,我们想用你的代码,但是因为这个版权不能用。你能不能把版权改成BSD什么的,让很多人用?面对这种无理的要求,我很是不屑。所以我根本就没有要谷歌的工作经验证明,直接找其他公司开证明。过了一段时间,感觉AGPL好像真的限制了PySonar的应用,于是把版权换成BSD,再换成比BSD宽松的Apache版权。一转BSD就发现有个代码工具公司fork了PySonar,而最新的commit刚好是版权换成BSD的时候。这家公司从未联系过我,也从未感谢过我,但他们在本地使用PySonar赚钱。另一家一直在使用PySonar的公司的创始人Z那天也给我发了一封信说:“我正在考虑给你版税,但你转而使用BSD。哈哈哈!”这是什么意思?我本来是要付钱给你的,结果你改成BSD了,钱我就不给你了,就是这个意思。不过他还是象征性的给了个代币几千块钱。我一直把Z当成朋友,平时他报点PySonar的BUG,我都愿意免费帮他改进,给他介绍投资人,甚至给他介绍妹子。。。我什么都没问他,还有我没有要求回报,我只是想积点德,以后总会有好的结果。然而,当我前几天宣布离开美国的时候,我才发现,我的好意并不是奖励了。Z发消息说看我想回国,所以他想把我招进他的公司。他给了我一个价格,具体数字我就不说了,但是这个工资可以靠中国的一个程序员,我想给那一点点钱,给他当个顾问,关键时刻给他指路,改PySo的代码每隔几个月。最后,他让我全职为他工作。我笑他开得太低了,得到的回答是:“你有没有做出真正的产品?”是的,PySonar不是真正的产品。你在外面做一个wrapper接口,然后功劳都是你的了,还得我给你干活?嘿,我不相信任何人免费使用我的代码。这就是我发布具有BSD版权的有价值代码的辛酸历史。为此,从今天起,我的代码完全闭源。没有人可以免费获得PySonar***没有人可以再看到我的最新技术。此外,PySonar实际上一直有一个开源的fork,其中包含对静态分析逻辑的重大改进。从此以后,这一切只能属于我所有,其中一些将成为我未来产品所向披靡的中坚力量。