日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

万字总结:开源软件通识基础课第三周知识点总结

發布時間:2023/12/4 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 万字总结:开源软件通识基础课第三周知识点总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們在前兩周的課程上(第一周、第二周),系統講授了 FOSS 的課程內容,第三周,我們開始進入 COSS(商業開源)的部分。

?

本導學班在調研全球開源教育與課程的基礎上,通過收集、整理、理解、拓展國際最新的前沿開源課程,采取眾創的模式,由 X-lab 核心開源研究的成員共同進行協作學習,以最大效率的吸收國際前沿開源知識,共創、共享、共進。本導學班,以開源 FOSS 和開源 COSS 課程內容為基礎,結合自己的理解,并進行適當拓展。

?

第三周的主要內容是講述商業開源軟件創業,包括三大部分,12個主題:

?

  • 軟件行業。該部分的內容分為四個主題講述,首先是軟件行業整體講述,其次是關于軟件產品的內容,再然后是關于軟件供應商的內容,最后是關于軟件供應商以及相關公司的商業模式的主題。

  • 開源產業。這部分的大多數內容在 FOSS 課程里有提及,不過這里更多的從商業的視角看待開源,主要包括四個主題,首先是介紹開源軟件,其次是介紹開源項目,再然后是介紹商業開源,最后介紹云服務策略。

  • 軟件創業。該部分的內容是包括四個主題:首先是軟件創業的講述,其次是介紹研究與創業的聯系與差別,再然后介紹如何從大學衍生企業,最后介紹初創公司的融資內容。

?

一、軟件行業

我們首先來看一下軟件行業。

?

該部分內容將主要闡明什么是軟件、軟件行業是怎樣的,并回顧軟件行業的歷史,然后討論軟件行業的主要參與角色。然后將簡單介紹這個行業的主要產物——軟件產品以及其運營相關服務,最后討論軟件平臺以及軟件生態體系。

?

什么是軟件?

從技術角度看,軟件就是一系列指令集,可以是文本形式,它可以被編譯,它的二進制指令可以指示計算機應該做什么。另外,軟件也是有很多組件組成的,你把很多組件組合在一起,以此可以形成更大的程序以及服務等。

?

從經濟角度看,軟件也是一個數字產品,是一種可以買賣的產品,它是軟件產業基礎的重要組成部分。

?

?

軟件幾乎無處不在,影響著生活、工作、學習的方方面面。

?

軟件行業

軟件行業是為你提供軟件產品、相關服務的所有商業的集合,與軟件相關的服務可能是不同類型的。它是高度集中化、高度國際化的,有著強大的網絡效應。人們可以對軟件進行修改,能夠快速迭代創新。另外,軟件行業正在快速地向一些新的領域擴張。

?

?

軟件行業通常被稱為IT信息技術。如上圖所示,可以看到軟件行業規模是巨大的,并且還處于不斷增長的過程中。

?

軟件行業歷史

相比較其他行業而言,軟件行業并沒有那么古老。“軟件”這一個術語第一次提及是在1959年,軟件作為獨立實體走進人們的視野是在1969年。那一年,美國司法部宣布了一個具有里程碑紀念意義的事件,就是把硬件和軟件分離開來。在接下來的幾十年里,我們看到了軟件的快速發展,直至今天的云計算。我們看到不同的架構主導了這個行業,以及產品是怎樣分割并出售給用戶的。

?

?

在 80 年代,企業的最初想法是做縱向整合,公司構建了一整套所謂的客戶解決方案。

?

?

但是在90年代,事情就發生變化了,用戶和客戶不再喜歡原來的垂直集成,也就是用戶不再喜歡縱向整合的產品,即所有東西都必須來自同一家供應商,而是關注一些向整合的解決方案。

?

?

但是在2000年的時候我們看到了開源軟件的多元化以及開源軟件的增長,自2010年到2020年,我們看到了云計算是如何吞噬世界的。這似乎是一種復古的潮流,至少目前的開源軟件的一部分遵從上世紀80年代的縱向整合。

?

主要參與者

軟件行業的主要參與者包括標準化產品提供商、軟件咨詢公司以及非盈利組織等。

?

?

標準化產品的供應商,他們向市場出售標準化的產品。一部分是所謂的獨立軟件供應商,它們為軟件產品授予許可,例如Microsoft, Oracle, SAP和Adobe;一部分是云服務提供商,有時被稱為互聯網公司,例如AWS、Facebook。

?

軟件咨詢公司,除了標準化的產品之外,也包含一些定制化的內容。這其中包括了“開發服務公司”、“實施服務公司”,他們根據用戶需求進行軟件產品定制。

?

非盈利組織,這是帶來規范和標準的某些組織。監管機構的主要職責就是監管市場,通常這是一個政府機構和或者政府認證機構,這些認證機構會定義一些認證項目,這也通常是基于標準組織的相關輸出來進行認證的。

?

軟件產品

這里從商業視角介紹軟件行業的主要產物軟件產品。

?

我們需要考慮軟件產品將賣給誰,是消費者(2C)?還是企業客戶(2B)?如何定價,消費者可能對價格敏感,而企業可能需要的是一套解決方案,用金錢換時間。產品總是針對每個用戶群體設計的,需要考慮產品的市場細分問題。另外,消費者可能對產品的需求是開箱即用,而企業可能會雇傭顧問來協助他們的工作。

?

軟件平臺

軟件產品通常分為應用程序與軟件平臺(系統軟件)。

?

應用程序構建于軟件平臺之上,軟件平臺賦予應用程序必要的功能。軟件和軟件平臺是共生的。因為對于軟件供應商來說,如果他們想要快速進入市場構建高質量軟件的話,他們就需要這些軟件平臺。平臺供應商也是需要這些軟件的,因為沒有軟件的話那么平臺就毫無用處了,那么就沒有消費者會購買這個平臺。

?

軟件生態

軟件生態是參與者(企業和個人)、軟件應用程序和組件及其在軟件平臺上和周圍的關系和目標的總和。

?

?

軟件平臺要么成功,要么失敗。如果構建了一個工作高效、規模龐大的軟件生態,那么該軟件平臺一定會成功。

?

二、軟件產品

