关于开源的五个问题

第一次作业:关于开源的几个问题

这个作业的要求是: https://bbs.csdn.net/topics/607938212
经过阅读课程给出的相关资料,我产生了以下想法

1.开源项目的思路:科学or工程

作为个人开发者,我们在编写开源项目时,应当使用怎样的态度(思路?)对待项目?什么样的开源项目是需要我们为它构建稳定的、保守的结构,又有什么样的开源项目值得我们用创新的思路、大胆的实现方法去尝试优化?
例如,Linux社区禁止美国一家大学提交代码:

Greg Kroah-Hartman 是一名 Linux 内核主线分支的维护者,2021 年 4 月 22 日发布了一个申明,禁止一所美国大学试图以研究名义故意提交带有安全隐患和其他“实验”性质的可疑代码合并到 Linux 内核主线分支

且不论事件中的道德考量问题,材料给我的思考是当我们对开源社区做贡献时,我们应当用怎样的方式去对待开源项目。如果秉持着科学性的视角,使用大胆的、创新性的代码,很可能给其他参与人员带来一定的启发,最终为整个项目乃至相关领域带来技术上的飞跃;而如果以工程的视角看待项目,则应当尽量复用已有的实现,摒弃没有实质性帮助的迭代,保证整个项目的稳定以及项目结构的不变性。那么哪一种态度对项目带来的价值会更大呢?开源参与人员应不应当为项目提供创新性强、实现案例少的实现呢?

2.开源项目的性质:商品性or社会性

在《2022中国开源发展蓝皮书》中提到:

再者,开源供应链日趋庞杂,关键开源组件的可持续维护面临挑战。开源软件的长期义务维护可能会导致一系列不公平的现象,例如商业公司通过开源软件赚取了丰厚利润,但并没有给维护者任何回馈,甚至会刻意回避谈及对开源软件的使用,由此引起开源维护者的反感甚至一些过激行为。

开源项目维护者参与项目的回馈无疑是每个参与人员最关心、最根本的主要矛盾。什么样的供需规则是维护者与商业公司所都可以接受、可以明确具体地反馈、可以最大程度地满足双方需求的呢?是否可以构建一套衡量策略,对维护者的参与贡献进行量化并要求商业公司以此为依据提供物质回馈?
更进一步,开源项目所动用社会人员力量,是否应当与独立开发的软件工程商品区分开来?商业公司通过项目获利应当不应当受制于一个可以量化的范围?

3.开源的范围:代码之外?

这是我对于开源一直以来都有的疑问:参与贡献,除了提供补丁修改bug、开发新功能,是否还可以做出一些代码之外的贡献?
例如,我们可否开放一个“项目讨论区”,对这个项目不合理的需求导向、不先进的功能设计进行批判?是否可以由开源参与者提供可能颠覆项目原型的评判意见?

4.开源社区:成为技术学校?

接触CSDN的契机,我相信很多人都是学习过程中遇到了一个很头疼的bug,copy错误信息到搜索软件上,跳出来一个解决的帖子,从此入坑成为博客佬()。
不只是报错的解决,很多算法上、技术上的知识,都有很多人做了具有一定系统的知识攻略。学习没有接触过的领域,也有很多人会选择使用CSDN等很多社区进行学习。那么是否可以将社区发展为具有学校性质的技术性学习机构?更进一步,有没有可能在未来将他发展为具有教育公信力的技术学习社区?

5.为什么开源

最直接的问题:为什么要学习背景与现有架构,参与到这个开源项目打工?
作为初学者,尝试进行贡献时经常会问自己,我推的这个issue真的有意义吗?参与的项目很快过时了怎么办?贡献没有被回应的话花费的时间是否就浪费掉了?
与之相应的,我也在想,开源社区或商业公司,可以怎么地保证所负责项目的意义与价值,使得维护者在学习与开发的过程中保持对于项目的热爱与向往?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值