这个作业的要求是: 第一次作业 (看开源的资料,提五个问题)-CSDN社区 。
在阅读了《中国开源发展蓝皮书》的总论部分以及几篇CSDN上关于开源的文章后,我对开源产生了几个问题。
1.
法律问题日益突出
法律问题表现在开源许可证法律效力有待进一步明确,著作权边界纵横交织,专利权体系复杂,商业秘密判断困难等方面。
如何维护个人或团队的合法权益?开源存在的法律问题仍然很多,一旦被侵权也难以维护自身权益,且项目可能被他人恶意改动导致出现严重问题。
2.
开源软件漏洞数量保持高位,且影响范围巨大,同时需要探索如何确保上游组件的快速修复、大规模、全覆盖地推送到下游依赖环节。
项目存在的技术风险可能会对使用者造成影响,如何减少开源项目存在的技术风险?
3.
Aditya Pakki 觉得有些委屈,觉得社区不是很友好 Linux 内核人员 Greg KroahHartman 于是找出了之前刘教授小组提交的论文 On the Feasibility of Stealthily Introducing Vulnerabilities in Open-Source Software via Hypocrite Commits(基于伪装技术向开源代码中引入漏洞),并认为这个事件为了研究论文而故意提交恶意代码,觉得不太厚道,所以发文禁止明尼苏达大学向 Linux 提交任何代码。
对于他人的合并请求应该怎样处理?如果他人的改动能够提高项目质量,但同时又存在潜在风险,如何抉择?
4.
“可以负责任地讲,参与开源一定会增加自己的职场竞争力,因为这可以让你更容易接触到先进的技术,像 Linux Kernel 之类的很多开源软件,代码已经经过千锤百炼,通过阅读这些代码就可以学习其背后的设计思想。而且你还可以在开源社区内进行讨论学习,让自己能够更快地收获成长。”
如何判断项目是否需要开源,又怎么判断在何时开源?开源虽然能收到更多反馈,但也存在着许多风险;而对于确定要开源的项目,是尽可能确认没有问题再开源还是提前开源以获得更多反馈?
5.
开源人才的问题比较突出。
加强重点开源人才培养,推到开源教育和价值引导。
怎样提高自己的开源开发能力?是多参与已有的开源项目学习,还是自己开发开源项目,以及如何确定适合自己的项目?