我們來看一下軟件產品的內容。軟件產品是數字產品,例如軟件、知識產權。它不是客觀的實體,具有無形性,可以在市場上售賣給用戶。

?

?

產品都是有一定產品的組成結構的。你可以從一個較低的起點創造一個產品。最初的產品就是我們所說的核心產品,核心產品可以理解成MVP。之后,核心產品會被擴展,變成了基礎產品,最后會變成較為完整的產品。

?

知識產權

我們先來看一下軟件知識產權的內容。知識產權,是關于人類在社會實踐中創造的智力勞動成果的專有權利,是所有權的一種特殊形式,具有不可替代性、排他性等。也就是說知識產權就是排除他人使用你的知識產權的一種權利,除非你放棄知識產權,否則沒人能使用你的知識產權。

?

?

在軟件領域,知識產權只有四種形式。第一種是版權。在軟件領域,版權通常意味著源代碼。知識產權的第二個重要類別是就是專利。你可以為算法申請專利,在專利申請注冊之后,如果沒有你的授權,其他任何人不能使用你的專利算法。除了版權和專利,知識產權還包含商標。所有的商標都是獨一無二的,就像每一個公司或者產品都是與眾不同的,因為獲取顧客信任的價值是無形的。最后就是商業機密,這也是知識產權的一種存在形式。這是公司運行所需的交易秘密,這些商業機密必須被很好的保護起來,避免某些人將這些商業機密暴露給全世界。

?

核心產品

核心產品,可以理解為最小可行性產品,是向顧客提供的產品的基本效用或利益,核心產品可以解決客戶的最核心訴求,但是不一定好用。

核心軟件是消費者所安裝的基本軟件。就額外功能而言,包括擴展和插件,一些工具以及與其他軟件的集成。

所有軟件都需要相關的文檔以及材料。在消費者軟件層面,文檔、材料必須準備齊全。

?

你可以提供某些自助服務,比如郵件列表、為用戶提供用于討論的相關論壇,還可以為用戶提供在線培訓,這在某種意義上是可以保持低成本的。

?

核心軟件要如何收費呢?可以通過消費來設計收費結構,可以考慮用戶量、使用時間以及資源消耗。用戶越多,收費越高。軟件使用的時間越久,收費越高,軟件消耗資源越多,收費越高。

?

基礎產品

基礎產品以核心產品為基礎進行了擴展,易于使用,同時可以提供一些支持服務,用戶體驗更好。


基礎產品最基本的承諾是軟件供應商所保證的軟件可以實現基礎的功能。當軟件出現問題的時候,供應商需要修復問題、解決問題;如果問題長時間得不到解決,供應商可能要支付一些罰金。

基礎產品可以保證軟件在特定的用途中使用,與特定的硬件兼容,可以在特定操作環境下操作。

?

然后我們來看一下支持服務。全方位的支持意味著很多事情,包括個人支持、熱線電話或者網站等,用戶可以通過郵件進行聊天或者在論壇回復相關問題。

關于支持服務的定價,其實有很多方式,例如支持的維度,比如工作日支持服務,24*7支持服務。然而有些公司并不要求這些常規收費,他們會根據事故級別來進行收費。這就意味著客戶一旦沒有任何服務支持的合同,客戶要想獲取支持服務,就得出錢。在消費者領域,這是最常見的。你或許不需要購買軟件,但是你一旦想要獲取支持服務,你就可以撥打熱線電話尋求支持,這個時候軟件供應商就會根據你的咨詢時長來扣除相應的費用。

完整產品

?完整軟件是在基礎軟件的基礎上進行拓展的,添加了培訓、服務咨詢等內容。

?

關于軟件的培訓,為企業提供培訓、思考如何構造產品或者如何向客戶提出價值主張,這只是其中的一部分。你可以提供內部培訓 也可以提供在線培訓。你可以為培訓定價,可以按照人數或者根據企業的體量來定價。

?

如果你有一個企業產品的話,服務咨詢是一個挑戰。消費者需要經常咨詢定制你的產品,你也要為消費者的相關需求進行產品的定制化。如果你的經驗不足,你可能需要咨詢師來為你的產品實現定制化。有關咨詢服務的定價,無論是在公司內部還是由合伙人進行,通常都與勞動力有關。這種勞動可能隱藏在員工在項目所花費的時間上。關于所花費時間的總量,這可能會涉及一個固定的費用。

?

?

之后,軟件將作為服務進行提供。用戶嘗試訪問供應商所提供的服務。你對其如何定價,可以基于實際的消費定價,可以以訂閱費用的形式收費。

?

產品架構

當一個產品被售賣的時候,誰正在獲取利益?我們需要看一下產品架構來理解一下這個問題。

?

產品都是由不同的組件構建而成的,你或許需要從軟件提供商那里購買軟件,這樣你就要付錢給軟件提供商,這些軟件提供商最終會從你的收益中受益。在軟件領域,這些基本的組成部分需要被視為其他形式的知識產權。它可能是第三方組件庫,無論是免費獲得,比如該軟件是開源的,還是從軟件提供商那里購買的,該軟件的獲取都是基于版權。此外,為了能被客戶接受并進入市場,軟件產品必須遵守存儲數據的各種標準,可能是一種定制化的標準形式,也可能是遵循專利服務的某種形式。一旦你滿足并遵循了其他人的標準,那么這必然涉及到你的軟件許可。產品經理需要考慮產品的架構,以及需要把握一下對于第三方平臺的依賴。

?

?

我們需要思考一下誰擁有你所需要的這些軟件,這會促使你的購買決定。如果你決定購買,你如何獲得它,它的成本是多少?它在未來會如何變化?還有其他選擇嗎?如果你有其他選擇,這樣你就還沒有被鎖定,一旦你被鎖定,即100%完全依賴于某個軟件提供商,他將吃掉你的利潤。

?

產品生命周期

軟件是具有生命周期的。一個基本軟件的歷程大致是,出生、成長、成熟、衰退、死亡。

?

三、軟件供應商

接下來我們來看一下軟件供應商,軟件供應商最終把軟件產品推向了市場。

?

項目與產品公司

我們先來看一下兩類軟件公司,這兩類公司的收費模式往往不同。以項目方式經營的軟件咨詢公司往往是一次性的項目收費,一旦項目結束,則把費用支付完畢,而以產品方式經營的軟件供應商,提供標準化的商業軟件,在收取許可費后,每年仍可能收取維護費用。

