首页
/
每日頭條
/
科技
/
開源平台有哪幾個名稱
開源平台有哪幾個名稱
更新时间:2025-03-06 08:14:51

近幾年,天天有人張口閉口說開源,而不久前“兒童編程屆”五年級開始學已經晚了的“tensorflow”就是GitHub上2018年最熱門的開源項目。那麼,什麼是開源?什麼是開源項目?什麼是開源協議?以及在碼農屆幾乎無人不知無人不用的GitHub又是什麼呢?

開源(open source),在互聯網領域,可以簡單理解為是“開放源代碼”的簡稱。通常來說,指的是将軟件項目的源代碼向大衆開放,允許大衆獲取、使用、修改和發行。在硬件等其它領域也可以套用開源的概念,本文暫不提。

開源項目(open source project),簡單理解就是,開放源代碼的軟件項目。可以認為,開源項目的産出物是軟件程序,這包括,一個開源項目,可以不斷對一款開源軟件進行維護和升級,或者有可能在一個開源項目中,産出多款不同的開源軟件(但很可能彼此有聯系)。

開源軟件(open source software),直接的字面意思是公開源代碼的軟件,也就是說,如果軟件的源代碼是開源的,那麼這個軟件就可以稱之為開源軟件。不過,對于很多商業公司來說,開源軟件,隻能看作是某個開源項目給出的“軟件示例”而已,因為軟件的源代碼已經開放出來了,那麼這些商業公司,完全可以根據自己的需要,基于這個示例,修改或衍生出真正适合自己的軟件産品。

可以說,開源的意義主要在于合作,通過合作,才能形成圍繞某個開源項目的軟件生态。例如最早也隻最著名的開源項目之一“Linux”操作系統,其成功很大程度上是依靠開源社區為其提供的源源不斷的代碼支持,使其從當年一個人的“小項目”日益壯大起來。

相應的,如果不準備和不允許他人參與自己的項目中,那麼這樣的項目就是私有項目,而即便私有項目所産出的軟件也能夠免費提供出來給大家使用,但這樣的軟件也隻能稱之為免費軟件,而非開源軟件。

接下來重點說說開源協議。

開源軟件雖然通常都是免費的,但并不等于軟件的開發者們(開源社區)完全放棄了自己的權利和對軟件的控制。為了保證開源軟件不被一些商業機構或個人竊取,成為他們不勞而獲的牟利工具,并影響開源項目的長遠發展,開源社區開發出了各種開源協議,用于維護自己的軟件版權。

在開源協議裡面,會詳盡表述使用者在獲得代碼後擁有的權利和義務,包括可以進行何種操作,而何種操作又是被禁止的。

開源協議種類非常之多,并且同一款協議會有很多個變種版本。開源協議規定得太寬松,會導緻開發者們喪失對開源軟件的很多權利,而太嚴格又不便于使用者們的使用以及開源軟件的傳播。

常見的開源協議有:GPL、LGPL、BSD、Apache 2.0、MIT

開源平台有哪幾個名稱(什麼是開源開源項目)1

1、GPL

Linux就是采用了GPL協議。GPL協議允許代碼的獲取、代碼的免費使用和引用、代碼的修改和衍生,但要求對修改和衍生代碼的進行開源,不允許修改和衍生的代碼做為私有閉源的商業軟件發布和銷售。

這也就是為什麼我們能用各種免費的linux操作系統,以及linux上各種各樣的由個人,組織,以及商業軟件公司開發的免費軟件了。

GPL協議的主要内容是,隻要在一個軟件中使用到了包含GPL 協議的産品(GPL類庫),則該軟件産品必須也采用GPL協議,既必須也是開源和免費,這就是所謂的“傳染性”。

由于GPL嚴格要求使用了GPL類庫的軟件産品必須使用GPL協議,對于使用GPL協議的開源代碼,商業軟件或者對代碼有保密要求的部門就不适合集成/采用作為類庫和二次開發的基礎。

2、LGPL

LGPL是GPL的一個為主要為類庫使用設計的開源協議。和GPL不同,LGPL允許商業軟件通過類庫引用(link)方式使用LGPL類庫而不需要開源商業軟件的代碼。這使得采用LGPL協議的開源代碼可以被商業軟件作為類庫引用并發布和銷售。

但是如果修改LGPL協議的代碼或者衍生,則所有修改的代碼,涉及修改部分的額外代碼和衍生的代碼都必須采用LGPL協議。因此LGPL協議的開源代碼很适合作為第三方類庫被商業軟件引用,但不适合希望以LGPL協議代碼為基礎,通過修改和衍生的方式做二次開發的商業軟件采用。

3、BSD

BSD開源協議是一個給予使用者很大自由的協議。開發者可以自由使用和修改源代碼,也可以将修改後的源代碼作為開源或者專有軟件再發布。但是有以下幾個要求:

如果再發布的産品中含有源代碼,則在源代碼中必須帶有原來代碼中的BSD協議。

