對話莊表偉:開源第一課

c654fb1af8a1de96e74cfab38c0356c8.gif

230789cd16e5a3b93283aff3b5207ba0.jpeg

莊表偉目前就職于華為的開源管理中心。自2014年開源社成立之初,他便友情參與了開源社的籌辦工作。2017年,開源社轉型為完全由個人成員組成的組織,莊表偉就以個人身份加入了開源社。作為開源社理事,當被問到“為什么要參選”時,莊表偉說道:“因為義不容辭。我希望能夠以開源社理事的身份,繼續做更多開源相關的工作。這是我的樂趣所在,也是我的責任所在。”

樂趣、責任,兩個詞織就了莊表偉本職工作和業余生活這兩塊絢爛的畫布。他曾經這樣形容開源的內核——“開源能推動我走到現在是因為開源的內核就是好玩”。他喜悅于布道者的身份履行其職責,把這份好玩與喜悅傳遞給更多的人。

開源擁有巨大的價值,這一點他也常在布道中反復提醒人們善用這巨大的寶藏。在一次專訪中,他提到,開源提供的開放環境能夠讓一個團隊走出永遠在加班的死循環,讓團隊抬頭看到外面的新技術、新方向,最終使得團隊創造更高的價值。

從開源文化到開源商業化,從開源技術專家到開源社理事,莊表偉接受開源社的專訪,為開源"新手”進行了一場生動的開源科普。

?

莊表偉接受開源社專訪相關視頻

Q1:請簡單介紹一下開源的歷史及價值

A:開源大致可以分為三個階段。

首先是前開源時代,當時能夠使用計算機的人都是頂尖的計算機科學家,對于他們而言,源代碼相當于是可以被公開發表的論文,因而那時候的源代碼是共享性質的。

接著是閉源時代,由于計算機的普及導致盜版軟件的泛濫,所以大量的公司和個人開始自己開發軟件,且不再交流源代碼。

接下里的是自由軟件時代,當時的自由軟件運動規范了用戶獲取、使用、修改和再分發源代碼的權利。

在1998年,Free Software之外,Open Source運動興起,開源從此有了正式的定義。

開源的本質是開放性的協作,這也是它的價值所在。一群互不相識的陌生人憑借自己的才干將一個更新的、更好的開源軟件以更快的速度開發出來。這種協作模式顛覆了傳統,使得世界正在加速變化。

正如有句話所言:“軟件吞噬世界,開源吞噬軟件”,開源是非常值得我們去了解和研究的對象,它將有助于我們去了解今后世界的變化。

Q2:開源的協作模式如何理解?

A:為了更形象地理解開源,我們可以打個比方。我們知道全自動料理機可以按照自帶的菜譜做菜,其本質就是機器在執行代碼程序。?

而開源就是我們在能夠看到每一道菜的制作方法的基礎上,還能夠對菜譜進行更改,之后我們還可以把新的菜譜分享出去,這樣一個可編程、可分享代碼的自動料理機就是一種開源模式。

我們還可以用另一種來解釋什么是開源的協作方式。當我們公開一份作業給全世界,然后大家一起來改進,一起來完成全世界最好的作業,這也是一種開源的協作方式。

當然,在這個比喻中合理存在的只是協作方式,真正的開源不存在布置作業。在開源社區中第一個寫代碼的人不是在完成作業,而是他有一個好點子,并在落實后將其開源,在這個過程中沒有人命令他去做,也沒有誰讓他去交作業。所以,開源不完全是大家一起做作業,但這個比喻可以讓大家更好地理解何為開源的開放性協作模式。

Q3:“開源”僅存在科技世界里么?

A:我不這樣認為,還是拿菜譜舉例。有一個叫做《隔離食用手冊》的在上海疫情封控期間流行起來的網站,其本身就是一個在GitHub上的開源項目,我們可以在網站里輸入自己擁有的原材料和廚房用具,隨后網站就會告訴我們應該做什么菜并且提供相應的菜譜鏈接。在這個開源項目里,每個人都可以參與其中,為網站增添更多的菜譜,為人們提供更多的選擇,這個過程既是開源的過程,也是開放協作的過程。

因此開源對于我們每個人來說都有很大的作用和存在的價值。其實在生活中我們接觸到的開源軟件有成千上萬種,包括學習類、工具類、游戲類、音樂類等。像我自己正在使用的在線寫作工具Markdown、記事本軟件Logseq還有視頻播放器VLC Player,都屬于開源軟件。包括我們最常使用的微信,它的背后也有開源軟件的支持。所以說開源和開源的開放協作方式充斥于我們的日常生活中。即便是非技術行業人員,也是每天都在接觸開源。