?

你可以看到,第一年的項目收入要比單純售賣軟件許可賺的多,但是隨著時間的推移,產品收入會不斷增長,這是基于軟件的維護或者訂閱費用。

?

你可能會想,難道不是每個人都想成為軟件供應商嗎?那么為什么有些人想創建商業咨詢公司呢?其實對于兩者來說,這兩種角色都是有利有弊的。軟件供應商如果把事做好,那么就會有不錯的收入,事實也確實是這樣,因為被鎖定的消費者不會輕易離開。但是他們在開始階段還是很艱辛的,首先你需要先獲取軟件,這是需要前期投資的。并且,這也并不能保證你能成功開發軟件,也并不能保證你所開發的軟件能夠真正滿足客戶和市場的需求,也并不能保證你能在競爭激烈的銷售環境中戰勝競爭對手,只有贏下消費者你才能賺錢。所以那么多的軟件供應商、初創公司都失敗了,只有極少數的軟件供應商存活下來了。

?

相比之下商業咨詢公司就不是資本密集型企業了,所以商業咨詢公司很容易起步。你和你的幾位朋友可以充當勞動力,然后把時間出租出去,以此來向消費者收費。商業咨詢公司相比軟件供應商簡單一點兒,因為你可能知道有多少人需要這個項目,以及怎樣向消費者收費。

?

業務功能

現在我們來看一下軟件供應商的各個業務功能。

?

構建產品需要開發、技術支持,銷售產品,獲取用戶,市場和產品管理攜手并進才能獲得成功。

?

?

產品經理在公司中負責軟件產品管理。你可以對戰略產品經理技術產品經理進行區分,戰略產品經理更多地考慮市場、產品定位和合作伙伴等,而技術產品經理則負責在細節上滿足或理解客戶需求,并與工程團隊進行溝通,以此來正確實現這些需求。戰略產品經理所做的事情就是探尋新的商業機會并為其制定預算,并且他們為此商業機會定義了產品愿景。

?

?

對于開發人員,公司中存在著不同的角色和稱呼,有一般的開發者、工程師,有時候也有軟件架構師。軟件架構師主要是負責軟件的架構設計,需要確保軟件的各個組件都能夠協調使用。工程管理員對工程資源負責任,他需要利用工程資源,并且分配使用工程資源,其中使用了不同的開發方式,比如傳統開發或者敏捷開發。

?

?

運營人員針對不同用戶群體,通過內容、渠道等營銷(推廣)產品,并通過數據指標,優化運營手段、產品功能和體驗等。

?

?

技術服務支持需要幫助消費者正確使用產品,一旦用戶使用產品過程中遇到了什么問題,技術、服務支持工程師以及管理者就會立即行動,用戶在使用產品中遇到了麻煩,然后用戶就去尋求支持,期望產品服務提供商可以提供解決方案,即為客戶修復問題。

?

市場營銷人員、市場經理想讓市場了解自己的產品,需要將產品推廣到市場,并建立品牌知名度,推向市場的產品也可以是產品組合,“將產品推向市場”的做法是為了獲取消費者。

?

?

真正促成交易的人是銷售人員。如果是技術產品類的銷售人員,你需要從技術層次上來了解產品,所以有時候需要一個售前工程師去提前訪問用戶,也可以和額外的銷售人員,銷售管理員一同前往。所以銷售人員就是幫助你獲取客戶的工作人員。

?

?

在軟件供應商看來,消費者完成購買這是一個成功的銷售。但是,消費者完成購買與消費者無障礙使用軟件根本不是一回事兒。你需要確保你的客戶購買了產品并實際使用,而并不是購買了產品卻不使用。這樣的話,當該消費者使用該軟件的時候,他們可能不知道如何使用,他們很可能錯誤地使用了他們,所以客戶不滿意,他們可能就不用這個軟件了。所以之前的銷售成功只是一個前期的成功,你需要幫助用戶使用你的產品,需要讓他們滿意,這樣客戶就會留下來,并且不斷完成購買。這就是所謂的“篩選”,提前放棄購買商品的用戶是低潛質的消費者,你所需要的是需要專業服務的消費者,可能是需要一個功能,也可能是需要一個服務。

?

?

提供專業服務是顧問或者項目經理做的事情,有點類似于咨詢部門,他們幫助部署產品,幫助管理咨詢生態系統以及嚴格把控工作質量,以此來更好地為消費者提供服務。

?

人力資源管理很重要,招聘是一個很重要的過程,當然,財務部門在融資方面也很重要。

?

核心業務流程

我們剛才討論過了業務功能,其中包含了不同的實踐活動以及能力,以及企業中不同人員所處的位置。接下來簡單介紹一下核心業務流程,包括構建產品,獲取用戶,操作產品,為用戶提供支持,確保用戶滿意。

?

?

產品是產品經理、開發者、財務人員和人力資源的互動。產品是作為商品提供給市場,被人們使用和消費,并能滿足人們某種需求的任何東西,包括有形的物品、無形的服務、組織、觀念或它們的組合。戰略產品經理會去尋找商機。然后他們會將商機委派給技術產品經理,技術產品經理負責技術的詳細規格和要求。

在銷售方面,你通過銷售獲得了收入。銷售漏斗開始發揮作用,銷售漏斗就是“獲取客戶“的過程以及消費者所經歷不同階段的可視化展示。在最開始,他們剛了解你的產品,然后了解地越來越多,直到最后,如果他們最終還在,那么他們就會買你的產品。

?

運營人員需要和開發還有技術支持人員進行聯動。

?

?

客戶支持就是用戶的付費內容,它們支付了訂閱的費用,技術、服務支持也是包含在訂閱中的,軟件供應商需要對用戶的需求快速做出反應。他們需要與開發和運維部門合作,以防出現問題。

?

?

正如前面所討論的那樣,如果用戶購買了軟件,這并不意味著他們會立刻成為一個對產品滿意的客戶。相反,還有很多步驟要做,只有產品得到很好的使用,用戶才會滿意。軟件供應商需要積極主動地與客戶交流,以確保用戶剛剛購買的產品確實在恰當地用著。在最開始,用戶購買軟件確實可以幫助消費者實現商業目標。