如果再發布的隻是二進制類庫/軟件,則需要在類庫/軟件的文檔和版權申明中包含原有代碼中的BSD協議。

不可以用開源代碼的作者/機構名字和原來産品的名字做市場推廣。

BSD 代碼鼓勵代碼共享,但需要尊重代碼作者的著作權。BSD由于允許使用者修改和重新發布代碼,也允許使用或在BSD代碼上開發商業軟件發布和銷售,因此是對商業集成很友好的協議。而很多的公司企業在選用開源産品的時候都首選BSD協議,因為可以完全控制這些第三方的代碼,在必要的時候可以修改或者二次開發。

4、Apache 2.0:

Apache Licence 2.0的簡稱,Apache Licence是著名的非盈利開源組織Apache采用的協議。該協議和BSD類似,同樣鼓勵代碼共享和最終原作者的著作權,同樣允許源代碼修改和再發布。但是也需要遵循以下條件:

需要給代碼的用戶一份Apache Licence。

如果修改了代碼,需要再被修改的文件中說明。

在衍生的代碼中(修改和有源代碼衍生的代碼中)需要帶有原來代碼中的協議,商标,專利聲明和其他原來作者規定需要包含的說明。

如果再發布的産品中包含一個Notice文件,則在Notice文件中需要帶有Apache Licence。你可以再Notice中增加自己的許可,但是不可以表現為對Apache Licence構成更改。

Apache Licence也是對商業應用友好的許可,使用者也可以在需要的時候修改代碼來滿足并作為開源或商業産品發布/銷售。

5、MIT:

MIT是和BSD一樣寬泛的許可協議,源自麻省理工學院(Massachusetts Institute of Technology, MIT)。使用MIT協議的開源軟件作者隻保留版權,而對使用者無任何其它限制。MIT與BSD類似,但是比BSD協議更加寬松,是目前最少限制的協議。這個協議唯一的條件就是在修改後的代碼或者發行包中包含原作者的許可信息,且适用于商業軟件。使用MIT的軟件項目有:jquery、Node.js。

開源平台有哪幾個名稱(什麼是開源開源項目)2

篇幅有限,不解渴可以關注我們的微信公衆号(kejiwuyoucom)與我們深入交流。認知互聯網,解讀新科技,助力創業創新及傳統企業轉型。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
電熨鬥漏水
電熨鬥漏水
人們的衣服穿着時間長了,難免會出現褶皺的現象,而解決這個問題最好的方法就是使用電熨鬥進行熨燙,不過現在大多數家庭使用的電熨鬥都是蒸汽式的電熨鬥,雖然在使用的時候非常的方便,但是卻很容易導緻一種情況的出現,就是電熨鬥漏水。那麼,如果是出現這種情況要如何解決呢?蒸汽式的電熨鬥正常工作需要蒸汽孔和水箱保持...
2025-03-06
燃氣熱水器
燃氣熱水器
直排式燃氣熱水器在使用的時候,其實和強直排式的熱水器有什麼區别呢。強排式熱水器在使用的時候,是可以使用一些特别長的傳熱管,還有金屬接觸面積特别多的一種熱交換器,工作的原理,其實是将燃燒了之後的氣體熱量很好的傳給金屬片加熱而工作的,希望我們加以了解的。燃氣熱水器的分類其實是比較多的,家用的燃氣快速使用...
2025-03-06
打印機的安裝
打印機的安裝
打印機的安裝一般分為兩個部分,一個是打印機跟電腦的連接,另一個就是在操作系統裡面安裝打印機的驅動程序。如果是安裝USB接口的打印機,安裝時在不關閉電腦主機和打印機的情況下,直接把打印機的USB連線一頭接打印機,另一頭連接到電腦的USB接口就可以了。按照上面的步驟把打印機跟電腦連接好之後,先打開打印機...
2025-03-06
如何清洗加濕器
如何清洗加濕器
冬季和夏季人們的生活根本就離不開空調,而空調開的時間如果是過長的話,最容易導緻的一種情況就是室内空氣過于幹燥,這就需要使用加濕器來對室内空氣進行加濕。不過在如果是您想要您的加濕器使用壽命長的話,在使用的時候不但要注意保養,更需要注意它的清潔,那麼,如何清洗加濕器呢?加濕器如果是清潔不及時,或者是不經...
2025-03-06
增強洗衣機洗滌效果的竅門
增強洗衣機洗滌效果的竅門
以往大家在使用洗衣機洗衣服,總喜歡多放些洗衣粉,以為泡沫越多,洗滌效果越好。其實,這種方法是錯誤的,其實洗滌衣物時也是有許多方法的,如有不清楚的朋友可以一起了解一下。【1】應使洗衣粉全部溶解如水溫過低,洗衣機就難骓溶解洗衣粉,可先用30℃左右的少量溫水使之全部溶解。如衣物及髒,可用40℃&mdash...
2025-03-06
Copyright 2023-2025 - www.tftnews.com All Rights Reserved