Facebook在代碼裡下毒,百度身受重傷
今天,差評君在逛知乎時看到瞭一個問題別細看這圖,我賭你看不懂。。。
嗯。。。就是百度內部要求他們的程序猿不要再使用一個叫 React的開源產品的代碼瞭。而且,現有的已經使用過這些代碼的產品要改寫!(其實幾乎有很多要重寫瞭)。所以,估摸著他們要加班瞭
有差友會問 React 是毛啊?這是 Facebook 搞的一套賊好用的前端開發工具,它能提供一些很好的效果,別的開發者可以免費拿來在它的基礎上去做自己的產品,為瞭更多人更好的使用它,Facebook 把這東西開源瞭。(免費和開源還不太一樣,差評君下面說)
基於 React 的前端效果
這次出問題主要是因為 React / React Native 工具的開源協議 Facebook BSD + PATENTS。整天聽差評君沒事兒就扯什麼開源,Github 啊什麼的,不太懂編程的差友們可能覺得差評君在裝嗶。那麼,今天就好好說說開源的事兒。
開源軟件和免費軟件不是一個意思,開源軟件的源代碼是公開的(感覺像是句廢話?),但免費軟件不一定。
舉個栗子,有兩個好人 A 和 B 都願意免費給你提供食物,但是好人 B 告訴你他的制作菜譜,而 A 隻讓你吃。
這區別就大瞭。。。首先,“ 免費的程度 ” 不一樣。(這個比喻很奇怪但確實可以這麼理解)
如果 A 哪天突然要找你收錢瞭,那你隻好要麼不吃,要麼就換個途徑獲取食物,因為你隻從 A 這裡獲得做好的食物,你自己還是沒辦法做。
但從 B 這裡你獲取的是菜譜,你可以自己做,所以對於 B 來說收錢一般是沒什麼意義的事情。(還是存在可能有的人覺得 B 做的好捐款的)
其次,可以修改。如果你覺得 A 的食物不好吃,你要麼不吃,要麼給 A 提個意見,要麼含著淚咽下去。。。如果你覺得 B 的食物不好吃,你可以適當的根據食譜來修改一下,做出自己喜歡的食物,成本也不高,就是買買菜而已。
在計算機剛出現的時候,用計算機的人都是專業研發人員,大傢寫出來的程序都會分享源代碼,方便給大傢解決問題,本著類似於學術鉆研的態度在搞軟件。
後來,軟件規模和復雜度越來越大,計算機越來越平民化和普及,有的商業軟件公司為瞭保護技術和維持盈利,開始對軟件閉源,這樣用戶就無法知道原理瞭。
微軟當時的老大比爾 · 蓋茲在私有軟件的推廣上起到瞭重要的作用,認為軟件具有知識產權,讓開發者僅僅靠熱情去無償開發和維護軟件是不太合理的。
微軟的 BASIC 編程軟件
不過軟件業並沒有因此漸漸完全走向閉源,而是產生瞭分化,形成瞭開源和閉源觀點對立的情況。這就不得不提一個開源社區舉足輕重的人物(他本人也真的很重,是個大胖子),他叫 Richard Stallman。(這個人差評君講過,傳送門)
Richard Stallman
當時許多開發者們看著 UNIX 操作系統從開源慢慢走向商業化和閉源感到痛心疾首,於是這位仁兄發表瞭 GNU (GNU is not Unix)宣言,號召大傢一起做一個開源的操作系統,裡面運行的所有的軟件也都是開源的。畢竟槍桿裡面出政權,你收費我就起義!
接著,他用法律術語寫瞭一份通用公共許可證 (General Public License ,簡稱 GPL ),放今天講就是一份開源協議。
遵循 GPL 的項目有這麼幾條規則:
軟件誰寫的著作權就是誰的
誰都可以用這個開源項目做任何事情,而且與原作者無關
誰要是用瞭這個軟件的源代碼,那麼他的作品也必須遵守 GPL,也得開源
在之前那個吃飯的例子裡講,上面的話就是你改良瞭某人的菜譜,那麼你也得公開你的菜譜。
為什麼要幹這種有錢沒得賺吃力不討好的事情?因為一旦遵循瞭這樣的協議,開源項目可以集中大傢的智慧去得到改良,熱愛自由的開發者們可以形成一個社區一樣的環境來交流技術。比如說著名塑膠回收押出機|廢塑膠再生製粒機的版本控制服務網站 Github 上就有大量的開源項目
現在除瞭 GLP,還衍生出瞭其他的開源協議。
塑膠熱融押出
文章開頭提到的 Facebook BSD + PATENTS 就是開源協議的一種~但它到底有什麼問題,以至於讓百度寧可費這麼大力氣重做他們的東西都要棄用這個協議的產品呢?
因為根據協議內容,隻要你在用 Facebook 傢的 React 在做項目,那麼 Facebook 可以反過來用你的項目專利,而且和 React 無關的專利 Facebook 也可以用。
同時你還不能告他侵權,否則你就會失去 React 的授權,Facebook 可以先告你!
其實 React 挺好用的
可能差友們對於百度的印象不太好,但這回是 Facebook 做的不太地道,因為根據這個開源協議,百度的人工智能,自動駕駛等等專利都可能受到威脅,這一點 Facebook 的這個協議確實有點太流氓瞭。而且不光百度,Apache 也因為開源協議的原因禁用瞭 React。
Apache 軟件基金會支持瞭很多不錯的非營利性開源項目
其實在科技圈,因為這個開源協議鬧出來的么蛾子事情還真不少。。。還記得這個少年創業傢麼?
他的產品被原作者指抄襲。
這個 00 後搞瞭個叫貓桌面的東西。
這個東西抄襲瞭另一個作者的開源代碼,叫 “ 墨鏡貓 ”
連名字都還叫 “ 貓 ”,你這抄襲也忒不走心瞭吧。。。
差評君去開源庫裡看瞭看,發現原作者發現被抄襲瞭之後,更改瞭開源協議,改成瞭差評君之前說的 GPL
有趣的是,他還在改動日志裡罵瞭幾句娘。。。
這就是典型的不遵守開源協議的案例。再比如說區塊鏈熱潮中的一個叫量子鏈的項目,圖為知乎匿名網友扒出來的開源協議問題。網友稱其沒有遵守 GLP 協議
廢塑膠處理濾網|處理廢塑膠垃圾濾網
一直以來開源項目的公開透明讓不少別有用心的人鉆瞭孔子,這實在是違背瞭開源社區的初衷。但有些公司還在協議裡打著保護知識產權的幌子耍流氓。。。比如 Facebook 這樣本身有著技術卻去污染開源社區的行為受到瞭許多爭議。
還有人把 Facebook 的點贊倒過來 diss 瞭一下
開源本身的目的是讓軟件項目和科研項目一樣,互相分享知識,讓前人給後人發明的工具,讓後人更好地改變世界。而做這樣的事情,是需要很大的熱情的,所以差評君覺得私有軟件也沒有錯,程序員也是要吃飯的。但是,拿開源去搞一些不正當的行為,用大傢的美好夢想去填充自私的欲望,這樣的行為真的不合適。
關註微信公眾號差評(chaping321)或者微博@差評君,今晚發佈iPhone 8 上手測試以及抽獎送iPhone 8!
- 塑膠熱融押出 塑膠回收押出機|廢塑膠再生製粒機專業服務廠商
- 塑膠回收押出機|廢塑膠再生製粒機 急尋廢塑膠加工|廢塑膠處理工廠處理濾網燃燒問題
- 廢塑膠熱熔處理|廢塑膠熱熔押出 急尋廢塑膠加工|廢塑膠處理工廠處理濾網燃燒問題
留言列表