?

四、商業模式

現在我們來看看這些軟件供應商的基本商業模型,通常軟件供應商都是從所謂的軟件初創公司發展而來的。商業模式實際上描述了一個組織如何創造、交付和獲取價值。

?

這部分內容雖然是有關商業模型的,但真正要討論的是商業模式畫布(BMC)以及商業模式的不同組件?!皟r值創造”在左邊,此部分是用戶為操作的產出付費,在右邊兒就是“價值獲取”,其將包含價值主張的產品推向市場并由此產生收益。該商業模式畫布有9個不同的組件,接下來詳細看一下。

?

?

價值主張是關于某種東西對顧客的價值,他們會買,會為此付費,但他們通常會將其轉化為一種產品或服務。

?

我們來看一下BMC中的右邊部分。細分市場是由相似客戶組成的具有凝聚力的集群。在多方面的市場中,你有多種類型的客戶,進一步細分為多個細分市場。所有細分市場共同構成整個市場。

?

?

你如何接觸到客戶呢?如何將你的產品以一種合適的方式呈現到客戶面前?渠道,這些渠道就是到達市場元素的具體方式。這些渠道之前都是物理上的、但現在更多的都是數字化的,不同渠道之間是有差異的。它們是針對不同用途的渠道,其中的一個用途就是與人交流。另一個渠道就是有效地賣產品。但是你把產品賣給他們之后,渠道可能就變化了,一旦你把產品賣給了消費者,那么潛在客戶就變成了實際客戶。你仍然需要和這些客戶保持聯系,所以你需要分發渠道。

?

?

你知道你的客戶是誰,你知道如何接觸他們。那么現在你把你的產品賣給他們嗎?這意味著你正在和他們建立聯系,這不僅僅是最初的銷售。一旦有人可能成為你的客戶,你應該先把東西賣給他們,但是你又想和他們保持聯系,你和他們潛在地提升關系。所以這就是所謂的,獲取客戶、留住客戶、不流失客戶、發展客戶。

?

?

再來看一下“價值獲取”方面的收入流。收入就是從消費者那里獲取的收入,即消費者所付的錢。我們會聽到“收入來源”這個詞,這通常是指顧客購買產品,然后這一過程就是收入來源。每個時間周期都有與收入來源相關的收入與支出,隨著時間的推移,你就會從收入來源獲取源源不斷的收入。你就可以把這些收入聚集起來,這不僅僅是一個用戶或者產品。你從單一消費者身上賺錢然后再將商品推到市場中,然后就可以對市場進行劃分,其實這都取決于你的收入流。只有通過收入流才能了解你的業務。

?

有時候你真的不知道你的業務上出現了什么變化,所以在公司中你可能會有類似“商務智能”的東西,這是公司自己的企業軟件。這是一個可以分析你現金流的軟件,你可以深入了解到,你在什么用戶群體上賺錢?你在哪些地方賺到了錢?你賺到了多少錢?所有這些分析都是由商業智能軟件所完成的,這樣你才能了解到是什么在起作用?在獲取收入中什么沒起作用?

?

?

然后來看一下價值創造的部分,先介紹一下關鍵伙伴。關鍵伙伴是那些在業務中支持你的人,或者你與他們達成了某種交易。然后他們為你提供了某些東西,這就有利于你為消費者創建“價值主張”,所有你需要那些關鍵的合作伙伴。

?

?

除了合作伙伴以外還有關鍵資源的因素,合作伙伴是能夠獨立行使權利的法人實體。而關鍵資源是無生命的,所以在某種程度上沒有辦法界定資源是否違法。關鍵資源是一個重要的資產,為你公司所需要,你需要對資源進行差異化使用。資源有3種類別,分別是材料(包括有形材料以及無形知識產權)、資本勞動力。

?

?

接下來我們聊一下關鍵活動,你需要將這些活動合理地安排。軟件供應商,初創公司應該并且也有能力去做的事情。對于軟件供應商來說,你應該掌握關鍵活動。如果你認為這件事情是重要的,或者說是關鍵的,那么你不應該將其外包出去。

?

?

最后來看一下成本結構,理解它并建立商業模式,你就可以對你的“價值創造”有所把握,這也是商業模型的另一面。企業的成本結構就是操作費用以及擴展你的商業規模所需的花費,這里將成本分為固定成本與可變成本。固定成本就是你即使沒有生意也會存在的成本。如果你是一家初創公司,你正在發展你的產品,但是你的產品還沒有準備好,所以你沒有顧客,但是還是有成本的存在。但是一旦你有了新的客戶,就會產生額外的成本,那么你就需要為這些計算資源付費。這就是可變成本,每增加一個用戶該成本就會增加。

?

五、開源軟件

我們來看一下開源軟件,將會從它的法律定義、歷史、開源許可、遵循開源許可、開源治理、使用開源中的問題以及開源控制機制進行介紹。

?

法律定義

?

開源軟件的前身是自由軟件,“自由軟件”是在上個世紀的八、九十年代被定義的。并且,開源軟件是一個基本術語在90年代后。它同自由軟件類似,通過軟件許可授予用戶權利,用戶被允許使用、學習、修改、傳播分發軟件,但同時也存在一些限制義務,而這些明確權利與義務的開源許可具有法律效力。一般來講,開源軟件許可通常需要滿足OSI(open source initiative)定義的10個標準。如果相應的軟件在開源軟件許可下是可獲得的,那么可以稱該軟件是一個開源軟件。

?

開源歷史

在最開始,當軟件被創造出來的時候其被認為是獨立的產物,是獨立于硬件的,但是很少將軟件認為是一種知識產權,人們經常免費共享源代碼,因為源代碼幾乎沒有任何的商業附加價值。在80年代,公司認識到了軟件的商業價值,因此不再共享源代碼。這使得Richard Stallman非常煩惱,因此他決定通過創造自由軟件來對抗“人們不再共享源代碼”的趨勢,他創立了自由軟件基金和以及GPL許可。

?

