開源軟體
⑴ 開源軟體是什麼意思
什麼是開源軟體
開源軟體,英文表示是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社團兩個重要部分的裂痕看來要彌合了。
⑵ 開源軟體和不開源軟體哪個質量更高
這個就是所謂的王婆賣瓜自賣自誇了,各說各得好。
開源方面認為開源軟體的質量一定高於版閉源的,尤權其是驅動程序,《深入Linux內核架構》這本書里多次堅持此觀點,這顯然不對,看開源的那個半殘NVIDIA驅動……
微軟方面當然是踩開源,但至少從我的經驗看,代碼質量上Linux內核是比Windows要高的(參見Windows 2000泄漏源碼,至少代碼規范上,Linux內核就更好)。
客觀點說,像Linux內核這樣有大量大公司和大牛參與,軟體工程管理也比較上軌道的,代碼質量就比較好。
而大量其他的開源項目,找他們的bug易如反掌,到處都是,我正在維護的一個開源密碼學庫,已經讓我有整體重構的沖動了。
⑶ 什麼是開源軟體,使用開源軟體有什麼好處
最出名開源的就是Linux系統, 開源的意思是 最核心代碼是明文編譯,編譯者可以看到代碼是怎麼個架構和思路;
開源的好處是所有人都可以看到代碼,有自己問題就可以直接對代碼進行修改,源代碼運行更加完善,功能更豐富.收到攻擊最少.現目前針對Linxe系統的病毒爆發是世界上最少的,為什麼呢?因為雖然叫Linxe系統,但是由於開發的人多了,形成了眾多版本,病毒在這個版本生效了,在另一個版本就不一定生效.
缺點是:軟體或系統很難產生大量收益
⑷ ,什麼是開源軟體,請列舉出5種開源軟體
開源軟體:開放源碼軟體《open-source》是一個新名詞,它被定義為描述其源碼可以被公眾使用的軟體,並且此軟體的使用,修改和分發也不受許可證的限制。開放源碼軟體通常是有right的,它的許可證可能包含這樣一些限制:著意的保護它的開放源碼狀態,著者身份的公告,或者開發的控制。「開放源碼」正在被公眾利益軟體組織注冊為認證標記,這也是創立正式的開放源碼定義的一種手段。
BSD UNIX: 由California大學Berkeley分校開發的基於"BSD"許可證的軟體。許多UNIX商業版本是直接基於BSD源碼或者大多從它的設計中借用來的。
Linux: 它從一個芬蘭的大學生的研究項目成長為近六年最流行的非Microsoft操作系統。最初它僅僅是為PCs機設計的,可現在它支持Palm Pilots(小型掌中平台),大型的64位Digital Alphas晶元的超級計算機,和在這兩者之間的幾乎任何事物。與傳統操作系統相比它的效率更高,更可靠,更先進。它包括編譯程序,庫,和來自於FreeSoftware Foundation的各種工具,還有成千上萬的open-source產品,Linux平台是一個小的但是卻在快速成長的商業產業的基礎,還是軟體革新的溫床。它由商業公司和散布在全世界的自由編程人員基於GPL所開發。
Perl語言:「Internet的傳輸帶」,大多數web伺服器的動態內容的基礎,廣泛用於腳本語言編程和自動化文檔處理。它由Perl研究所基於Artistic 許可協議開發。
WU-FTPD: 在Internet網上最流行的FTP伺服器,幾乎使用於所有的FTP站點。最初是由Bryan O'Connor在Washington大學Louis大街開發的,現在被Academ Consulting Services和許多自願者維護(BSD許可)。
瀏覽器:Firefox ,Mozilla Firefox,中文名通常稱為「火狐」,是一個開源網頁瀏覽器,使用Gecko引擎(即非ie內核),可以在多種操作系統如Windows,Mac和linux上運行。Firefox由Mozilla基金會與數百個志願者所開發,原名「Phoenix」(鳳凰),之後改名「Mozilla Firebird」(火鳥),再改為現在的名字。到2012年8月,在世界范圍內,Firefox占據著23%的使用份額。
Eclipse 是一個開放源代碼的、基於Java的可擴展開發平台。就其本身而言,它只是一個框架和一組服務,用於通過插件組件構建開發環境。Eclipse 附帶了一個標準的插件集,包括Java開發工具(Java Development Kit,JDK)。
資料庫:Hadoop是一個分布式系統基礎架構,由Apache基金會開發。用戶可以在不了解分布式底層細節的情況下,開發分布式程序。充分利用集群的威力高速運算和存儲。
網頁伺服器:Apache HTTP Server(簡稱Apache)是Apache軟體基金會的一個開放源碼的網頁伺服器,可以在大多數計算機操作系統中運行,由於其多平台和安全性被廣泛使用,是最流行的Web伺服器端軟體之一。它快速、可靠並且可通過簡單的API擴展,將Perl/Python等解釋器編譯到伺服器中。
⑸ 開源軟體是什麼意思
開源軟體,表示公開源代碼的軟體。軟體既然連源代碼都公開,因此開源軟體具備可以免費使用和公布源代碼的主要特徵。
⑹ 什麼是開源軟體和不開源軟體
1、開放源碼軟體(open-source)是一個新名詞,它被定義為描述其源碼可以被公眾使用的軟體,並且此軟體的使用,修改和分發也不受許可證的限制。開放源碼軟體通常是有right的,它的許可證可能包含這樣一些限制: 蓄意的保護它的開放源碼狀態,著者身份的公告,或者開發的控制。「開放源碼」正在被公眾利益軟體組織注冊為認證標記,這也是創立正式的開放源碼定義的一種手段。
2、不開源軟體就是封閉源代碼軟體,相對開放源代碼而言,為封閉源代碼軟體的簡稱。 只要源代碼不容易獲取,就被視為閉源軟體。閉源軟體,通常是在電子游戲開發中,付足夠的費用即可得到部分源代碼,如torque引擎,但一定是有限使用(通常為次數和不準透露),故不是開源軟體。
(6)開源軟體擴展閱讀:
開放源碼軟體主要被散布在全世界的編程者隊伍所開發,但是同時一些大學,政府機構承包商,協會和商業公司也開發它。開放源碼軟體在歷史上曾經與UNIX,Internet聯系得非常緊密。
在這些系統中許多不同的硬體需要支持,而且源碼分發是實現交叉平台可移植性的唯一實際可行的辦法。在DOS,Windows,Macintosh平台上僅僅有很少的用戶有可用的編譯器,開放源碼軟體更加不普遍。對開放源碼開發模式的更詳細的討論請看Eric Raymond寫的「The Cathedral and the Bazaar」。
⑺ 開源軟體有哪
開放源代碼軟體企業程序企業應用程序是一個泛指的概念,細分下來可分為企業資源計劃(ERP)、客戶關聯管理、項目管理、內容管理、人力資源管理、自動化采購軟體、信息倉庫(CIW)、生產計劃、庫存管理、群組軟體、B2B和圖書館資源整合系統(ILS)
⑻ 「自由軟體」和「開源軟體」有什麼區別
開源軟體和自由軟體一樣,具備一可以免費使用二是公布源代碼的主要特徵,所以在不刻意追究微小差異的情況下,我們可以認為開源軟體和自由軟體是兩個等價的概念。
但是開源軟體的理念不像自由軟體那樣極端,
自由軟體和開源軟體差不多是一樣的東西,都是軟體,但是兩種不同的哲學。自由軟體和開源軟體從哲學的角度看是非常不同的,因為它們基於不同的價值觀。自由軟體是關於自由以及社區,是一場道德運動,這場運動要求我們尊重其他人的自由,我們不應當忍受剝奪其他人的自由,我們不能讓其他人成為被殖民者,因此自由軟體涉及到對錯的問題。而開源軟體的哲學並不涉及到對與錯,它僅僅是一個實際的價值觀,這種哲學認為,他們有一個開發的模式,如果你按照這個開發的模式來做的話,那麼就會得到一個高質量的軟體。因此這就像是一個自由軟體的一個非常浮淺的一部分就是開源軟體,但是這個自由軟體不光是如此,看一看如何來做更好的自由軟體,這一點才是非常重要的,因為從使用的角度來看的話,這些研究是可以非常有用的。但是如果自由能夠給我們得來技術先進帶來的好處,我覺得不會有任何的抱怨,而且我也喜歡技術含量更高的軟體,這個更為重要。因此開源軟體的哲學,忽視了非常重要的一個問題,也就是如果讓其他人成為被殖民者的話這是錯誤的,我們必須阻止。從哲學層面上它們是完全不同的,但是如果這兩種哲學還有一個標准,就是什麼是軟體可以接受的,而這兩種標準是完全不一樣的。有一些部分的開源軟體是自由軟體,但是幾乎所有的自由軟體都是開源的。
⑼ 開源軟體
什麼是開源軟體
開放源代碼軟體(open source software,簡稱:Oss或開源軟體)是一種源代碼公開的軟體,這種「公開」正是促使人們使用它的原因,因為這意味著用戶可以自由的使用、復制、散發以及修改源碼(補充漏洞,按具體需求定製功能)。與其相對是私有/專屬軟體,如來自微軟和蘋果的軟體,這類軟體的源代碼是保密的,只有公司的開發人員才可以改動代碼。
eMule是使用C++開發的。
樓主想學習編程開發軟體的話。這個不是一朝一夕的事情。(現在it行業里,你要應聘一個公司,人家首先問你的就是有幾年的開發經驗)
但是,也不要把編程看成多麼困難的事情。只要你肯努力,就算不能達到比爾蓋茨那樣的水平,但是也會成為一個出色的程序員。
學習前,請先確定自己對這方面有很大的興趣,或者以後希望從事it行業,否則,大可沒有深入學習的必要(興趣不大,學學C就好)。
學習的話,建議從基礎學起。
首先學習C語言,推薦教材:<C語言程序設計>作者 譚浩強。個人覺得,這本雖然不如,《C程序設計語言》(機械的翻譯書籍),但是,非常適合初學者,尤其中國式教育的初學者。
C,是學習所有語言的基礎。如果,你很好的掌握了C語言,那麼學習其他的,就非常容易上手了。當然,如果你想直接學習Java或其他語言也可以的。
以後的編程方向 ,你可以選擇Java、.NET,這兩個算是最主流的,本人必將傾向於Java。其他的還有VC,VB,Delphi等等。以後做什麼,就看自己的了,喜歡什麼,就可以選擇什麼。
學Java的話,推薦書籍<Thinking in Java>,入門書籍。
這些書籍,都有電子版的,但是不推薦使用。盯著電腦看書,對眼對身體都是不好的。還費電。而且,我是看不下去的,看一小段,就玩其他的了。
最後,建議入門的話,找個老師或者培訓機構學習。畢竟沒接觸過,有人教還是很方便的,而且,比自己看書要快得多。
另外,學習過程中,盡量的都掌握好。沒工作的話學習的都是很基礎很基礎的,基礎是要打好的。
ps:個人見解,希望可以幫助樓主解決問題。