[oeasy]教您玩轉(zhuǎn)python - 0006 - 自由軟件運動和開源運動
順序執(zhí)行 ??
回憶上次內(nèi)容
上次寫了10000行代碼
10000行代碼 都是寫在明面上的
人家一下載
py
文件就能看個明明白白
修改或者運行程序都很方便
這程序全都這么公開出來
大家隨意修改
好么?
編寫程序的人怎么掙錢呢???

軟件授權(quán)
很多的商業(yè)軟件的軟件
用戶不能看見源代碼
更不能改寫源代碼

c4d 或者 photoshop
都看不到源代碼
只能下載可以運行的安裝包

軟件是隨著計算機從無到有的
這種可以無限復(fù)制的東西怎么會成為商品呢?
公開信
比爾·蓋茨給計算機愛好者寫了一封公開信
他把私自拷貝軟件的人定義為盜竊者
雇傭人手寫B(tài)asic程序
把愛好和樂趣變成了雇傭關(guān)系

軟件公司越來越多
軟件制作逐漸從愛好者的分享
變成了商業(yè)公司盈利的手段
利潤確保商業(yè)軟件公司可以擴大雇傭規(guī)模
使得軟件行業(yè)進化加速
銷售的對象是許可證
序列號(licence)
成就了最大的軟件公司
微軟(microsoft)
這種許可證是什么時候有的呢?
許可
由軟件商進行授權(quán)
用戶通過付費得到使用的授權(quán)許可

python不一樣
python是開源的
直接就能看到源代碼的
開源的軟件有利于
分享
傳播
演化
python也有許可證
現(xiàn)代的許可證 license
給用戶更多權(quán)利
而不是向用戶索取利益
比如 GPL 許可證
GPL
GPL 又稱為 Copyleft
這是從 Copyright 來的
copyright 有多個含義
copy 是復(fù)制
right 是權(quán)利
copyright指的就是復(fù)制的權(quán)力
圖書時代復(fù)制靠的是雕的版
所以copyright也指
版權(quán)
那copyleft呢

copyleft 后面是 left
表示這是和 copyright 完全相反的
著佐權(quán)
這是誰提出來的呢?
stallman
理查德·馬修·斯托曼出生在紐約
從小喜歡計算機

