38
1 | Internal use only | Internal use only 北北北北北北北 北北北北北北北 | www.bsechr.com.cn | www.bsechr.com.cn 1 北北北北北 北北北北北 · · 北北北北北 北北北北北 —— —— 北北 北北 Linux Linux 北北 北北 20 20 北北北北1991-2011 1991-2011 北北 北北 [email protected] [email protected]

Open Source and Linux introducion

  • Upload
    bsec

  • View
    665

  • Download
    13

Embed Size (px)

DESCRIPTION

Open Source and Linux introducion

Citation preview

Page 1: Open Source and Linux introducion

11 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn1

开源筑事业开源筑事业 ··贡献兴社区贡献兴社区———— 纪念纪念 LinuxLinux 诞生诞生 2020 周年(周年( 1991-20111991-2011 ))

佟辉 佟辉

[email protected]@linux.com

Page 2: Open Source and Linux introducion

22 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

内容精要内容精要

Page 3: Open Source and Linux introducion

33 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

关于我

佟辉曾经做过单片机开发和基于ARM的汽车电子娱乐终端开发,现担任北航嵌入式培训讲师。近年来投身参与开源社区建设,参与汉化开源游戏和一些开源软件,现为 Linux基金会成员,北京GNOME用户组宣传总监。作为众乐开源工作室核心成员,积极推进嵌入式系统的开源和社区化运作。

E-mail: [email protected]

BLOG: http://tonghuix.blog.chinaunix.net

微博 : @tonghuix

Page 4: Open Source and Linux introducion

44 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

内容精要

开源世界简史 开源文化速读 蓬勃发展的开源社区 构建自己的开源事业 让代码再飞一会 !

Page 5: Open Source and Linux introducion

55 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

开源世界简史

Page 6: Open Source and Linux introducion

66 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

Page 7: Open Source and Linux introducion

77 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

开源世界大事记1970 – UNIX系统诞生1984 – Richard Stallman宣布成立GNU计划与自由软件基金会,并于1989

年发布第一版GPL(GNU通用公共许可协议)1991 – Linus Torvalds 发布 Linux 0.01 版1993 – 第一个 Linux 发行版 Slackware 1.0 发布1994年3 月,Linux1.0问世,约有17万行代码。它按完全自由免费的协议发布,源码必须完全公开,之后很快Linux正式采用GPL协议。

1997 – Eric Raymond发表开源世界著名论文《大教堂与市集》1998 – VA Linux System公司股票上市,创造开市奇迹1998 – Netscape公司改组为Mozilla基金会 开源软件Mozilla Firefox正式发布1998 – Red Hat(红帽)公司在美国成功上市

Page 8: Open Source and Linux introducion

88 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

开源世界大事记(续)

1998 - Linus 出现在福布斯杂志的封面上,该期杂志内有一篇文章对 Linux予以高度的评价。从此,越来越多的普通人开始听说 Linux

1998 – 开源软件促进会(OSI)成立1999 – Linux 2.2发布2001 – Linux 2.4发布,加入更多特性,开始支持嵌入式设备2003- 开源嵌入式的概念被首次提出2004 – Linux 2.6稳定版发布,Ubuntu发行版诞生2007 – Linux Foundation(基金会)成立2007 – Richard Stallman发布GPLv3

2008 – 基于 Linux的Google Android系统发布2009 – Linux基金会发布Meego手机/平板项目2011 – 庆祝 Linux成立20周年

Page 9: Open Source and Linux introducion

99 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

UNIX—— 伟大 ·光荣 ·正确

UNIX的历史开始于 1969 年 ken Thompson , Dennis

Ritchie(即著名的 K&G , C 语言的发明人)在一部 PDP-

7 上进行的一些工作,后来这个系统变成了 UNIX

1970:第一版的 UNIX,以 PDP-11/20的汇编语言写成。包括文件系统, fork 、 roff 、 ed等软件。

1973:以C 语言从头写过,这使得 UNIX修改容易,可以在几个月内移植到新的硬件平台上。最初 C 语言是为 UNIX

设计的,所以C与 UNIX 间有紧密的关系

Page 10: Open Source and Linux introducion

1010 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