在90年代,對于自由軟件而言,推廣、傳播自由軟件的這個做法是關乎哲學的,甚至是激進的,因此開源計劃應運而生,這背后是實用主義者意識到了免費軟件的價值,但是這些實用主義者也不太想讓哲學的相關理念圍繞在這個協議許可家族上。他們建立了也提出了他們自己對開源的定義以及與此開源定義相匹配的許可證,通常情況下不討論著作權。在2000年,專業化開源就出現了,相關公司也應運而生了?,F如今,開源已經成為發展的主流,而且開源已經向”云服務“靠攏。

?

開源許可

現在我們來看一下開源許可。

?

開源許可通常要包含5塊內容,首先是版權聲明,其次是權利義務的說明,再然后是禁止條款,最后是免責聲明

?

?

開源軟件通常有兩類使用方式,一類是私人內部使用,這時候無需關注開源許可的限制義務,另一類是分發,這時候需要履行開源許可所明確的義務。而這個義務通常也有兩類,一類是copyleft義務,這通常要求再分發的軟件遵循同樣的許可,例如上圖的GPLv2許可,另一類是法律聲明義務,這類要求相對較低,不要求再分發的軟件遵循同樣的許可,通常只需要提供基本的法律聲明即可,例如上圖的MIT許可。

?

?

上圖給出了開源許可的家族以及許可之間的兼容關系。

?

遵循開源許可

?

?

你開發的一個軟件常常由不同的組件構成,這些組件往往依賴大量的閉源或開源軟件,對于引入的所有開源軟件,需要根據其開源許可履行對應的義務。

?

開源治理

?

這里給出了開源治理的三個規則示例。

?

?

不要復制不確定許可的源代碼到你的項目中,不要復制以及引入copyleft許可的代碼到你的項目中,不要盲目信任開源組件所聲稱的許可,不要將許可沖突的組件引入。

?

?

只使用寬松許可的開源組件,使用一些受治理的代碼庫,維護一個軟件物料清單。

?

?

可以在引入代碼時考慮上圖這張表,確定哪些可以引入,哪些不能引入。

?

使用開源中的問題

?

使用開源軟件時,要確保清潔的知識產權、管理安全漏洞、管理軟件的依賴。在上層建立業務時,要確保對源代碼的訪問,確保獲得商標,確保獲得專利。

?

開源控制機制

開源控制機制主要包括兩塊內容,一是知識產權的控制,二是社會領導地位的控制。

?

?

先來看一下如何控制知識產權。通過改變許可來控制版權,通過撤回商標授權來控制商標,通過專利收費來控制專利,通過媒體來引導你的優勢。

?

?

再來看一下如何控制社會領導地位。通過分離社區,削弱別人的影響,將不想要的人排除在項目之外,來強化社會領導地位,另外可以延遲或拒絕不想要的貢獻或者領導整個項目的技術方向來保證自己的commit權利。

?

六、開源項目

這部分內容講開源項目,講依次介紹開源的過程定義與開源項目定義、項目社區、開源基金會、社區主導基金會、供應商主導基金會、用戶主導基金會以及項目生命周期。

?

開源的過程定義與開源項目定義

?

?

開源是一種軟件開發方法,它利用了分布式同行評審的力量和過程的透明度。開源的承諾是更好的質量、更高的可靠性、更大的靈活性、更低的成本,并結束掠奪性的供應商鎖定。

?

?

這里定義的開源項目是開源軟件 + 社區(人)。開源社區倡導開放協作,平等主義,任人唯賢等內容。

?

項目社區

開源項目社區是從事開源項目的人員和公司的團體。

?

?

社區內部存在三種角色,user、contributor、committer。user往往是項目的使用者,能夠反饋一些問題,contributor則負責對一些功能的開發與bug的修復,committer則對代碼進行審查。

?

?

開源項目社區存在三種治理模型,BDFL(仁慈的獨裁者模型),這是一種分層治理模型,例如Linux kernel;peer group,這是一種同行評議模型,有一群核心的人員負責項目治理,例如PostgreSQL,Do-ocracy,這是一種民主模型,所有人都可以向項目貢獻代碼,甚至合入代碼,只要代碼是得到認可的,例如Tiki Wiki。

?

開源基金會?

開源基金會是專門為支持開源軟件項目而辦的非營利性組織,它通過為軟件項目社區提供服務與支持實現價值,為開發者提供了一個發現、使用、交流開源技術的平臺。開源基金會能保護開發者免受法律訴訟,為成員創造了一個公平、平等的環境,它能夠規范知識產權、市場營銷渠道、產品研發路線等內容。

?

引入基金會后,開源社區的角色有所擴展,新擴展了PMC成員、PMC領導、基金會會員,PMC成員協助項目管理,PMC領導協調各個PMC,基金會會員承擔更多的任務,包括教練、市場營銷等。

?

社區主導基金會

?

?

以社區為主導的開源基金會是一個以自然人為主導的開源基金會。

?

供應商主導基金會

?

?

一個以供應商為主導的開源基金會主要由軟件供應商領導,共同開發產品的非差別化組件。供應商希望創建更強大、更具競爭力的生態系統,增加收入、獲取更多的客戶等。

?

用戶主導基金會

?

?

一個以用戶為主導的開源基金會主要由軟件用戶(公司)領導,以贊助/開發經營其業務所需的軟件。用戶需要擺脫或減少被單一供應商鎖定的風險,通過構建供應商生態系統,符合用戶的利益。

?

項目生命周期

?

同產品生命周期類似,項目的生命周期也包含出生、成長、成熟、衰退和死亡這幾個階段。另一方面,在各個階段,開源軟件需要不斷創新,它們需要擴展到新的領域而不是固步自封。

?

七、商業開源

接下來介紹一下商業開源。我們將會思考商業開源的定義,三種核心商業模式的策略與模式,包括單一供應商開源公司、開源經銷商公司、服務支持公司。為了理解公司如何選擇商業開源戰略,我們還需要看下該策略給公司不同業務功能所帶來的效益。

?

商業開源的定義

?

?

商業開源軟件首先是一種開源軟件,它被一個或多個軟件供應商所發展,以至于在該開源項目后面的公司可以間接獲利。這個定義的關鍵在于開源軟件本身,因為開源許可證總是可以免費使用的,所以你不能從中賺錢。你只能通過一些兼容性服務賺錢,比如可以提供軟件下載,可以把軟件放在磁盤上然后進行軟件的分發。開源軟件所產生的收入總是間接的,可能是某些兼容性的東西在起作用。這就是我們的商業開源所面臨的挑戰。用戶要為基本產品或完整產品付費,這些產品由商業開源軟件供應商提供,但這并不是開源軟件本身。?

