| 作者:苏斌
| 编辑:王玥敏
作者:课程助教 苏斌
主讲:庄表伟 - 开源社理事长
庄老师今天以开源技术简介及其发展趋势为主题带来了生动的讲解。本次课程主要内容为“开源是什么?”、“为何要学习开源?”、“如何学习开源”和“如何成为开源社区的一份子?” 四大板块。
开源是什么?
“开源”的官方定义( OSD )仅有简单的 10 条,规定了符合开源的 10 个特征。当然开源的背后包含社会学、心理学、经济学甚至法律之间相互交叉。
从开源的历史发展脚步来看,从最初的纯粹代码交流、不考虑商业利益的行为,再到“黑客伦理”的出现,再到为了商业利益而封闭代码,再到互联网志愿者的分布“反抗”,到今天的企业开始拥抱开源,开源已经来到了一个大繁荣阶段。
为何要学习开源?
软件工程经历了三个发展阶段:军工驱动、商业软件驱动以及互联网驱动。而推动软件工程不断发展的几股力量中,开源软件的出现极大改变了软件开发行业:可复用的开源组件成为软件开发的基石;同时开源软件开发模式对于商业软件的开发也有很多启示。今日的软件工程师不仅仅是使用工具开发软件的人,也是开发工具的人。
对于职业生涯发展来说,庄老师提出了如下建议:
- 理解开源的逻辑
- 理解开源对于软件开发、软件工程的影响
- 关注业界最新发展方向
- 积累相关技能
如何学习开源?
报名参加本《开源训练营》就是一个良好的起点(*^_^*);
接下来找到自己感兴趣的开源项目或开源社区,投入贡献;
此外,提高自己的搜索技能以及掌握基础知识也是很重要的。
如何成为开源社区的一份子?
首先找一个自己感兴趣的项目,打入社区,和社区的人“混熟”;
接下来阅读社区的交流记录( Issue list , Mail list , Pull request list );
从一个用户(软件使用者)做起,下载编译安装使用软件,你会发现一些软件中的 bug ;
当然我们要做一个合格的用户,学会如何向社区报告这个 bug ;
甚至你可以自己尝试修复这个 bug ;
人人为我,我为人人:在社区中回答别人的提问,从易到难完成社区任务。
Q&A节选
Q:开源协议的具体使用?
A:组织一般有法务部,负责研究相关软件的责任与义务问题。商业软件中若含有开源内容,必须注意协议的兼容性。
Q:非计算机专业的同学可以加入开源社区吗?
A:任何人都可以作为开源贡献者(社区组织、运营等方面),不限于计算机专业的人士。
Q:技术一般,如何做出贡献?
A:若第一次提交代码,系统会自动标注,告诉社区其他人注意审查代码问题,并提醒欢迎新人。
Q:大一新生,有什么建议?
A:学完这门课。
Q:如何看待 KPI 开源项目
A:反对的是错误的 KPI 。不要设定虚荣性指标(下载量等),对开源软件本身发展没有帮助。应设立项目能吸纳多少参与者参与社区共享的指标(比较难)。
记得点击下方原文链接参与活动报名哦。
活动回顾视频
扫描下方二维码观看视频
开源社简介
开源社是由国内外支持开源的企业,社区及个人,依“贡献,共识,共治”原则,所组织的厂商中立、纯志愿者、非营利的开源联盟,旨在共创健康可持续发展的开源生态体系,并推动中国开源社区成为全球开源软件的积极参与及贡献者。我们专注于开源治理、国际接轨、社区发展和开源项目。
相关阅读 | Related Reading
活动回顾丨ALC Beijing 首场 Meetup:《开源到底有多难?》
工信部携码云 Gitee 入场,国内开源生态建设进入快车道
指控 NGINX 串谋侵吞的诉讼
喜欢本篇内容请给我们点个在看