注:以下内容仅代表我自己对于开源的看法。
什么是开源
按照我的理解,就是你自己写了一些代码,然后分享给那些需要你代码实现自己的一些功能的人。
开源的意义
写代码最忌讳的就是重复造轮子,当我们写软件想要实现许多功能时,我们需要写很多的代码,但是有了开源,当别人写了很多的代码有你需要的功能以后,我们就可以直接引用别人写好的就行,就不用大费周章的去写了,这就是开源的意义,其也是互联网精神的体现。
开源和闭源
关于开源,首先我希望所有的开源作者能越做越好,我们遵守作者的开源协议,我们不应该去要求作者做什么,尽可能的为其做贡献,当然我认为既然选择了开源,那就大部分是确实热爱这一事情的,但是,我希望开源作者不要对一个项目投毒或者编写一些恶意代码,也注意一些不怀好意的人的投毒,毕竟一个好的项目是多人维护的,只有这样,项目才会更好,我知道很多的开源作者其实是很不容易的,那么,希望您可以爱惜自己的心血,也希望其能更好。
关于闭源,我个人觉得并没有什么不好的,毕竟人都是要吃饭的,我尊重所有开源和闭源的做法,但是,当要做闭源软件的时候,我们不能吃相太难看,当我们用了一些付费软件以后,就希望可以提供好的服务,这是为了营造一个良好的环境所必要的条件之一,当一个闭源项目确实很好,使用者体验很好,那么我相信这个软件会越做越好的,也希望其可以提供更好的服务。
关于开源项目
一个好的开源项目,往往是很多人维护的(当然也有大牛是全部自己搞的)。
我们看到一个好的项目,首先我觉得要先看其使用的开源协议,我个人很喜欢MIT这个协议的(虽然我写的都是很基础的东西),因为其基本上是最宽松的协议了。
然后,看readme,其·作者一般会详细的写出其部署过程和作用,也会直接放出打包好的文件,方便小白直接使用。
最后,当你使用别人的代码或者软件,请尽自己所能提供一定的帮助或者宣传一下,请不要辱骂或者命令他人,人家没有这个义务,如果有bug可以拉取issues,并复现你所遇到的问题,那么会有大佬解决的。
关于开源作者
对于很多作者,其本身开源项目是不挣钱的,但是我个人了解的,除了打赏外,一般开源项目的作者会写清楚详细的部署流程,遇到小白不会的会收取一定的费用,但是他们所挣得的是部署的幸苦费,人家已经写清楚了详细的流程,那么,你还不会确实可能会收取一些简单的部署费,当然我也看到过有人把人家的开源项目拿出去挂网上卖,这是我觉得不好的,就算要挣这个钱,也要说清楚,自己挣得的是部署的幸苦钱,其本身是免费的,还有高级一点的,我见到的就是卖项目的key或者api接口的,因为有的人可能觉得有的项目部署起来很麻烦,想直接调用接口,那么,有的作者就会卖这个接口,也是变相的让自己有了一定的收入,不至于纯打白工。
关于大厂
一个反直觉的就是,大厂反而是提供了不少的开源项目的,因为你一开源,特别是大厂的开源,那么就可以帮助一些小作者解决很多事情,而且,当所有人都在使用这一个开源的项目,那么就会在行业里形成一个标准,那么后面很多的项目就会跟着你定的标准去做,这就是为什么大厂也会开源也爱开源的原因,很多大厂也会去招募那些优秀的开源作者,毕竟有了这样一些优秀的人公司才能更好,这对于开源作者也是一个不错的选择。
总结:本人尊重所有开源或者闭源的人的行为,但是,希望每个人都能记得我们提供代码或者软件都是希望这个世界会更好,也希望能更好。