?

使用開源的策略來推動市場或者用戶對于產品的接受,這一方式即是“無摩擦分發”(frictionless distribution)。對于新用戶來說進行這個推銷還是很容易的,但是之后客戶必須先熟悉該軟件才能開始使用該產品。開源軟件與付費軟件有很大的不同,即使付費軟件有免費的模式,與開源軟件還是有很大不同的。其中付費軟件的免費模式可能是允許用戶先免費使用三個月,然后才會轉為收費模式。一旦你建立了或者已經建立了這樣的用戶基礎,競爭對手就很難進入用戶和潛在客戶所在的市場,這些用戶就會成為你的收入來源。

?

?

我們將產品劃分成了三個階段,分別是核心產品、基礎產品、完整產品。我們可以看到商業開源供應商出售的實際上是基本的或完整的產品。軟件供應商會賣給用戶某些產品,其中包含了滿足用戶需求的使用保證,以及關于產品的培訓及咨詢操作。但是核心產品往往是開源的。

?

單一供應商開源公司?

我們來探討一下第一種商業開源模型,這是三種商業開源軟件模型中起主導作用的一個模型,稱之為單一軟件開源供應商。單一供應商開源軟件是一種商業開源軟件,并且其被單一的供應商所擁有與管理。其中只涉及一個開源軟件供應商,這就是所謂的單一開源軟件供應商。

?

?

在單一供應商模式下關鍵是要弄清楚顧客在為什么付費,可能是基礎產品或者完整產品的附加功能(商業版本),而不是能免費獲取的某些東西(社區版本)。

?

一般情況下,選擇使用社區版本軟件的用戶,一般是更加在乎產品的價格而不是自己所要花費的時間,這些用戶寧可自己投入時間去發現問題、解決問題,他們也不想去購買企業版本的軟件。

這點兒與企業是相反的,企業用戶可能也是從社區版入手,但是企業更加注重時間以及產品的可靠性,所以企業用戶對于軟件的額外功能以及供應商對軟件的操作支持,企業用戶愿意花錢買這些服務、功能。企業客戶也可能需要軟件額外的特性,這樣我們就可以將一個免費的企業用戶變成一個付費用戶。

?

另外,對于公司內部的IT部門,他們可能會說我們不會使用這個開源軟件,我們將要購買這個軟件的商業版本,因為我們想要獲取到支持。我們想要在某個時間給某人打電話能解決問題,IT部門經常需要專業的支持,并且對于這部分商業支持也是有預算的。

?

?

對于單一供應商的開源公司來說保持版權、知識產權的單一所有者是重要的。但是,因為這個軟件是免費的開源軟件,您可能會收到用戶的PR,這些用戶要求將他們的更改合并到你的代碼中,這時候他們會獲得對于潛在貢獻的所有版權,因此有些產品的新功能需要社區成員將版權轉移給公司,以保證公司對于知識產權的100%所有權。

?

開源經銷商公司?

開源發行版是一個集成良好的開源組件和應用程序的集合。開源經銷商公司是指將開源發行版作為產品或服務提供的公司。

?

?

同樣開源經銷商也將產品分成社區版本與商業版本。

?

?

經銷商沒有代碼的版權,但是經銷商掌握著各種知識,比如軟件、 服務如何整合? 如何從組件中構建服務? 如何配置并使這些組件兼容,以便它們能很好地一起工作? 如何回應用戶的請求? 以及如何測試整個過程? 除此之外,還有一些東西,比如經銷商所擁有的組件,以及獨特和專有的知識產權。

?

服務支持公司

?

?

開源服務和支持公司是一家為社區開源軟件提供服務和支持的咨詢公司。在這個領域,不會有哪一個商業咨詢服務公司占主導地位。公司的committer或者他們所雇傭的committer以及他們所賺取的收入通常與勞動力成比例,這些勞動力是那些被雇傭過來為消費者提供服務的人。另外,這些咨詢公司使得開源是可持續發展的,因為他們對商業所基于的開源項目做出了貢獻。

?

公司開源背后的商業動機

?

商業公司的開源戰略背后究竟隱藏著什么原因?

?

?

開源對于公司的商業模式的各個方面都有一定的好處。在市場營銷方面,能夠更廣泛、更快、更便宜地產生潛在客戶。在銷售方面,能夠更有效地銷售。在業務發展方面,能夠更好地發現合作伙伴機會。在產品管理方面,能夠更快更好地確定市場需求。在軟件開發方面,能夠以更低的成本更快地生產出優質產品。在產品支持方面,能夠支持得更好更便宜。

?

八、云服務策略

這部分內容來介紹商業開源中的云服務策略。我們首先要討論功能差異化的想法,如何將用戶轉化為付費客戶。這將涉及很多不同的細化策略。然后我們將看看在過去的時間里,許多服務是如何轉移到云中,以及這意味著什么。最后,將簡單談談勞動經濟學和單供應商的生命周期。

?

功能差異化

?

?

首先需要看一下功能的價值,無差異的功能這是每個人都有的,任何東西都可以隨時使用,但是這并不能夠使你的產品和其他產品區別開來。如果用戶選擇了你的產品,這意味著你正在做一些創新的、對你的用戶有價值的事情。因此,我們要適當地利用或捕捉這個價值,識別用戶有使用軟件的原因。我們需要確定用戶購買的理由是什么,幫助進一步升級或轉換用戶為付費客戶。?

?

開放核心模型

?

?

開放的核心模型 IP 模塊化的一種特殊形式,其中的模塊化部分都是軟件部分,開放核心是開放源碼許可的軟件,然后是封閉帶或封閉的擴展集,封閉源碼軟件,這些都是一個基本的軟件的擴展與額外的功能,某些客戶需要,但不是免費提供給他們的,核心的基本功能是開放的,但只要公司需要更多的高級功能,他們中的一些人或所有的人將無法使用它,因此,你必須為它付費。因此,開放的核心意味著像 IP 模塊化一樣的軟件分割。

