提交 0a1598d3 编写于 作者: SoftwareTeacher's avatar SoftwareTeacher

Merge branch 'master' into 'master'

增加了开源的领域知识

See merge request !22
开源软件开发导论 - 第一章
## 开源教学的挑战
我们这个课程的目的,是要向学生介绍:
1)开源是什么(what)
2)为何有开源 (why),开源是如何发展到今天的状态的 (how)
3)作为 IT 专业人士,我们应该如何利用开源来实现我们的目的(what - how)
开源:开源是将源代码、设计文档或其他创作内容开发共享的一技术开发和发行模式。 在开源模式下,通过许可证的方式,使用者在遵守许可限制的条件下,可以自由获取源代码和其他资料,并可以使用,复制,修改和再发布。 (2022 中国开源发展白皮书)
开源的实践利用到了:软件工程学、管理学、社会学、经济学和法律学等知识。
开源活动的参与者在各种 ”开源社区“ 中活动,不同的角色从这个”社区“ 想达到的目的是不一样的。
参与开源的技术工程人员:利用开源社区学习,解决问题,发布宣传产品,让自己获益。
参与开源的企业:专注于如何让企业从开源社区中获得短期和长期的利益,关注开源的安全合规,以及和企业治理相关的问题。
开源平台的构建和维护者:如何为各种角色服务,让开源生态在自己的平台得到可控的良性发展,实现平台的商业和非商业目标。
参与开源的研究者:研究开源的各个角色在数字空间中大规模协作背后的规律,进而为社区治理与运营提供指导。
#### 开源的领域知识
开源的领域知识具有非常强的实践性,需要亲身实践才能体会和掌握(就像游泳一样)。 开源的领域知识的不少部分都是属于 “暗默知识 (tacit knowledge)”,它们源于个人的亲身体验,是与个人信念、视角、和价值观等精神层面密切相关,是一种 “行动中的知识”。 很多概念和原则,是要通过亲身体验,反复行动才能深刻理解的。
学习了这门课,有了一定的开源的领域知识和实践的经历,你获得了什么?
1)证明你有一定的专业知识,可以在开源社区工作。
2)证明你能和许多不同特点的人一起合作达到一个目标。 这说明你具备一定的 “沟通管理” 的实战技能。
3)你在开源社区的贡献,是你简历和声望的重要部分,它们为你将来的工业界和学术界的发展奠定了很好的基础。
4)为你在开源领域做学术研究做了一些初始的准备。
## 开源的发展历史
(1)通过对比闭源软件,介绍开源软件基本概念、发展历史、国外开源软件发展现状(1学时);
......@@ -78,12 +102,33 @@ Beyer, Kurt W.. Grace Hopper and the Invention of the Information Age (Lemelson
3. 1980 - 1990 年代: 开源的商业萌芽
商业版权: 导致 Unix 的碎片化, 导致商业发展的停滞和版权纠纷。 Macintosh, DOS, Windows, Windows NT, OS/2 ...
自发的开源项目从萌芽阶段发展: MINIX, Linux 等开源 OS 等产生。 MySQL, Apache,PHP。
"Talk is cheap. Show me the code." - Linus Torvalds
技术极客(geek)更专注于软件创新的核心:源代码。
----
Linus Torvalds 的 comp.os.minix 讨论帖子:
1991/8/25:
Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-)
Linus (torvalds@kruuna.helsinki.fi)
PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(.
— Linus Torvalds
----
4. 2000 - now 高速发展阶段
几乎所有的软件都有开源的替代产品。
互联网技术和产业的几次潮起潮落让开源成为一个实用而可以操作的选择。
高端:Sun 的工作站,Cisco 的网络设备,EMC 的存储,Oracle 的数据库。
低端:LAMP: Linux, Apache 网站服务器,MySQL 数据,PHP 脚本语言。
高端:Sun 的工作站,Cisco 的网络设备,EMC 的存储,Oracle 的数据库。 (硬件+软件费用轻易就能达到 百万美元/年)
低端:LAMP: Linux, Apache 网站服务器,MySQL 数据,PHP 脚本语言。 (软件是免费的)
企业 IT 服务: scale-up. 买越来越高级的专用服务器和商用软件 转向 scale-out: 用便宜的硬件和软件取代.
企业 IT 战略: build or buy? 购买专用服务(被锁定) vs 自己构建 (技术和人力成本)。 原来只能二选一,现在 开源可以有一个混合模型,满足企业需要。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册