軟件開源是什麼意思?

General 更新 2024-05-23

開源軟件是什麼意思??

什麼是開源軟件

開源軟件,英文表示是open source software,簡稱為OSS,直接的字面意思是公開源代碼的軟件。軟件既然連源代碼都公開,因此開源軟件具備可以免費使用和公佈源代碼的主要特徵。

1997春天,自由軟件社團的一些領導者聚集到加利福尼亞州。這個社團包括EricRaymond,TimO’Rerlly,VA Research的總裁Larry Augustin等人,他們所關心的是一種尋找方式,來向以前躲避自由軟件思想的人們推廣這種思想。他們擔心,自由軟件基金會的反商業信條會讓人們對自由軟件敬而遠之。

在Eric Raymond的堅持下,這群人同意他們所缺乏的是市場營銷活動,這個活動的目的是贏得思想,而不僅僅是市場份額。最後討論的結果產生了一個新的術語來描述他們所推進的軟件:Open Source(開煩擾軟件)。他們制定了一系列的指導原則,用來描述哪些軟件可以有資格被稱為開源軟件。

Bruce Perens 為制定開源軟件的定義做了很多基礎性的工作。GNU工程的正式目標之一就是創造一個自由可用的操作系統,以作為平臺來運行GNU軟件。從軟件引導(softwera boottstrapping)的傳統觀點來看,Linux已經成為那個平臺,L inux是在GNU工具的幫助下創造出來的。Perens曾經是Debian工程的領導者,它所管理的Linux發行版本,只包括那些符合GNU精神的軟件。Perens已經在“Debian社會契約”(Debian Social Contract)中明確地闡明瞭這一立場。開源軟件的定義是“Debian社會契約”的直接產物,因此開源軟件是與GNU的精神一脈相承的。

與GPL相比,開源軟件的定義允許更大授權自由。特別是當軟件中混合了專有軟件和開源軟件時,開源軟件的定義允許在它們的基礎上生成更大的混合。

結果是,開源軟件許可證能令人信服地允許使用和再分開開源軟件,而不必考慮補償或者信用問題。舉例來講,你可以得到偉大的Netscape瀏覽器的源代碼,並且把它作為連同另一個軟件(可能是專有軟件)一起發佈出去,而用不著去通知網景(Netscape)公司。網景為什麼會希望如此呢?原因很多,最引人注目的是,這樣做可以為他們的客戶端代碼贏得更大的市場份額。這些代碼與他們的商業軟件一起工作得的非常好。從這個角度來說,奉送源代碼是建立平臺的一個很好的方式。這也是網景的人不使用GPL的原因之一。

這在社團中可不是小事一樁。1998年下半年,曾經有一場重要的爭論對Linux威脅極大,幾乎Linux社團破裂。裂痕是因出現了兩個軟件系統GNOME和KDE而引發的,它們兩者都試圖建立一個面向對象的桌面界面。一方面,KDE利用了Troll Technology公司的Qt庫,其中的一部分屬於專有代碼,但是很穩定、很成熟。另一方面,GNOME決定使用GTK+庫,儘管它不如Qt成熟,但是它是完全自由的庫。

過去,Troll Technology不得不在使用GPL和維持他們的專有軟件立場之間進行選擇。GNOME和KDE的裂痕本來會持續下去。然而,在開源軟件出現後,雖然Troll仍然控制他們想要的技術,但是Troll可以為希望Qt符合開源軟件定義的人改變他們的許可證。Linux社團兩個重要部分的裂痕看來要彌合了。

開源軟件的“開源”是什麼意思?

開源

關於開放源代碼的定義(1.7版)

開放源代碼並不僅僅意味著對源代碼的訪問權。開放源代碼軟件的發佈條款必須滿足以下條件:

1. 自由地再發布

如果被髮布的軟件是由不同來源的程序組成的,許可證不得限制任何當事人或組織(party)銷售或贈送作為被髮布軟件成分之一的開放源碼軟件。

許可證不得從此項銷售中索取使用費或其它任何費用。(理由)

2. 源代碼

程序必須包括源代碼,必須允許以源代碼方式發佈、還必須允許以編譯後的形式發佈。如果產品的某個部分沒有與源代碼一同發佈,那麼必須提供通行的、不需要支付合理範圍之外的任何費用的手段以獲得源代碼---從網絡上免費下載是一種可取的方式。源代碼必須是程序員對其進行修改的最佳形式。故意地使源代碼變得含混晦澀是不允許的。也不允許給出預處理器或翻譯器處理的中間結果。(理由)

3. 派生作品

許可證必須允許修改軟件和派生軟件,並且必須允許它們按照原軟件的許可證的條款進行發佈。(理由)

4. 作者的源代碼的完整性

只有在許可證允許與源代碼一同發佈"補丁文件"(該"補丁文件"以在創建時對程序進行修改為目的)時,許可證才能限制對修改形式的源代碼的發佈。許可證必須明確地允許發佈由修改後的源代碼生成的程序。許可證可以要求派生的作品採用不同的名稱或不同的版本號以區別於原來的軟件。(理由)

5. 不得歧視任何個人或團體