?

許可策略

如果你想要成為一個唯一供應商,并遠離競爭的開源公司,那么你應該是唯一可以多許可證的公司,這將給你帶來一個競爭優勢,你需要通過擴展開源許可來保持你的多重許可的權利,如果你接受外界的貢獻,你需要通過貢獻者協議的方式來約束這些貢獻。

?

?

現在的貢獻者協議,讓你有權利可以繼續做產品的雙重許可或多重許可。在商業開源,特別是單供應商的開源公司,至少有一個有開源許可證的核心軟件作為開源,商業許可證作為你賣給你的客戶的商業版本的一部分,那么問題來了,我們應該使用哪種開源許可證? 這答案非常重要,因為這是你保持競爭的方式,假設你想用開源軟件來對付你的競爭對手,如果你讓你的軟件在一個開源許可證下可用,如果它有一個復制許可條款,那么競爭對手就不能在該軟件上建立有自己的補充或擴展,就像在開放的核心模式上,它必須將這些擴展開放,因此,基本上通過使用 copyleft 許可開放源代碼,就能阻止你的競爭者。

?

?

這導致了不同的許可結構,你會向付費客戶提供商業許可下的軟件,而對于開源社區, 你將在一個強大的版權許可下提供該軟件,如 GPLv2 或 AGPLv3(即使用戶只是通過網絡服務使用該軟件,這也意味著軟件在被分發)。這里考慮兩個產品類型的維度,應用維度通常在開源許可證許可整個軟件;組件維度,由于復制權的影響開發者并不買賬,可以通過 shims 中間層來保護,并使用像 MIT 許可證這樣寬松的許可。這些策略對于商業公司推廣產品很有幫助。

?

云計算帶來的挑戰

應用程序上云這是一個轉變。但是開源軟件與公有云的關系這兩年有點緊張,一個比較流行的觀點是公有云插管吸血開源軟件,而對開源社區沒有太多貢獻。不少開源項目開始尋找在公有云面前保護自己的方法。畢竟公有云的出現,一定程度上打亂了原有的開源商業模式。最終用戶通過購買云服務,從公有云服務商那里得到了保障,開源廠商被繞開了。

?

?

商業開源供應商發明了一種新的許可類別,稱為源代碼可用許可。這些供應商試圖獲得開源的好處,并同時希望避免競爭,因此,來源可用的許可顯然是歧視性的,并未被認為是開源許可。

?

?

這個時候出現了從雙重許可到三重許可的轉變,AGPL的增加,使你的產品保持了開源的可信度,更能夠被開源愛好者和開發者接受,同時提供的源碼可用許可也能夠避免競爭,最終在賺錢的同時也實現了正確的開源世界。

?

控制機制的使用

?

?

在社區開放源碼中,傳統的非組織的社區開放源碼,通常會采用有分布式的版權控制,而基金會獲得的版權可能會改變許可證。最有趣的是,在基金會主導的開源項目中,社會領導力總是像傳統的社區項目一樣,是分布式的,你會成為一個領導者,是因為你通過努力工作贏得了它。

在商業化的開源中,貢獻的開發者是公司的雇員,公司擁有他們的工作成果,他們以這種方式維護版權,公司可以拿走開發者對代碼庫的貢獻權?;旧?#xff0c;在商業開放源碼中,一直是公司在運行和擁有既定的控制和指導機制。?

?

勞動經濟學

勞動經濟學是一個大詞,在這里討論的是開發人員的職業。正如我們所知,開發人員有一個路徑,他們可以從user開始,成為contributor,committer。如果它是一個基金會運行的項目,他們甚至可能成為項目管理委員會(PMC)成員,或領導者,甚至可能是具有廣泛監督和輔導責任的基金會成員。

?

?

從雇主角度看,如果你是一個雇主,你看到一個軟件開發人員忙碌于開源, 這對雇主來說意味著很多潛在的東西。

?

首先,在招聘的討論中,雇主會看到你是一個有技術能力的人,你在開源方面很活躍,雇主可以看到你在公開場合寫的代碼,這意味著他們可以在一般情況下驗證你的技術能力。

?

在技術能力之外,我們也需要認識到,開源項目是社會系統,有同行的存在,如果,他們接受你的貢獻,那么,證實你的工作是好的,你得到了同行的確認,如果你能從貢獻者變成提交者,對雇主的暗示是, 這個人和其他人相處得很好,你的社會能力有一個同行的確認。如果你在一個開源項目中擔任領導角色,這也是同行對你的領導能力的確認,所有這些都使你比一般人更有可能成為一個合格的未來雇員,這就消除了招聘討論中的不確定性。

?

最后,如果你所從事的開源項目,以及你或你的開發者在其中有權力和影響力的地位,那么,雇主當然可以利用這一點來引導他們自己對項目的貢獻,影響項目的方向等等,將社區作為一種資源引導到雇主希望他們去的地方。

?

?

相反,開發人員也可以談判一個更好的位置,談判一個更高的薪水。例如,潛在的新雇主可能有更好的工作保障和更豐富的工作經驗,所以成為一個成功的開源開發者對你的職業生涯有很多不同方面的好處。?

?

單一供應商生命周期

?

?

在早期,公司是作為一個單一的供應商開源公司,有一個完整的和公平的開源平臺,在成長的幾年里,可能仍然是一個公平和全面的開源平臺。但隨著公司的成熟,它將越來越多地轉向閉源,而這是為了轉換或榨取市場價值。這是它的現實,用戶應該意識到這一點,在開始轉向閉源之前,他們也許已經對用戶提供了十年的開源軟件的使用,所以,用戶應該要學會理解和接受這種情形。

?

九、軟件創業

?

這部分內容將介紹軟件創業。我們將會從初創企業的定義,創業的探索過程,以及創業指標進行介紹。

?

初創企業定義

?

?

初創企業是一個尋找可行商業模式組織,而不是大公司的小版本。

?

?

初創公司會面對各種各樣的風險,不僅包括創新風險,也包括市場風險。初創企業需要認準自身的定位,評估自身可能遇到的風險。

?

創業的探索過程

?

創業的探索過程基于商業模式畫布(BMC),來進行逐步探索。

?

