《开源软件开发导论》作业2

关于开源项目的五个问题

  • 一、作业要求
  • 二、五个问题
    • 1.如何给技能书添加参考文献或者详细知识?
    • 2.这个技能树的章节和小节等是如何确定的?是否有一本参考书?
    • 3.提交pr时这两个选项有什么作用?
    • 4.这个项目预计的开发周期是多久?
    • 5.以这个项目为例,如何让开源社区有更多人参与呢?

一、作业要求

这个作业的要求是: 第二次作业:对你感兴趣的开源项目提问题

我提问的开源项目是:开源的技能树

二、五个问题

1.如何给技能书添加参考文献或者详细知识?

我想先看看已经有的技能树是什么样的,于是找到了如图已经上线的CS入门技能树
《开源软件开发导论》作业2_第1张图片

已有的CS入门技能树里每一部分的题目都有自己相对应的参考资料。
但是我读完了开源技能树的README文档,里面似乎只有添加习题的方法,而并没有说明如何添加像上面图中的参考资料,那么我们要如何添加题目相关的详细信息呢?

2.这个技能树的章节和小节等是如何确定的?是否有一本参考书?

这是仓库里的代码目录,可以看到从不同难度到不同知识点都给出了章节、小节等,可以看出里面暂时还没有内容,我猜测应该是期望大家一起往里面加入题目。

skill_tree_opensource
├─data
│  ├─1.开源软件开发初阶
│  │  ├─1.开源软件背景知识
│  │  │  ├─1.开源软件基本概念
│  │  │  ├─2.开源软件的发展历史和现状
│  │  │  ├─3.开源的商业价值
│  │  │  └─4.开源的经典理论
│  │  ├─2.开源软件开发入门
│  │  │  └─1.HelloWorld
│  │  └─3.开源软件开发的基本概念
│  │      ├─1.开源平台
│  │      ├─2.开源社区
│  │      ├─3.开源项目
│  │      ├─4.开源生态
│  │      └─5.开源协议
│  ├─2.开源软件开发中阶
│  │  ├─1.开源软件开发方法与支撑工具
│  │  │  ├─1.代码管理
│  │  │  ├─2.社会化协同开发
│  │  │  ├─3.issue管理
│  │  │  ├─4.持续集成
│  │  │  ├─5.开发运维一体化
│  │  │  ├─6.激励机制
│  │  │  ├─7.代码安全管理
│  │  │  └─8.开源社区中跨语言、文化的合作
│  │  └─2.开源软件开发实践
│  │      ├─1.开源软件开发的候选项目
│  │      └─2.开源软件开发的注意事项
│  └─3.开源软件开发高阶
│      ├─1.开源软件研究
│      │  ├─1.开源资源的收集
│      │  ├─10.开源社区健康度
│      │  ├─2.开源软件仓库挖掘
│      │  ├─3.开源社区分析
│      │  ├─4.智能软件工程
│      │  ├─5.开发者、开发资源推荐
│      │  ├─6.代码补全与注释生成
│      │  ├─7.缺陷定位与修复
│      │  ├─8.开源软件供应链及安全性分析
│      │  └─9.开源项目发展潜力预测
│      └─2.开源的发展趋势与未来展望
│          ├─1.开源软件和开源硬件的发展趋势
│          └─2.开源的未来展望
└─参考资料

我想问的是该项目是否有一个参考书作为目录的确定来源,作为这个技能树项目的大纲。如果没有,那么这些知识点是如何组织成现在的顺序的。
现在虽然有了目录,但是里面还是没有具体信息,某些部分可能造成歧义。不仅是学习者,想参与项目贡献也可能对目录的理解不一样,而把对应题目放错位置。

比如在1.开源软件开发初阶/2.开源软件开发入门,这个入门是指要真正参与进了项目,还是仅限于了解一些知识即可?
如果是前者(让读者去真正进入开源社区中提issue、pr等)我觉得放在2.开源软件开发中阶/1.开源软件开发方法与支撑工具之后可能更合适?在介绍完如何在开源开发中使用一些工具再入门参加一些项目。
如果是后者,可能需要一个大纲进行限制和说明,知识和题目范围只需要给读者一个纲举目张的效果即可,更具体的部分放在后面。

3.提交pr时这两个选项有什么作用?

《开源软件开发导论》作业2_第2张图片

第一个选项的说明文档中提到会不会包含提交的信息,是指在提交pr时忽略我fork后仓库的commit时加的消息吗?

《开源软件开发导论》作业2_第3张图片

第二个选项如果我没理解错,应该是原仓库的作者可以修改我fork的仓库,那为什么这个选项无法启用?我没有把fork的仓库设为受保护的分支或什么别的选项。

4.这个项目预计的开发周期是多久?

《开源软件开发导论》作业2_第4张图片
《开源软件开发导论》作业2_第5张图片

在它所属的CSDN-技能森林中,已经有许多已经上线的技能树了。而这个开源技能树目前还是只有一个目录的情况,那么预计多久能完成呢?或者其他已经上线的技能树从设立到可以开放做题用了多久?

5.以这个项目为例,如何让开源社区有更多人参与呢?

这是本项目的情况《开源软件开发导论》作业2_第6张图片
这是同属于同属于CSDN-技能森林的其他项目
《开源软件开发导论》作业2_第7张图片
《开源软件开发导论》作业2_第8张图片

可能是因为还处于开始阶段,同属于CSDN-技能森林的其他项目中issue和pr都不是很多,那么如果要进行开源开发,如何增加社区的活跃度?或者如何对自己的项目进行宣传?

你可能感兴趣的:(开源软件,软件工程)