Page 11: Open Source and Linux introducion

1111 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

GNU 与自由软件——英勇的先行者

GNU 计划和自由软件基金会 ( Free Software Foundation - FSF) 是由Richard

M. Stallman 于1984 年一手创办的。旨在开发一个类似 Unix 、并且是自由软件的完整操作系统:GNU 系统。(GNU 是 "GNU's Not Unix" 的递归缩写,它的发音为 "guh-NEW"。)各种使用 linux 作为核心的GNU 操作系统正在被广泛的使用。虽然这些系统通常被称作 "Linux",但是严格地说,它们应该被称为GNU/Linux系统。

到上世纪 90 年代初,GNU 项目已经开发出许多高质量的免费软件,其中包括有名的emacs 编辑系统、 bash shell 程序、 gcc 系列编译程序、 gdb 调试程序等等。这些软件为 Linux 操作系统的开发创造了一个合适的环境,是 Linux 能够诞生的基础之一。以至于目前许多人都将 Linux 操作系统称为 "GNU/Linu

x" 操作系统。

Page 12: Open Source and Linux introducion

1212 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

GNU 与自由软件——英勇的先行者

Page 13: Open Source and Linux introducion

1313 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

Linux —— 开源世界的急先锋

1991年,还在赫尔辛基大学念研究生二年级的 Linus

Torvalds 编写并发布了一个类 Unix的内核。这个内核被按照自由/开源软件开发的方式广泛传播、改进并迅速被改造成GNU/Linux 操作系统的核心。

1999年,GNU/Linux 厂商 Red Hat 以 48 亿美元的价值成功上市。当年其他成功的上市企业还有 VA Linux 的

70 亿美元,GNU/Linux 的成功也代表了其源头自由/开源软件的成功。

Page 14: Open Source and Linux introducion

1414 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

Linux —— 开源世界的急先锋

Page 15: Open Source and Linux introducion

1515 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

《大教堂与市集》—— 开源模式首现

“大教堂”:由一组技术精湛的团队完成开发、测试的全部工作。例如Emacs和大部分 GNU的自由软件

“市集”:由尽可能多的人参与开发与测试,使其更加完善。“ Given

enough eyeballs, all bugs are shallow”。例如 Linux

这个理论首先由Eric Raymond提出来,他研究了 Linux的成功以及其他GNU的开发模式以后,创造性的提出了大教堂与市集的两种开发模式。市集模式在开源世界被广泛使用, Linux 也成为这种开源开发模式的典范,被称作 Linus‘ Law。为开源软件的产生提供了理论基础,从此,开源软件也被称为自由软件的宣传与推广手段。自由软件事实上成为了开源软件的特例

Page 16: Open Source and Linux introducion

1616 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

Page 17: Open Source and Linux introducion

1717 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

自由软件与开源软件

自由软件(Free Software)强调的是用户运行、拷贝、发行、学习和改进软件的自由。自由软件赋予了用户如下 4个自由度:

0. 出于任何目的,运行软件的自由。 1. 学习软件如何工作,以及为了满足自己的需要修改软件的自由。(显然,这个自由度的前提是能够访问软件的源代码)

2. 为了帮助你的邻居,将软件拷贝给他的自由。 3. 为了能够让整个社团受益,公开发行改进之后的软件的自由。(显然,这个自由度的前提是能够访问软件的源代码)

Richard Stallman在1984年发起了自由软件运动。经过30年的发展,催生出了大量优秀、成熟的自由软件,应用领域涵盖桌面、服务器、娱乐、办公、企业信息系统、编程语言开发平台和软件工程管理,特别是在研发和运营支撑海量用户复杂互联网应用的互联网公司中有着极为广泛的使用。

Page 18: Open Source and Linux introducion

1818 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

开源软件与自由软件开源软件(英语:Open source software,英文缩写:OSS,中文也称:开放源代码软件)是一种源代码可以任意获取的计算机软件,这种软件的版权持有人在软件协议的规定之下保留一部分权利并允许用户学习、修改、增进提高这款软件的质量。开源协议通常符合开放源代码的定义的要求。一些开源软件被发布到公有领域。开源软件常被公开和合作地开发。

