(退课)
1.我读到:
而对于开源小白来说,你可以从自身的技术兴趣出发来选择想要参与的开源方向,如果对数据库感兴趣,那 TDengine 就是一个非常适合上手学习的开源项目,如果是对消息队列感兴趣可以选择 Kafka。
提出:
自身的技术兴趣固然占一方面,但是更多的可能是如何去找这些开源项目。这里作者给出了两个选项,那么一个小白或是不太有特别突出的某方面兴趣的人在选择时,该如何去选择呢?
2.我读到:
这些新的,可疑的补丁似乎没有任何真正的价值,不论是好是坏-,至少是在浪费上游开发者的时间。
提出:
有些上传者可能怀有不轨的企图,可能添加一些看似无用的代码,实则可能会影响整个系统的运行的情况。Linux的社区较大,因此资源比较好,管理员可以及时发现这些可疑的补丁。然而其他中小型开源社区可能无法做到全盘扫描出这些问题,那么他们平时是怎么处理这些问题的,又可能会有更好更高效的处理方式么?
3.我读到:
把这些都放在一旁,将源码开源也是个极为繁琐的事情。我先不谈清理一些让我感到尴尬的东西,下面是我想到的可能不太全面的一些点需要说明一下:
网站的主题是从WrapBootstrap 购买的,我没有权利来将它用到开源项目
富UI组件是ExtJS的商业版本。这需要被剔除,或者这个项目需要遵循GPLv3协议。
Sidekiq Pro需要被剔除掉。
用到的每一个JS库和所有的图片资源都需要检查并保证得到了授权。
涉及到客户信息的代码需要被剔除。比如我们创建了针对客户数据的组件就不能发布。这个过程意味着需要编辑检查每一个文件。
提出:
从上述描述中可以看出,开源需要注意的事情其实是很繁琐的,涉及到很多需要注意的事项,那么当一些开源工作者在处理这些事项时,是如何确定这些资源是否有权应用到开源项目呢?又是否有一种较为高效的系统或方法来帮助开源工作者们处理这些问题?
4.我读到:
结果是,我提交的pr并没有处理。嗯,社区的处理速度好像一直都很慢。尽管当时每天都期望收到回复邮件,想知道是否有写的不好的地方需要调整,或者被拒绝,或者被接受。不过很久之后也没收到,又忙于其它工作,慢慢就忘了这些事。虽然,第一次提交之后,尽管没有结果,依然让我熟悉了这个流程,后续还是尝试提交了一些pr,大部分没被接受,只有两个后续被接受了。
提出:
当我们在接触开源的过程中,会遇到一些问题,这个时候去issue中寻找问题往往是解决方法的首选。那么当我们在遇到issue中未曾涉及到的问题时,我们需要提出一些问题或是我们需要提交一些补丁之类的资源时,如何能保证或是提高自己被接受或采纳的概率呢?
5.我读到:
Linux现在的主要贡献都来自各家公司的雇员,这可能是世界上最广泛的一个跨公司合作开源项目。那么,Linux社区如何协调和引导如此众多的公司完成协作,避免冲突?这是个不小的挑战,尤其是其中有不少互为竞争对手的公司,在一些热点问题上可能希望竞争主导权、话语权,以及有利于自身的实现。
提出:
Linux社区引导协调各种人员完成协作,他们的代码风格、个人习惯也各不相同,这究竟该如何具体实现呢?这里我问出了一个与本文作者相同的问题。除此之外,我目前也参与过两个软件项目的开发,但是读了一些文章之后,发现开源开发与普通开发有着很大的区别,包括主导权、话语权等,那么这些的具体区别又是什么呢?