Q4:如何甄別產品是否應用了開源技術?

A:首先我們其實基本可以發現我們使用的軟件或多或少都有開源技術的存在。當然如果我們要進行甄別的話,當任意一個軟件當中使用了或者修改過開源技術,那么都要做相應的開源軟件使用聲明。這是一個合規的聲明,也是開源合規的一部分。

Q5:對于一些大學生和剛接觸開源的愛好者來說,對開源很感興趣,但是如何去做開源項目或者獲得資金支持方面可能很難獲取到相關的信息和資源。您可以分享一些您的經驗么?

A:我給大家分享一個網站叫做coss community。

在這個網站中,它會收集并且分享所有它所能知道的商業化開源軟件的信息。當開源企業或者開源項目獲得了巨額投資,它也會陳列出來。我們在這個網站中,可以學習到很多商業化的案例。



另外,文章《DataBricks從開源到商業化踩過的坑》中可以看出作者對于開源商業化理解:它是一個非常龐大并且復雜的問題,且具有眾多的商業模式,其中包括但不限于開放核心(有時被稱為雙重許可或多重許可)、軟件即服務(不是對軟件收費,而是對工具和平臺收費,以消費軟件作為服務,通常通過訂閱)、免費、基于捐贈的資金、眾籌和眾包模式。幾種不同類型的商業模式均可以通過開源軟件(OSS)盈利,或者為開源的持續開發、維護提供資金。

當然作為大學生,我個人覺得沒有必要考慮到那么多問題,在學生時代或者早期做一些開源項目,更大的動力來自于你個人的興趣愛好以及那些和你一樣對開源有興趣的小伙伴們,享受這個過程是最重要的。

Q6:如何了解到最新的國內外的開源信息?

A:相對來說,國內的開源中國會有一些很不錯的報道和文章,同時我們開源社也會對國外的好的文章和報道進行翻譯。



在國外的話,基本每一家公司都會開通一個博客去介紹其公司的開源情況,例如谷歌、微軟、亞馬遜等都有自己開源相關的blog。



另外,例如自由軟件基金會、開源基金會等,都會在他們的官網定期放一些開源相關的文章或者blog。