开源软件是开放源代码开发的最常见的例子,也经常与用户生成内容做比较。 开源软件的英文“ open-source software”一词出自 free software(自由软件)的营销活动中。

严格地说来,开放源代码软件与自由软件是两个不同的概念,只要符合开源软件定义的软件就能被称为开放源代码软件(开源软件)。自由软件是一个比开源软件更严格的概念,因此所有自由软件都是开放源代码的,但不是所有的开源软件都能被称为“自由”。但在现实上,绝大多数开源软件也都符合自由软件的定义。比如,遵守GPL和BSD许可的软件都是开放的并且是自由的。

Page 19: Open Source and Linux introducion

1919 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

开放源代码的特点

开源软件

再发行性

灵活性创新性

多重选择

Page 20: Open Source and Linux introducion

2020 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

开源文化速读

Page 21: Open Source and Linux introducion

2121 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

开源文化的特点

1.创新型而不是稳重型:Google VS Micro$oft

2.自由的感觉,无限包容每个人3. 讲贡献不求回报是最核心的理念4.“ 利他”型而不是“自私”型,每个人都是快乐而兴奋的,多

数时候往往是非盈利性5. 以技术为中心,以用户为服务对象,以共享技术为奋斗目标6. 名誉胜过一切,而贡献多少决定名誉高低6. 精英意识,小众文化7.共同进步广泛参与形成开源社区

Page 22: Open Source and Linux introducion

2222 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

开源社区

开源社区又称开放源代码社区,一般由拥有共同兴趣爱好的人所组成,根据相应的开源软件许可证协议公布软件源代码的网络平台,同时也为网络成员提供一个自由学习交流的空间。由于开放源码软件主要被散布在全世界的编程者所开发,开源社区就成了他们沟通交流的必要途径,因此开源社区在推动开源软件发展的过程中起着巨大的作用。同时,开源社区往往也有非常丰富的线下活动和聚会,为成员提供自由而愉快的真实体验

开源社区类型:门户型:提供与开源软件的信息、资源、、交流、传播与开发相关的平台,如:开源中国,

LinuxSir,LUPA等项目型:以开发维护特定项目为中心的组织,如 Ubuntu社区,Yocto开发社区等自发型:开源爱好者自发组织而成,如“哲思开源社区”,众乐开源工作室等地域型:特定地域开源爱好者组织而成,如北京Linux用户组,北京GNOME用户组,上

海Linux用户组,北京OpenParty等

Page 23: Open Source and Linux introducion

2323 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

参加全球和当地的开源社区组织:Linux Foundation

Ubuntu Forum 中文论坛Mozilla用户社区北京 Linux用户组 (BLUG, Beijing Linux User Group)

北京 OpenParty

北京 GNOME用户组众乐开源——开源嵌入式工作室……

全球开源盛会:LinuxCon 每年一次的 Linux开发者大会SFD(Software Freedom Day) 软件自由日……

Page 24: Open Source and Linux introducion

2424 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

Page 25: Open Source and Linux introducion

2525 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

构筑自己开源事业

Page 26: Open Source and Linux introducion

2626 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

两种就业模式

传统:企业往往要求项目和工作经验,刚毕业没有经验,而为了就业就必须去做项目——走不出的死循环!

开源:就业要求的项目经验可以参加开源社区毫无障碍的参与到项目中去,非常容易的获得项目经验,更让自己的技术水平让所有人都看得到,再也不用担心自己的能力无处展示!

Page 27: Open Source and Linux introducion

2727 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

北京中科红旗公司的一则招聘启事红旗Linux面向社区紧急招募中……欢迎您的加入Linux桌面系统集成开发工程师工作职责:--从事红旗Linux桌面的系统集成和开发工作职位要求:--熟悉Linux操作系统,有Linux/Unix平台开发的经验;--具备良好的C/C++基础,从事过实际项目的开发;--熟悉python/perl/shell等常用脚本工具语言中的一种或者多种,可阅读即可;--具备优秀的学习能力和团队意识;--具备一定的代码阅读和分析能力;--英语必须达到CET-4水平具备以下情况之一者优先考虑:--熟悉QT/KDE编程--熟悉设备驱动程序的编写