許可證不得歧視任何個人或者由多人組成的團體。(理由)

6. 不得歧視任何應用領域(fields of endeavor)

許可證不得限制任何人把程序應用於任何領域。例如,不得規定程序不能應用於商業領域或基因研究領域。(理由)

7. 許可證的發佈

與程序有關的權利必須適用於該程序的任何使用者,並且程序的使用者也不需要為了使用該程序而獲得其它許可證的許可。(理由)

8. 許可證不能針對於一個產品

與程序有關的權利不能由該程序是否作為某個軟件產品的一部分來決定。如果程序從那個發佈中被抽出來,並且按照程序的許可證的條款進行使用和發佈,那麼得到該程序的當事人或組織將獲得與得到原程序的使用者相同的權利。(理由)

9. 許可證不能影響其它軟件

許可證不得向與採用它的軟件一同發佈的其它軟件提出任何限制。例如,許可證不能堅持要求在同一媒體上發佈的其它程序都是開放源代碼軟件。(理由)

Conformance

(本節不是開放源代碼定義的一個部分)

我們認為本開放源代碼定義涵蓋了由絕大多數軟件團體使用的術語"開放源代碼"的最初含義和當前含義。然而,該術語被廣泛地應用,並且它的含義變得不精確了。OSI Certified標誌是某個軟件發佈許可證是否服從開放源代碼定義的OST認證方式。一般的術語"開放源代碼"並不提供這種擔保,但我們仍然鼓勵使用" 開放源代碼"這一術語以表明它符合"開放源代碼定義"。關於OSI Certified標誌的信息,以及已經通過了OSI Certified、符合"開放源代碼定義"的許可證,請參見OSI Certified標誌與綱要。

開放源代碼定義之原理

給出開放源代碼的定義的目的是:把我們所確信的、由軟件開發團體所公認的"開放源代碼"的含義作為一組具體的準則寫下來---該準則確保按照開放源代碼許可證發佈的軟件可以得到與其它軟件同樣認真的評審、使軟件可以不斷地得到改良和遴選,從而提供非開放軟件所......

什麼是開源,為什麼開源

開源就是開放程序源代碼。就是把程序源代碼發放出來,讓程序的用戶可以獲得。

開源和收不收費沒有關係,開源軟件同樣可以收費。

編程語言本身沒有開不開源的問題。開不開源的是把語言編譯成可執行程序的編譯器或者是執行這種語言寫的腳本的解釋器軟件。

也有編譯java的編譯器是不開源的。當然,常用的java的編譯/解釋器都是開源的。

所有常見的編程語言,像C, C++, Basic, Pascal, Php, Python等等都有開源的編譯器或解釋器。

對自己懂編寫軟件的語言的用戶而言,水平高的可以對軟件做修改以滿足自己的特殊需要。水平低的可以學習。

因為軟件有很多人知道源代碼,有問題也容易發現。其它不懂編程的用戶也相對放心一點。

對於軟件編寫者而言,他有可能得到看他軟件源代碼的高手的指導,別人也可能幫他發現軟件中的問題,甚至有人幫他修正源程序中的錯誤。

而且,如果知道源代碼的人比較多,就算他有一天不想繼續開發這個軟件了,也很容易找到接手的人,這對於用戶也是一件好事。

免費/開源軟件是什麼意思

開放源代碼與自由軟件 許多人將開放源代碼與自由軟件(freeSoftware)視為相同,但若以定義條件而言,自由軟件僅是開放源代碼的一種,也就是自由軟件的定義較開放源代碼更為嚴格,並非開放源代碼的軟件就可稱為自由軟件,要視該軟件的授權條件是否合乎自由軟件基金會對自由軟件所下的定義。 開源軟件定義Version 1.9 開源不僅僅表示開放程序源代碼。從發行角度定義的開源軟件必須符合如下條件:1、自由再發行 許可證不能限制任何團體銷售或贈送軟件,軟件可以是幾個不同來源的程序集成後的軟件發行版中的其中一個原件。許可證不能要求對這樣的銷售收取許可證費或其他費用。2、程序源代碼 程序必須包含源代碼。必須允許發行版在包含編譯形式的同時也包含程序源代碼。當產品以某種形式發行時沒有包含源代碼,必須非常醒目的告知用戶,如何通過 Internet免費的下載源代碼。源代碼必須是以當程序員修改程序時優先選用的形式提供。故意地擾亂源代碼是不允許的。以預處理程序或翻譯器這樣的中間 形式作為源代碼也是不允許的。3、派生程序 許可證必須允許更改或派生程序。必須允許這些程序按與初始軟件相同的許可證發行。4、作者源代碼的完整性 只有當許可證允許在程序開發階段,為了調整程序的目的將“修補文件”的發行版與源代碼一起發行時,許可證才能限制源代碼以更改後的形式發行。許可證必須明確地允許按更改後的源代碼所建立的程序發行。許可證可以要求派生的程序使用與初始軟件不同的名稱或版本號。5、無個人或團體歧視 許可證不能都有針對任何個人或團體制在專門奮鬥領域內的任何人使用該程序。例如不能限制程序應用於商業領域,或者應用於遺傳研究。7、許可證發行 伴隨程序所具有權力必須適用於所有的程序分銷商,而不需要這些團體之間再附加許可證簽字蓋章。8、許可證不能特製某個產品 如果程序是某個特殊的軟件發行版中的一部分,伴隨該程序所具有的權力不能只以來於這一發行版。如果程序是從那一發行版中摘錄出來的,使用或發行時用的都是那個程序的許可證,分銷程序的所有團體都應擁有與初始軟件版所允許的所有權力。9、許可證不能排斥其他軟件 許可證不能限制隨該許可證軟件一起發行的其他軟件。例如,許可證不能要求所有與之一起發行的其他軟件都是開源軟件。10、許可證實例 GNU GPL、BSD、X Consortiun和Artistic許可證都是我們認為符合開源軟件定義的許可證。MPL也是一樣。

