在阅读了《2022中国开源发展蓝皮书》和其他一些相关文章以后,我对开源软件的开发有了一些新的认识,同时也产生了新的疑问,下面根据作业要求,以资料和文章中的某些内容为例,列举一下我的问题。
问题一
《2022中国开源发展蓝皮书》中提到了:
自开源软件脱胎于自由软件开始,对商业友好、与商业共存就被写入开源基因。
我之前也曾接触过一些开源项目,如github上一些方便的小工具,element-ui、e-charts之类的第三方库,但是这些项目都是非盈利的,或者仅仅有一个赞赏功能。我想知道,一个开源项目该如何实现盈利,项目的收入又该如何合理分配至每一位开发者呢?
问题二
《2022中国开源发展蓝皮书》中有一段关于项目型社区的描述:
项目型社区是聚焦特定开源项目,包括代码贡献和协作、集成测试、应用实践、用户反馈等核心功能,大部分项目型社区由背后的机构或企业来资助或直接运营
在这段描述后,蓝皮书中还列举了一些知名的项目型社区,但是其列举的这些社区全部都依托于一些企业或者基金会。我想知道有哪些完全由自由开发者运营的项目型社区,以及运营这样一个社区的难度如何,难点又有哪些?
问题三
蓝皮书中提到了开源安全问题:
开源代码安全与企业开源治理问题紧迫。随着开源组件的不断增多,大量的第三方开源组件被放到软件中,导致软件供应链变得越来越复杂,安全风险也前所未有的严峻。去年一系列开源安全问题引发业界高度关注,对开源安全提出更高的需求。
前不久log4j2漏洞引起了轩然大波,像这种广泛使用的开源工具,一但出现安全问题,其产生的影响将不可估量。我想知道,现在业界针对开源软件的安全问题有没有什么比较先进、可靠的处理方案,以及作为个人开发者,我们该如何尽量规避这类开源软件漏洞?
问题四
腾讯云IDaaS技术专家陈伟嘉在他的文章《记一次10人跨组织、跨地域的开源协作经历》中记录了来自不同公司的开发者一起合作完成《云原生安全白皮书》协同翻译的工作,这让我意识到“开源”的概念不仅仅是程序员合作写代码这么狭隘,“开源”的概念同样适用于其他领域,比如文中记录的合作翻译。我想知道“开源”的思想除了在计算机科学领域,还有没有在其他领域得到了广泛认可和应用呢?
问题五
但对企业用户而言,由于开源软件在保证(Warranty)和许可证条款、商务模式、技术支持模式等各个方面与商业软件的根本不同,过去由商业软件公司提供的整个产品生命周期过程中的责任与服务,现在完全由企业客户自己承担。
我个人认为这种企业用户承担开源软件的责任与服务的形式存在一定的不合理性,在一个企业选择开源软件并对其进行修改之前,开源软件可能会存在一些影响到企业安全的漏洞,这部分漏洞的责任是否应该由软件的开发者或造成漏洞的贡献者来承担?