長大了之后加入了哈佛和MIT
成為一名計算機工程師
在mit的人工智能研究所工作
當(dāng)時的mit是黑客文化的核心所在
stallman 被稱作 rms
自由軟件
面對商業(yè)軟件公司的崛起
軟件從愛好者的玩具
變成了商人謀利的工具
軟件行業(yè)由于商業(yè)利益而變得封閉
1983 年
30+歲的時候rms辭了 MIT 的工作
發(fā)表了著名的 GNU 宣言
目標是創(chuàng)建一套完全自由的操作系統(tǒng)
GNU (GNU's not unix)
當(dāng)時他說「軟件的自由就是人類的自由」

這里面說這自由包括 4 個層面的概念
自由運行軟件
自由學(xué)習(xí)和修改軟件源代碼
自由再發(fā)布軟件
自由發(fā)布修改后的軟件產(chǎn)品
這就是最開始的自由軟件運動
根據(jù)這些原則發(fā)布了新的許可證類型
許可證
典型的新許可證就是GPL

GPL 授權(quán)對被授權(quán)者是有要求的,重點強調(diào):
和大部分開源軟件一樣,作品放在這里,你可以用,作者不為任何物理損失負責(zé)
如果你,基于這個作品衍生了新的作品,那么這個新的“作品”,必須符合 GPL 協(xié)議,否則你就失去原作品的授權(quán)
符合 GPL 協(xié)議的作品,在提供給它的使用者的時候,必須同時提供該作品的 GPL 源代碼,不能對使用者做出限定
為什么會有GPL呢???
媒介變化
這是由軟件本身的媒介特性決定的
我們先看看之前的媒介
報紙、雜志、書籍
都需要具體的紙張和油墨的原子做成產(chǎn)品

需要造紙廠、印刷廠
也需要郵局、書店、圖書館
視聽媒體
黑膠、磁帶、cd都需要物理原子的制造
和物理原子的存儲和物流

膠片拷貝、錄影帶
也是如此

原來都得有個物理介質(zhì)
存儲、運輸都有費用
所以唱片公司、影視公司需要經(jīng)營這些
計算機時代
現(xiàn)在內(nèi)容都是計算機中的0101
不需要物理的原子作為介質(zhì)了
也不需要專門的空間存儲
更不需要專門的運力做物流

基本單位從原子變成了電子
就連打開這些媒體的軟件
也一樣都是0101
就連這些軟件所用的系統(tǒng)
也一樣都是0101
就連開發(fā)這些軟件的工具
也一樣都是0101
復(fù)制傳播的成本幾乎為零
大公司視圖收取軟件許可證的思路被自由軟件運動抵抗
很多軟件開發(fā)者把源代碼公開出來
開源運動
自由軟件運動有很強的人文色彩
開源運動對于軟件就事論事

吸引著大量用戶參與其中
linux內(nèi)核
一個大二的學(xué)生叫 Linus
對編程很感興趣

開發(fā)出來了 Linux 內(nèi)核

在 0.02 版后
來自世界各地的程序員加入到了 Linux 內(nèi)核的開發(fā)中
Linux 也是用 GPL 協(xié)議開源
傳染性開源
是因為只要用它你也得開源
著作
1997 年
出了一本非常有名的書——《大教堂與集市》
被譽為說是開源界的圣經(jīng)
開源運動的宣言
作者 Eric Ryamond

Eric Ryamond 把普通的這種商業(yè)公司和包括 GNU 的這種開發(fā)模式
比作教堂
有詳細的藍圖、模板,有一步一步的操作流程
把 Linux 這種開發(fā)模式比作是集市
沒有強制性的分工
任何人也可以隨時離開
這些是在大公司里面沒有的
Eric 實際上覺得這種 Linux 的開發(fā)模式
比大公司的官僚主義的模式先進自由得多
這也就是他成功的原因
他把這種模式和通過這種模式產(chǎn)生出來的代碼叫做開源軟件
自由軟件運動逐漸變成了開源運動
開源運動比自由軟件運動現(xiàn)實
但是開源軟件可以被社會和法律所接受嗎?
法律
開源協(xié)議最終被在法律上面被承認了
通過 Jacobsen vs Katzer 這個案子
Bob jacobsen 在開源網(wǎng)站 Source Forge
建立了 JMRI (java modell railrode interface)
該項目的部分源代碼被 Matt Katzer 與其公司 KAMIND 利用到產(chǎn)品中
但沒有遵循條款
該產(chǎn)品沒有提及原作者的名字
沒有說明源代碼來源
沒有將所開發(fā)的新版本軟件放在指定的開源網(wǎng)站上供公眾下載
也沒有在軟件包中說明該版本軟件與 Jacobsen 開發(fā)的標準版軟件的區(qū)別

2006 年
Jacobsen 向舊金山聯(lián)邦法院起訴 Katzer 與 KAMIND 公司侵害著作權(quán)
并據(jù)此向法院提出臨時禁令的申請
要求法院下令禁止 Katzer 與 KAMIND公司繼續(xù)發(fā)布、銷售侵害著作權(quán)的產(chǎn)品

最終勝訴
形成判例
國內(nèi)的現(xiàn)狀如何呢?
國內(nèi)現(xiàn)狀
目前國內(nèi)市場定制開發(fā)軟件的需求越來越少
現(xiàn)在更多的是網(wǎng)站和移動應(yīng)用
把代碼藏起來是沒有用的
源代碼的開放是發(fā)展的趨勢
開放源代碼可以讓更多人才參與開發(fā)、修改和傳播
linux、debian、vim、python、firefox、blender、unreal 都是開源的
已經(jīng)形成潮流

這樣的個人軟件開發(fā)者主導(dǎo)的開源項目獲得了巨大成功
參與的人越多
知名度越高
項目就越多人參與
參與的人越多
知名度越高
項目就更多人參與
開發(fā)者和參與者因為項目的活躍
有大量的賺錢機會
從而有更多時間可以投入項目
軟件之外
不但軟件
硬件、游戲、甚至虛擬角色歌姬等等方面
開源項目也越來越多
甚至riscv的cpu架構(gòu)都已經(jīng)出現(xiàn)了
我們所學(xué)的python就是完全開源的軟件
python3的這個程序的源程序在哪里呢?
cpython
https://github.com/python/cpython
python游樂場 的源代碼是完全公開的
不過時代的洪流是從最早的水滴開始的
在開源沒有興起之前 python 是如何發(fā)展的呢?
看到上圖中的這個人了么?
更新代碼最多的人
也是最早寫python代碼的人
他就是python語言之父
他叫什么名字呢?
他是怎么把自己的python項目做成世界第一的語言的呢?
總結(jié)
計算機本身的特性決定
計算機保存?zhèn)鬟f的是電子
而不是原子
這就使得存儲和分發(fā)的成本幾乎為零
在這樣的物理基礎(chǔ)上
出現(xiàn)了自由軟件運動
從rms提出的free software 開始
到gnu研發(fā)的各種軟件
自由軟件運動之后出現(xiàn)了開源運動
提倡把源代碼開放
也被大量的商業(yè)公司所跟隨
python其實是
一個典型的開源項目
自由軟件標志性的語言
是誰制作出了python這個語言呢?
我們下次再說!??
github:https://github.com/overmind1980/oeasy-python-tutorial
gitee:https://gitee.com/overmind1980/oeasypython 作者:oeasy