源代碼是什麼意思?

源代碼是用匯編語言或者高級語言(C/C++、Dephi、VB、Java)編寫的純文本文件,符合或接近人類語言邏輯。源代碼經過編譯器編譯之後形成中間代碼或機器語言代碼(二進制),也就是我們常用系統程序、應用程序了。

Windows源代碼是由微軟研發並掌握的私有系統,Unix的源代碼掌握在IBM、Sun等幾大計算機廠商手中;Linux才是開源軟件,其源代碼任何人都可以自行下載、複製、分發、修改和編譯。

請問手機開源是什麼意思?

手機開源,(Open Source)全稱為手機開放源代碼。市場上開源軟件層出不窮,很多人可能認為開源軟件最明顯的特點是free,但實際上並不是這樣的,開源軟件最大的特點應該是open,也就是任何人都可以得到軟件的源代碼,加以修改學習,甚至重新發放,當然是在版權限制範圍之內。

開源是什麼意思

1997年,開放源碼促進會(Open Source Initiative,www.opensource.org)正式成立,它給予了開放源碼一個官方的、正式的定義。它指出,開放源碼並不只是意味著對源碼的存取訪問,而且還要遵守許多原則,總結為以下幾條:

1.允許自由再分發——排除了為了短期的銷售額而放棄長期收益的誘惑。

2.允許對源碼和已編譯的程序一同進行分發——要使程序改進變得容易,首先使修改變得容易。

3.允許修改和衍生該作品——只具有閱讀源碼的權力,不足以支持獨立的同行評價和快速的進化選擇。

4.作者源碼的完整性——用戶有權知道正在使用的軟件由誰來負責;作者和維護者也有權利支持和維護聲譽。

5.無歧視對待對個人和群體——為了從整個過程中得到最大的收益,禁止把某些人排除在外。

6.不能限制任何人在某一特定領域使用程序——讓商業人士加入社區,而不是被排除在外。

7.程序上的權利必須適用於任何再分發的程序——禁止以間接的方式封閉軟件。

8.許可證不能特殊對待一個產品——預先防止了其他類型的許可證的陷阱。

9.許可證不能限制其他軟件——分發者有對自己的軟件進行選擇的權利。

10.許可證必須保持技術中立——任何條款都不能根據任何個人技術或者接口的樣式來推斷。

這就是說,只有基於以上原則的源代碼可公開訪問的軟件才能被稱作開放源代碼軟件,即開源軟件。開源軟件雖然源自自由軟件,但一般而言,自由軟件有時更接近於基於哲學思想的理想主義,而開源軟件則更注重程序本身的質量提升。

參考資料:www.ossw.com.cn/bencandy.php?id=42

java開源是什麼意思

開源指的是:大部分的源代碼可以共享的。。。

耿 還有Java的底層代碼是共享的。。。

向C#等其它語言底層你是看不到的。。。

開源的好處就是共同進步。。。。

至於軟件系統是有版權的。。。一般不可免費使用和修改。。

對程序員封裝的代碼不是好代碼(UNIX系統就是最好的證明)

開源是啥意思啊,有的軟件是開源的有什麼好處? 10分

最出名開源的就是Linxe系統, 開源的意思是 最核心代碼是明文編譯,編譯者可以看到代碼是怎麼個架構和思路;

開源的好處是所有人都可以看到代碼,有自己問題就可以直接對代碼進行修改,源代碼運行更加完善,功能更豐富.收到攻擊最少.現目前針對Linxe系統的病毒爆發是世界上最少的,為什麼呢?因為雖然叫Linxe系統,但是由於開發的人多了,形成了眾多版本,病毒在這個版本生效了,在另一個版本就不一定生效.

缺點是:軟件或系統很難產生大量收益.

代碼開源是什麼意思?

源代碼是別人編程寫好的代碼能夠直接看到。回答正確,代碼開源就是,該網站或軟件的核心代碼,或部分代碼,能用其他用戶可以看到

相關問題答案
軟件開源是什麼意思?
軟件配置是什麼意思?
項目開源是什麼意思?
案件來源是什麼意思?
軟件版本是什麼意思?
軟件設計是什麼意思?
軟件開發是什麼專業?
嵌入式軟件開發是什麼?
美好的開端是什麼意思?
單極開關是什麼意思?