但是很多時候,泛泛的去找這些消息是非常困難的。所以如果你想要深刻地了解某一個領域的特定的最新的情況,還是要動用搜索,而且最好是在谷歌上搜索。除了在谷歌搜索外,Linux中國(https://linux.cn)這個網站的內容也是十分豐富的。

Q7:如何去尋找到更好的開源信息或者甄別信息的真偽?

A:其實在甄別信息這一方面,更多地還是要積累一定的經驗。當你對開源這個領域越來越熟悉,那么你對于開源的信息也會越來越了解,在那個時候對于一條信息的真假,也能更好地辨別。還有一種甄別信息的方法,就是得到第一手消息。有一個信息源是郵件列表,如果你特別感興趣某一個特定的開源軟件的話,你就訂閱那個開源軟件的郵件列表,然后去了解他們那些人在郵件里面聊什么東西,這個也是一個第一手的信息。

在現階段的情況下,我們需要多多交流,互相分享,讓大家能夠更快更好地熟悉開源。

Q8:開源社區本質是什么呢?

A:社區本質上就是一群人為了共同的目標走到一起。大家不斷的去想為了實現這個目標可以做點什么,再把這個目標發展壯大。

我們一直在講的“開源的本質是一種開放式的協作”。我們掌握了這種開放式的協作,就不僅是可以用來寫軟件,也可以用它來寫文檔、做視頻、直播、音頻等各種各樣的輸出,也可以一起來辦活動和開會。

同理我們也可以用這種方法在其他的領域做運用。比如做一個舞蹈協會、象棋協會之類的一個團體。

當這個團體想要在一起做點事情的時候,他們完全可以把開源的理念應用到自己的這個領域去。當我們用某種開放性的思路去看,我們現在的工作,學習生活以及其他的領域的時候,做開源就不僅僅是局限在一個單純的軟件領域。大家通過相互信任,憑借著一種開放的心態,以及一種樂趣來做事,這樣的模式是肯定可以推廣出去的。

Q9:開源社成立、發展以及未來的規劃是怎么樣的。

A:開源社理事會最清楚這些,每次我們開會都會討論今后的規劃,除了每年我們會堅持開年會等,很多事情都是聊出來的。

第一是所有開源人感興趣,第二就是有可能對中國開源有幫助,這些過程可以達成共識。我們認識了這么多在中國做開源的朋友,希望把這些朋友介紹給更多的人認識,也希望他們能夠逐漸成為社區里面的意見領袖或者關鍵人物,于是,我們就開始做這樣的一個開源先鋒33人活動。在這個過程當中,我們也越來越明確了做這件事情是有意義和價值的。到今年,又聊出一個面向開發人員的項目,后來我就起了一個名字叫“開源碼力榜”,就是開源代碼能力的榜單,“碼力”和“瑪麗”很像,然后做出了這樣的一個榜單。

同時,我們開源社近些年吸引了各行各業以及高校志愿者加入了我們,我們特別希望的是開源社這些志愿者能夠積極參與進來,這些志愿者不僅僅是去完成分配的任務,還可以迸發出一些新的東西,把自己當成開源的推動力量,而不僅僅只是執行者。在這個過程當中,志愿者們不僅獲得了樂趣,也收獲了成長,更重要的是,如果我們的推動有有效,那將會對整個中國的開源有切實的幫助。

Q10:開源社是一個擁有"共享""貢獻"精神的社區,對于參與到開源社的志愿者們來說,作為理事,您有什么期待么?

A:例如媒體組的同學,有興趣的話可以看一看開源社原來的文章。在看的過程中分門別類,整理到我們開源的官網,變成官網文檔庫的一部分,這是第一步。

第二步是發現。我們媒體組或文案組會不斷的編輯文章并發布,我最希望的是不僅是排版,而是去發現有沒有改進的地方,形成更多自己的觀點以此提高判斷力。我們前面說到國外有很多新聞是與開源相關的時事報道,我們或許能從僅排版變成翻譯,從翻譯變成評論,甚至變成點評。這樣一來我們就會有更多更深的了解。

我們在思考,有沒有可能也培養出一些開源的記者,他們能夠對這個領域有相當深入的理解,而且能夠寫出自己的東西來。有觀察,有思考,有評論,這樣的過程就會帶來很大幫助,也是記者們一種成長的路徑。像做動畫、做動漫、寫腳本其實也是一樣的,都是輸出內容,而這些輸出的質量就取決于我們的創作者對于開源本身的理解。有深度,有廣度,才能夠做得更好。

Q11:您所在的開源社發布了四大使命,可以簡單說說為什么開源社確立了這些使命么?

A:四大使命就是開源治理、國際接軌、社區發展、開源項目。

開源治理分為內外兩種。一個是開源社區的治理,另一個是開源使用的治理。我有一個開源項目并希望運營好,這是社區運營,是治理的一部分。如果制定一些規則,如使用條款、行為規范、小小群的管理規則,投票規則等,也是治理的一部分。再比如我希望項目能吸引誰來,發展什么樣的合作伙伴,也是偏商業運營的部分,屬于開源治理的范圍。

另外一部分就是企業。我們用了成千上萬款外面的開源軟件,這些軟件如何使用,就需要規范和管理。所有開源軟件都可能有漏洞,甚至被惡意投毒,我們在社區里報告安全漏洞,及時通知團隊盡快替換或修補,這就是開源治理的一部分。再比如開源軟件聲明,如果要發布,就要聲明用了哪些開源軟件,這本身就是法務合規的一部分,我們要保證軟件在使用時、修改后、發售中都合規,這些都是開源治理的一部分,加在一起就是開源治理。而開源社的工作就是向整個國內所有開源領域的朋友們去介紹,而不僅僅只是寫代碼。想讓開源項目發展的好就必須了解開源治理相關的知識,這就是開源的一大使命。

關于國際橋梁,回頭看一路走來的發展歷程,我們注重把外面的人“請進來”,如把外面的文章翻譯進來,也希望我們的人“走出去”,知識和信息內外都有交流,這也是理念所在。

開源一定是全世界的,是全球化的。關起門來,閉門造車的中國開源是不可取的,一定要在全世界的范圍內去做開源。我們會發現國際上有很多做開源社區的朋友,這些基金會大牛們的經驗非常寶貴,所以我們每年年會,都會請他們來做主題演講或技術分享。

社區發展,開源社在中國的一個重要使命就是我們希望發展中國大大小小的各種各樣的開源社區,走出中國,走向國際。

如開源項目捐贈到阿帕奇基金會,在里面孵化的一些過程。在這樣的過程當中,就會幫助阿帕奇的項目或是讓中國的阿帕奇開源項目有所發展。

另外一方面是給開源社一個定位,就是“開源社區的社區”或“開源社區的聯合國”。我們希望團結越來越多的社區,大家一起共享,共創一些工作來發展壯大,這是社區發展一個很重要的部分。

推薦閱讀:

《干貨分享|開源:獻給世界的禮物》

《2021 開源社年度報告:開心開源》

| 出品:開源社編輯部

| 作者:高旖陽 張雨晗 和燦陽?

| 審稿:袁睿斌 聶子涵?

| 編輯:梅嘉宜

| 責編:錢睿

| 設計:張晨曦

| 視頻:沈于藍 張晨曦 陳軼姝 趙玭月

開源社簡介

開源社成立于 2014 年,是由志愿貢獻于開源事業的個人成員,依 “貢獻、共識、共治” 原則所組成,始終維持廠商中立、公益、非營利的特點,是最早以 “開源治理、國際接軌、社區發展、開源項目” 為使命的開源社區聯合體。開源社積極與支持開源的社區、企業以及政府相關單位緊密合作,以 “立足中國、貢獻全球” 為愿景,旨在共創健康可持續發展的開源生態,推動中國開源社區成為全球開源體系的積極參與及貢獻者。

2017 年,開源社轉型為完全由個人成員組成,參照 ASF 等國際頂級開源基金會的治理模式運作。近七年來,鏈接了數萬名開源人,集聚了上千名社區成員及志愿者、海內外數百位講師,合作了近百家贊助、媒體、社區伙伴。

cfe28749b27c47fbca49e865361a09da.gif

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/284232.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/284232.shtml
英文地址,請注明出處:http://en.pswp.cn/news/284232.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【FME實戰教程】002:FME完美實現CAD數據轉shp案例教程(以三調土地利用現狀數據為例)

FME完美實現CAD數據轉shp案例教程(以三調土地利用數據為例) 文章目錄1. cad數據預覽2. 轉換過程3. shp數據預覽1. cad數據預覽 2. 轉換過程 (1)打開FME Desktop2020中文軟件,點擊【新建】。 (2&#xff09…

Linux學習之01_基礎命令介紹

初學Linux,還在摸索中,在這個過程中希望能記錄下學習到的東西,參考的的書籍為《鳥哥的Linux私房菜》 在這里學到的主要命令有這幾個: data cal bc man shutdown sync 1、基礎命令操作 data----顯示日期與實踐的命令 cal----顯示日…

窮舉算法實例

public static void main(String[] args) {Scanner scnew Scanner(System.in);System.out.println("輸入頭的個數:");int headsc.nextInt();System.out.println("輸入腿的個數:");int footsc.nextInt();for(int i0;i<head;i){//假設兔子的數量為iint jh…

VMware Workstation All Key

官方下載&#xff1a;https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html 懶人打包&#xff1a;鏈接:https://pan.baidu.com/s/1kWJRfjL 密碼:wzce 注&#xff1a;如果是WinXP或32位系統請用 10.0 版本 VMware 所有版本永久許可證激活密鑰&…

【GlobalMapper精品教程】017:KML generator快速將坐標轉為KML文件

本文介紹KML generator軟件,并快速將坐標轉為KML文件的使用方法,并用globalmapper中打開kml文件加以驗證。本專欄配套完整的案例數據包,請打開data017.rar獲取軟件及數據。 文章目錄 1. KML文件介紹2. kml generator軟件介紹2.1 單點KML制作2.2 Excel數據KML制作2.3 文本文件…

從cpp向qml文件傳中文字符串的方法

Qt 使用Unicode編碼來存儲操作字符串&#xff0c;但很多情況下&#xff0c;我們不得不處理采用其他編碼格式的數據&#xff0c;舉例來說&#xff0c;中文多采用GBK和Big5編碼&#xff0c;而日本則多采用Shift-JIS or ISO2022編碼。將其他編碼格式的字符串轉化成采用Unicode編碼…

Codeforces 746 G. New Roads

題目鏈接&#xff1a;http://codeforces.com/contest/746/problem/G mamaya&#xff0c;不知道YY了一個什么做法就這樣過去了啊 2333 首先我顯然可以隨便構造出一棵樹滿足他所給出的深度要求。 但是他還對于葉子節點的數目有要求。 考慮首先構造一棵樹最大化在滿足給出的深度條…

模型驗證組件 FluentValidation

FluentValidation 是 .NET 下的模型驗證組件&#xff0c;和 ASP.NET MVC 基于Attribute 聲明式驗證的不同處&#xff0c;其利用表達式語法鏈式編程&#xff0c;使得驗證組件與實體分開。正如 FluentValidation 的 介紹&#xff1a; A small validation library for .NET that u…

第二屆中國PWA開發者日

點擊藍字關注我們活動介紹為加速推動漸進式 Web 應用 (PWA) 在中國的發展&#xff0c;微軟與英特爾攜手舉辦“第二屆中國 PWA 開發者日”。本次活動邀請一眾業界大咖圍繞 PWA 展開分享&#xff0c;探討最新技術進展&#xff0c;及 PWA 生態的實踐與落地。期待與您線上相聚。活動…

【GlobalMapper精品教程】018:提取影像數據的范圍生成矢量圖層

文章目錄 1. 加載影像數據2. 生成邊界3. 導出矢量范圍4. 背景影響邊界解決辦法1. 加載影像數據 以DSM為例,加載如下所示: 2. 生成邊界 在影像圖層上右鍵→圖層→【邊界框/覆蓋-創建圖層覆蓋框/多邊形區要素】,如下圖所示: 選擇【否】。 邊界創建完成。 3. 導出矢量范圍 …

MPMoviePlayerController屬性方法簡介

屬性說明property (nonatomic, copy) NSURL *contentURL播放媒體URL&#xff0c;這個URL可以是本地路徑&#xff0c;也可以是網絡路徑property (nonatomic, readonly) UIView *view播放器視圖&#xff0c;如果要顯示視頻必須將此視圖添加到控制器視圖中property (nonatomic, re…

在Leangoo里怎么設置看板周期?

設置看板周期有兩種方式&#xff1a; 1&#xff09;點擊看板上的看板周期時間直接修改 2&#xff09;通過菜單 設置看板周期 瀏覽器訪問官網鏈接&#xff1a;www.leangoo.com 轉載于:https://www.cnblogs.com/shineshine/p/5663104.html

consul部署多節點和consul-template部署

一.consul的介紹 1.1consul是什么&#xff1f; Consul是HashiCorp公司推出的開源工具,用于實現分布式系統的服務發現與配置。 Consul是分布式的、高可用的、可橫向擴展的。它具備以下特性 : service discovery:consul通過DNS或者HTTP接口使服務注冊和服務發現變的很容易,一些外…

基于ABP實現DDD

什么是DDD呢&#xff1f;領域驅動設計[DDD]是一種針對復雜需求的軟件開發方法。將軟件實現與不斷發展的模型聯系起來&#xff0c;專注于核心領域邏輯&#xff0c;而不是基礎設施細節。DDD適用于復雜領域和大規模應用&#xff0c;而不是簡單的CRUD應用。它有助于建立一個靈活、模…

二、通過工廠方法來配置bean

調用靜態工廠方法創建 Bean是將對象創建的過程封裝到靜態方法中. 當客戶端需要對象時, 只需要簡單地調用靜態方法, 而不同關心創建對象的細節. 要聲明通過靜態方法創建的 Bean, 需要在 Bean 的 class 屬性里指定擁有該工廠的方法的類, 同時在 factory-method 屬性里指定工廠方法…

【GlobalMapper精品教程】019:基于DSM提取離散隨機點的高程信息

本文講解在globalmapper中,基于DSM提取離散隨機點的高程信息,配套數據為data019.rar。 文章目錄 1. 離散點創建2. 提取離散點高程信息3. 高程標注1. 離散點創建 本文在ArcGIS中,根據給定的范圍,隨機生成離散點,如下圖: 拓展閱讀: ArcGIS根據范圍創建隨機點教程:【ArcG…

shell腳本注意點

2019獨角獸企業重金招聘Python工程師標準>>> 直接命令行寫腳本的時候&#xff0c;可以用 ; 分割&#xff0c;或 也可以直接回車&#xff0c;然后在繼續寫腳本在使用 方括號[ ] 的時候&#xff0c;里面空格兩邊都必須要有空格&#xff0c;比如 [ $a -gt 3 ] 在方括號…

C語言編程規范--------2 注釋

2.1 注釋的原則 注釋的目的是解釋代碼的目的、功能和采用的方法&#xff0c;提供代碼以外的信息&#xff0c;幫助讀者理解代碼&#xff0c;防止沒必要的重復注釋信息。 示例&#xff1a;如下注釋意義不大。 /* if receive_flag is TRUE */ if (receive_flag) 而如下的注釋則給出…

備戰金九銀十:RabbitMQ有5種工作模式(6)

RabbitMQ是實現了高級消息隊列協議&#xff08;AMQP&#xff09;的開源消息代理軟件&#xff08;亦稱面向消息的中間件&#xff09;。RabbitMQ服務器是用Erlang語言編寫的&#xff0c;而集群和故障轉移是構建在開放電信平臺框架上的。所有主要的編程語言均有與代理接口通訊的客…