探索過程中,創業企業將面對三個挑戰,包括問題-解決方案匹配,產品-市場匹配,產品-渠道匹配。問題-解決方案匹配,主要定義初期問題,需要去發現一個潛在的與錢相關的問題并找到了解決辦法。產品-市場匹配,需要全面地考慮市場中可能會出現的問題,隨著規模范圍的擴大,將面臨著產品以及產品價值主張的諸多問題,需要探索關于這些問題的解決方案。產品-渠道匹配,主要考慮商品銷售的問題,不僅設計理念上適合市場,而且產品要以一種較為合適的方式呈現在了消費者面前。

?

?

?

?

在創業企業面對三個挑戰的過程中,有兩個關鍵活動貫穿其中。一是基于商業模式畫布構建假設,二是對假設進行驗證檢驗。對于基于商業模式畫布的假設,常常需要回答商業模式畫布上各個要素的問題,而對于假設驗證檢驗,常常需要設計合適的實驗以及驗證方式,來獲取洞察。

?

?

在解決三個挑戰的探索過程中,也伴隨著商業模式畫布的迭代(有點類似敏捷開發的思想)。每個階段通過假設、實驗、驗證、洞察來選擇繼續發展還是調整策略。這些探索過程是高效的、低成本的,因為你僅僅是投入了最少量的資金以及勞動力來提高資源效率,你專注于迭代學習,你不會擴大規模也不會嘗試擴大規模。但是設計合理的探索過程需要一定的經驗。

?

創業指標

?

在上述探索過程中,常常需要考慮一些指標來評估。這里包括兩類度量指標,第一類是商業模式指標,主要有客戶終生價值與成本,客戶獲取、留存、增長成本,以及每年/每月的平均收入;第二類是生存指標,主要有現金流消耗率,每月現金留存,實現現金流平衡的時間。

?

十、研究與創業

這部分內容介紹研究與創業,將依次介紹大學中的研究與創業,項目管理,領導編程,開源策略,獲取用戶,獲取貢獻這幾部分主題。

?

研究與創業

?

?

在大學里,研究與創業的目標不同存在一定的矛盾。研究的目標是產出研究報告或者論文,而創業的目標是產出軟件產品或者是創業企業。當然研究在某些情況下可以轉化為創業成果。在這些情況下,研究與創業的時間分配比例呈現出逐漸下降的趨勢,一開始研究的時間占主要部分,待研究漸漸成熟,創業的時間占了主要部分。

?

項目管理

?

?

?

在大學中的項目管理模式與開源社區的治理模式有些類似,這里的solo funder模式對應開源治理的BDFL,而peer group則直接對應。在這里,研究人員是項目的管理者,而教授往往是一個產品經理的角色。

?

領導編程

?

?

在大學里領導編程的往往是博士生,而碩士生往往來進行協助。博士生定義功能,分解任務,分配給碩士生。碩士生公開討論,協助博士生分解任務。通常他們還會使用一些開發平臺與工具,例如Gitlab,進行分布式協作。

?

開源策略

?

?

大學項目中的開源策略,需要考慮哪些是重要的、哪些是不重要的。對于開源策略開源從兩個維度考慮,一個是開發過程是否開源,是否將這個協作過程開源,另一個是開源知識產權如何管理。大學與開源社區、單一供應商開源公司有所不同,大學往往希望將大部分知識產權掌握在自己手中,而且開發過程可能也是封閉的。

?

獲取用戶

這部分內容與開源運營比較相關。

?

?

獲取用戶可以從四個方面考慮,首先是被用戶發現,其次是激發用戶的信任,再然后是使產品變得易用,讓用戶好上手,最后是跟用戶保持聯系。

?

獲取貢獻

?

?

對于獲取貢獻需要考慮七部分內容,分別是歡迎貢獻者,讓貢獻者貢獻變得簡單,與貢獻者有效溝通,對貢獻者代碼審查,讓貢獻者快速參與,構建貢獻者信任,以及保護自身的知識產權。

?

十一、大學衍生企業

這部分內容介紹大學衍生企業,主要考慮軟件創業,將介紹從大學研究衍生出企業需要考慮的一些事情。

?

?

從大學衍生企業分為三個階段,首先是基礎研究階段,然后是應用研究階段,最后是衍生階段。在德國,這三個階段的資金來源都是來自學校。在衍生階段之后,是創業階段,真正建立企業,這時候就有一些新的事情了。

?

?

從大學衍生企業創始人需要考慮軟件知識產權管理,這樣方便將知識產權轉移到初創企業中。這里可以考慮通過一些方式(例如簽訂合同)將學生貢獻的代碼等知識產權轉移到學校,后續初創企業就只需與學校打交道即可,能夠提升辦事效率。

?

?

保證清潔的知識產權可以考慮三種情況,一是提前獲取知識產權,通過付費或者貢獻者協議等,二是事后獲取知識產權,通過工作交流等,三是針對對沒有知識產權聲明的文檔,通過確認信的方式獲取。

?

?

從大學衍生企業,轉移知識產權需要滿足大學的一些條件,例如可能要求一次性購買知識產權或是分期購買,又或者是大學共享股權的形式等。

?

十二、融資

?

從大學衍生企業之后,創業企業需要考慮融資。

?

?

創業企業的資金來源可能有四部分,一是來自公共部門的啟動資金,二是來自親友或者機構的貸款,三是來自天使投資者或是風險資本的投資,四是來自其余機構,這里創業公司可能已經承接了一些項目,然后就有一些項目資金。

?

?

在融資過程中,創業公司還需對企業自身進行估值,有置換成本法、收入乘數法、貼現現金流法,來進行評估。

?

?

此外,創業公司融資之后,企業內部存在不同的利益主體,可能會存在利益沖突影響企業的經營管理。因此,創業公司需要協調好各方的利益,降低風險沖突。

?

以上就是第三周課程的總結。最后一周將是 OSPO(開源項目管理辦公室)的部分,小伙伴們不要錯過,歡迎加入我們~

本文為 ?X-lab開放實驗室 ?原創文章,遵循CC-BY 4.0協議,轉載請附上原文出處鏈接及本聲明。

文中部分圖片源自:https://nythesis.com

總結

以上是生活随笔為你收集整理的万字总结:开源软件通识基础课第三周知识点总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。