开源的江湖恩怨情仇

 

我开我的源,与你何干?

Ant Design 事件之时,作为看热度的吃瓜群体。我偶尔也会随意地皮一下,虽然没有这么大胆。过程中,大抵发现一些人呐,对于开源的态度并不是那么友善——仿佛作为一个开源贡献者,这些都是我等的义务,应尽的天职一样。我在最初也并没有那么友好,经贺老提醒之后,我发现自己的态度似乎也是不太对。但是,这种利用道德上的压迫感,让人觉得甚是不爽,便想写一篇文章顺带吐槽一番。

开源,并不意味着免费

开源,是权利而非义务

我从 StackOverflow/Google 复制了一堆代码,作为一种回应,我写有一个对应的博客,上面有一系列的博客;我从 GitHub 上复制代码,作为一种回应,我编写了大量的开源软件。

但是这些都只是我的权利,我可以选择不开源这些软件——随着时间的流逝,让它们在我的电脑上腐烂。而不是将代码提交到网上、GitHub,再除去一些条件限制、环境限制、专利限制等相关的代码,配套上相应的 README、使用文档、Demo,以让其他/她人可以顺利地使用它们。

然而,从法律、道理上来说,我并没有义务这样做。我可以只上传代码到 GitHub 上,你爱用不用。开源是一种权利,我可以使用这个权利,也可以放弃这个权利。不过,对于这个权利不得不提及的一点是,在工作时间、使用公司设备开发的开源软件,从原则上来说,并不属于个人。公司有权利,收回以这种形式开发的开源软件。

“贡献的没有几个,嫌弃的却有一堆”。在 GitHub 上遇到一个问题,帮助某开发者解决了问题。每次都会写 comment 希望他/她能把解决方案放到 issue 里,可多数时候并不会得到解决方案。明明它对于别人是有帮助的,却有人总也不会去做。如果是你,那你还谈论什么开源的权利与义务?

若是不开源,亏欠的是那些开源的人。开源吧,又对那些不开源的人太好了。

开源,不是我们的工作

使用不当。可以适时考虑,帮你解决。

开源,不是道德绑架

谈及开源来说,我怕得是一个 “自私” 的人。我有自己的生活,出于性生活考虑,我拒绝造基础的轮子,如 UI 组件库、模式库 等等。所有的这些基础设施,都在无时无刻地蚕食生活的角角落落。任何一点鸡毛蒜皮的小问题,都会在 issue 列表中出现:

明明是你不看 README,却在说文档上没写清楚。 明明是你不看示例代码,却在说项目没有 DEMO。 明明写的是给 Angular 用的框架,却在说在 Vue 上不能使用。 明明是你的能力不足,却在说框架有问题,不能工作。 明明是你的能力不足,却在说作者不帮助你。

不开源,不足以谈开源

结论

有些人是该批评,有些人是该醒一醒了。