-- 参与过国际开源项目的开发--熟悉HTML/CSS等W3C规范并进行过相关解析器开发--熟悉postscript语言并熟悉Linux打印体系实现。

Page 28: Open Source and Linux introducion

2828 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

IBM 的一则招聘启事Linux kernel software engineer

Location: Shanghai, Beijing

Job Description

The Linux Technology Center organization in Greater China STG is seeking experienced open source software

engineers for design, development and test of Linux and other Open Source software products.

……(中间略)……

Requirements:

- Bachelor's degree or above, major in CS or EE related.

- Good English and communication skills

- Proven track record and at least 3 years of experience for Linux kernel development, device driver

development, KVM virtualization, performance tuning, or related

- Strong C programming skill and algorithm development skill

- Problem analysis expertise both in defect and performance issue resolution

- Experience in open source community is a plus- Knowledge of software development methodologies, Linux design and architecture is a plus

- Knowledge of powerpc architecture is a plus

简历发送至: [email protected]

Page 29: Open Source and Linux introducion

2929 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

开源社区式的就业途径

加入感兴趣的项目

参与开源社区积极贡献

提高技术水平

参加开源大赛或社区招聘

通过面试招聘成功就业

Page 30: Open Source and Linux introducion

3030 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

关注开源

关注开源 政府机构

专职开源的公司

培训机构

金融业企业

Page 31: Open Source and Linux introducion

3131 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

如何开始?

建立开源的理念,充分使用开源软件,理解常用开源规则关注感兴趣的开源项目,深入阅读和学习开始项目贡献,汉化、文档、报 BUG或宣传推广等工作

深入参与社区的各种活动积累名誉提交代码和获得更高的权限社区招聘或者参加开源大赛并获得Mentor的首肯由 Mentor推荐工作

Page 32: Open Source and Linux introducion

3232 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

如何提高自己的技术水平?

1. 大学期间努力学习,尤其是专业之外的自学2. 工作中自学相关,额外加班学习3. 参加技术类的培训4. 在开源社区里找 GURU,或者参加社区内部的讲座(一般都是公益的)

5. 和开源社区里的Mentor搞好关系(一般 Mentor 都希望带有技术基础的)

Page 33: Open Source and Linux introducion

3333 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

成功案例

程大龙2010年北航本科毕业工作时间: 1年现任职:Oracle公司

Solaris 桌面测试经理工作地点:美国硅谷大学 4年参加OpenSolaris社区长期做汉化、文档和测试大四参加Google Summer of Code,

受到Oracle公司一个Mentor的器重

Verry Fan工作 5年,参与开源社区 4年现任职:创新科技 – 软件工程师工作地点:北京 -德国毕业于北京工业大学,热爱音乐及软件开发,混迹于音乐制作和开源社区 MuseScore开发,翻译,现在是开源社区著名的Mentor

发现和提拔了很多有志从事开源工作的人

Page 34: Open Source and Linux introducion

3434 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

让代码再飞一会!

Page 35: Open Source and Linux introducion

3535 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

从现在开始: 上网搜索自由/开源软件的历史,了解开源社区文化 阅读 Eric Raymond的开源理论 参加任意开源社区的活动 弃用M$ Office,转移到开源 Libreoffice

弃用 IE,转移到开源的 Firefox或者 Chrome

弃用一切闭源软件,用开源软件替代(甚至手机端) 学会使用邮件列表,懂得邮件列表礼仪 学会使用 IRC,和全球各地的开源爱好者零距离沟通 学会使用WIKI( 维基),懂得文档的重要性 卸载Windows系统,安装你喜欢的 Linux发行版 ( 或者安装双系统 )

Page 36: Open Source and Linux introducion

3636 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

寄语

启智开源·编码自由Open Mind, Coding For Free

Page 37: Open Source and Linux introducion

3737 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

更多关于开放源代码:

电影《操作系统革命》(Revolution OS)

Page 38: Open Source and Linux introducion

3838 | Internal use only | Internal use only 北航嵌入式培训北航嵌入式培训 | www.bsechr.com.cn| www.bsechr.com.cn

Let's Do It!

Thanks for Listening!

佟辉 [email protected]