安卓系統是開源的,開源是啥意思?

山晚一飛


開源,全稱為開放源代碼,就是用戶利用源代碼,在遵循開源協議(GNU)進行使用、編譯和再發布。雖然大家可以修改,但開源系統同樣也有版權,也受到法律保護。用戶在使用開源產品時,不但需表明產品來自開源軟件和註明源代碼編寫者姓名,而且還應把所修改產品返回給開源軟件,否則所修改產品就可視為侵權。

簡單的來說,比如谷歌開發了安卓系統最基礎的框架了,華為等手機廠家可以利用其源代碼開發修改升級匹配自身的系統,但是因為基礎源代碼來自於安卓(所以我們的手機開機時一般都會體現POWERED BY Android)。而且開發者對於源代碼的任何改進都必須要告知開源軟件的公司,這樣也有利於開源的公司進一步提高源代碼。在這方面華為為安卓的發展壯大做出了巨大的貢獻。

開發系統很難嗎?

早期的時候可能困難,但是以現在華為的技術水平來說,開發一個手機操作系統根本不難,但是為什麼一直不推出自己的系統呢?這是因為系統容易,生態難。

每一種操作系統都有它的運行環境,所有你在下載APP的時候,不同的操作系統是要下載不同的APP的。一個新的操作系統進來,沒有你那個系統的APP,那麼根本沒人會使用你的手機,因為它等於以前的老人機。

舉個例子:比如華為開發了一個系統(據傳是鴻蒙),但是微信、支付寶、百度等等這些企業都不開發適用於鴻蒙系統的APP軟件,那麼鴻蒙系統將會面臨的無軟件可下載的情況,這時候,這個系統等於廢棄的一個系統。之前微軟在意識到的手機操作系統的重要性之後,也推出了Windows Phone,不過最終也敗下陣來了,因為沒有匹配的app可以下載,所以安卓並不是強大,只是它搶佔了先機而已。

PS:很多人會說那蘋果屬於閉源系統,這些軟件開發公司是怎麼開發APP的。簡單的來說app應用是需要調取系統的權限完成一些特定的工作,系統閉源可以簡單理解成禁止其他開發者獲取系統的代碼,但是應用需要獲取的權限是可以賦予的,還有編寫應用的代碼也是開放的,ios雖然不讓你看源碼,但它也提供了sdk用來調用系統資源,也提供了api接口來和系統通信調度,所以微信支付寶這些公司可以開發適用於ios的app。

華為的解決辦法

華為最好的解決辦法是直接開發出可以兼容安卓APP的系統,那麼關於系統的問題就全部迎然而解了,華為的回應中也說明有能力繼續發展和使用安卓生態,所以大概率預計新系統是可以兼容的。

假設華為的系統無法兼容安卓的app,那麼需要目前所有開發APP的各家企業支持,重新開發適用於華為系統的app應用,這個難度就有點大了,國內或許還好,國際就比較困難了,畢竟別人沒有義務做這件事。

總結

一個操作系統就像一個生態圈,一旦這個生態圈穩定,其它的系統就很難進得來,電腦等其它操作系統也是如此,所以華為的困難不在與開發操作系統,而在於其生態圈的架構,最簡單的方式就是直接兼容安卓app。


鯉行者


開源,顧名思義,就是開源源代碼,但是使用者需要遵守開源規則。

安卓開源,就是說所有的廠商或者開發者都可以直接使用安卓的源代碼去開發,但是需要遵守谷歌的使用條件。

比如說,

全球所有廠商必須預裝Google全家桶(中國內地,朝鮮除外,因為谷歌已經退出該市場,服務不可用)。

而對於國內的安卓在開機時都會有一個Android的標籤,這個是在Android 4.4開始強制要求的,不然以前很多廠商改成跟自己家的系統一樣,完全不把谷歌放在眼裡。

其次是核心代碼功能不能隨意更改,必須遵守API的協議,某些廠商亂改底層導致一堆兼容性變差,谷歌被黑鍋(說得就是中國定製的Android)。

還有很多條例就不一一列舉。

但是開源必須遵守開源精神,這對作者也是一個尊重。

作為個人開發者的我,使用他人代碼依然會註明原作者信息。


天零


開源就是開放,誰進來都行,身體想咋用就咋用,不過你的身體也得給我任意使用。

最典型的開放系統就是手機安卓系統,安卓系統是谷歌旗下的產品,當初為了和同行業對手競爭,做了石破天驚的一舉,就是把自己系統的一切透明化,共享化。

在這樣一種做法下,吸引來最多的生態開發支持者,讓塞班手機系統消失在人們的視野中。

不夠開放的微軟WINDOWS手機系統,也是曾經想要染指手機操作系統的,但,天生不開放的缺陷,讓想要資源共享的開發者不能為我所用,這樣WINDOWS手機系統就被邊緣化。

谷歌之後,中國的華為等高科技企業看到了透明化的開放優勢,要想超越谷歌不受所制約,推出的鴻蒙系統等都是開源的,代碼彼此借鑑拿來應用,無需專利限制與保護。

為什麼如今的人工智能發展的這麼快?



就是因為有了Github這個開源的程序平臺,讓世界各地的行業精英們趨之若鶩的在平臺上發佈項目,一天又一天持續的搭建,就讓信息大廈在一點一滴的趨於完美。

你的技術也就是我的技術,這就是開源的雙贏,開放的結果。


七色慧


開源從字面上的理解就是開放源頭,使用者可以在源代碼的基礎上進行修改和補充,形成具有特點的定製功能,很多人認為開源就是免費的,它只是對外界開放,但必須要符合原始開發公司的要求。



其中最具代表性的開源系統就是Linux,各種應用不斷完善更新都離不開它。最大的特點是開放源代碼可以自由定製,由於用戶的技術水平有限,很多的硬件和軟件廠商並沒有提供開源的功能,這就要靠使用者在選擇操作系統時根據自己的技術水平來選擇,這也說明了很少人用開源操作系統的原因。而對於專業的開發人員來說,開源系統有很大的優勢,開發應用可以隨心所欲也沒那麼複雜,因為是開放的源代碼,可以根據自己特定的需求進行修改,這對於互聯網開發人員來說,是非常重要的幫助。

像Android的系統就是開源的,基於Linux程序開發的一個Java虛擬器,然後在這個設備裡運行Java。很多手機廠商在原生Android系統裡添加一些定製的功能,形成獨有的系統特色,這些操作也不用谷歌授權。但有個前提,只能修改一些普通的代碼,重要的核心部分不能修改。



系統開源給了大家很多的便利,用戶也在不斷增長,對於開源的部分也是會受到一定的限制,谷歌公司可以給你空間去創新,但核心技術還是在別人手裡,只有開拓局面,掌握核心技術開發自己的操作系統才是王道。


星河方舟


首先我們要理解開源的字面含義


開就是開放,開發
源就是源碼,底層的代碼或者是說是迭代的代碼


從這兩個方面來講,我們就好理解開源的含義了


開放,開發


安卓系統現在是世界上最大的智能手機操作系統,也是最開放的手機操作系統。安卓系統是開源的,他的系統的代碼會向全世界的人開放,代碼開放意味著其他人可以更改你的系統代碼,在裡面可以做成他們想要的功能,也就是深度的定製。像以前的很流行的刷機,當然,現在也比較流行,只是人越來越少了,至少在我的身邊是這個樣子。


還有,開源的安卓手機,會被各種開發者開發,典型就是獲取root權限,之後就可以玩手機了。這主要是面向開發者開放。普通人是沒有什麼興趣去了解的。


還有一個就是開發了。一個開源的手機操作系統,必然會有很多的手機開發者。也叫手機開發工程師,而Java就是一個典型的面對手機端的編程語言。安卓的開源,在全世界為它自己的系統開發網羅了大量的開發人員。包括大公司的工程師,當然,也有刷機的大神。他們的出於自己的努力或者是興趣,大大的加速了安卓的版本更新,這裡主要是谷歌的人員。


源碼,底層的代碼或者是說是迭代的代碼


手機系統和應用的運行,其實都是代碼在運行。代碼是他們的基礎,沒有底層的系統架構代碼,就不會有系統。你連繫統桌面都不會看到,更不用說運行一個應用了。系統的更新依靠的是發現代碼裡的漏洞或者的優化代碼的運行結構,加快運行速度,直接就體現在手機的流暢性上了。其實還是底層的代碼的迭代。


應用的更新也是迭代的代碼,只是商家不會把自己的源碼公佈出來的。開發一個應用,最最基礎的就是自己的源碼。要是你拿了我的源碼,自己搞一個同樣的應用,那我怎麼辦?大家可以去了解一下,開發一個應用,只是一個應用的代碼開發部份是怎麼樣的就可以了。


如果你喜歡我的文章的話,請點贊或者評論區留言

我們一起討論和交換觀點

你的鼓勵是我最大的動力


看點消息


歡迎在點擊右上角關注:「太平洋電腦網」,不定時放送福利哦!

開源,全稱為開放源代碼,是每個人都能看到,每個人都可以在規則之內使用,使用和開發之後需要把你的產品返回到代碼之中。

主要是為了人人為我,我為人人的精神,共同推動這個社區或者是這個系統進步。

安卓開源,那就是谷歌需要會把安卓的代碼公佈公開出來,方便用戶在這個代碼的基礎上進行學習,同時也能修改,甚至可以進行商業化。

但是,你在這個基礎上開發和修改的代碼也需要公佈出來,不能只索取不付出的,需要求同存異,互利共贏。

當然,這樣做的方式,是想要通過全世界的程序員的力量,把開發的工作的難度降低了,提高了程序員的工作效率,避免重複造輪子。

同時,如果你用到了別人的代碼,你需要備註代碼的作者,表示對於作者的尊重。

所以說,安卓系統是全世界的程序員的成果,因為大家在這個基礎上開發了是需要把代碼公開的,供大家使用和學習的。這也是安卓能這麼快發展和進步的原因,因為這匯聚了全世界程序員的智慧。

所以,世界上沒有任何一個人能夠阻止其他人去使用安卓系統的代碼。谷歌不授權,也只不過是不能使用Google的APP,也不能使用GSM服務協議而已。當然,這個在國外影響挺大的,但是依然可以使用安卓系統的。


太平洋電腦網


全稱為開放源代碼,就是用戶利用源代碼,在遵循開源協議(GNU)進行使用、編譯和再發布。雖然大家可以修改,但開源系統同樣也有版權,也受到法律保護。用戶在使用開源產品時,不但需表明產品來自開源軟件和註明源代碼編寫者姓名,而且還應把所修改產品返回給開源軟件,否則所修改產品就可視為侵權。

簡單的來說,比如谷歌開發了安卓系統最基礎的框架了,華為等手機廠家可以利用其源代碼開發修改升級匹配自身的系統,但是因為基礎源代碼來自於安卓(所以我們的手機開機時一般都會體現POWERED BY Android)。而且開發者對於源代碼的任何改進都必須要告知開源軟件的公司,這樣也有利於開源的公司進一步提高源代碼。在這方面華為為安卓的發展壯大做出了巨大的貢獻。

開發系統很難嗎?

早期的時候可能困難,但是以現在華為的技術水平來說,開發一個手機操作系統根本不難,但是為什麼一直不推出自己的系統呢?這是因為系統容易,生態難。

每一種操作系統都有它的運行環境,所有你在下載APP的時候,不同的操作系統是要下載不同的APP的。一個新的操作系統進來,沒有你那個系統的APP,那麼根本沒人會使用你的手機,因為它等於以前的老人機。

舉個例子:比如華為開發了一個系統(據傳是鴻蒙),但是微信、支付寶、百度等等這些企業都不開發適用於鴻蒙系統的APP軟件,那麼鴻蒙系統將會面臨的無軟件可下載的情況,這時候,這個系統等於廢棄的一個系統。之前微軟在意識到的手機操作系統的重要性之後,也推出了Windows Phone,不過最終也敗下陣來了,因為沒有匹配的app可以下載,所以安卓並不是強大,只是它搶佔了先機而已。

PS:很多人會說那蘋果屬於閉源系統,這些軟件開發公司是怎麼開發APP的。簡單的來說app應用是需要調取系統的權限完成一些特定的工作,系統閉源可以簡單理解成禁止其他開發者獲取系統的代碼,但是應用需要獲取的權限是可以賦予的,還有編寫應用的代碼也是開放的,ios雖然不讓你看源碼,但它也提供了sdk用來調用系統資源,也提供了api接口來和系統通信調度,所以微信支付寶這些公司可以開發適用於ios的app。

華為的解決辦法

華為最好的解決辦法是直接開發出可以兼容安卓APP的系統,那麼關於系統的問題就全部迎然而解了,華為的回應中也說明有能力繼續發展和使用安卓生態,所以大概率預計新系統是可以兼容的。

假設華為的系統無法兼容安卓的app,那麼需要目前所有開發APP的各家企業支持,重新開發適用於華為系統的app應用,這個難度就有點大了,國內或許還好,國際就比較困難了,畢竟別人沒有義務做這件事。

總結

一個操作系統就像一個生態圈,一旦這個生態圈穩定,其它的系統就很難進得來,電腦等其它操作系統也是如此,所以華為的困難不在與開發操作系統,而在於其生態圈的架構,最簡單的方式就是直接兼容安卓app


將頓電池


安卓系統開源,就是安卓系統源代碼對外開放,給你舉個例子,假如你要寫小說,小說的內容就像系統裡面的代碼,然後你發佈到網上那麼其他網站就會找你合作,希望得到你的授權,那麼你同意過後才能發佈,你當然希望有更多的人來看你的小說,也希望讀者能給你提提建議,那麼你肯定也會要求網站備註這個小說的作者是誰,一來防止別人修改你的小說內容,二來你可以收到讀者的建議!那麼你就會不斷的完善其小說的內容!

那麼你的小說內容對外發布,就相當於把源代碼公開,這就是系統開源,然後就是別人拿你的小說內容拍電影,它也要表明影片內容的作者及作品,這相當於把你的作品作為影片內容的框架,可能在小說的內容上修改一下,然後拍成影片發佈,說到這裡,是不是明白什麼是系統開。

也就是說我可以將我的系統開放給你使用,但是你只能在系統上進行創作和修改,因為這系統裡面有我的版權技術在裡面!我只是給你免費使用而已,當我不想給你使用,你必修刪除我在系統裡面的版權技術。


曙光裡的科技


開源是IT領域的公益事業,只不過流通的不是物資,而是代碼。

就像控制物資不被濫用一樣,開源的代碼受License的約束和保護。代碼不像“物資”會被使用完結,它在流傳和被人們使用的過程中能夠不斷被完善發生進化,所以開源還促成了知識的最大分享、傳承和創新進步。


啟冬網絡科技


android (安卓)是完全開源的。

Android是一種基於Linux的自由及開放源代碼的操作系統。主要使用於移動設備,如智能手機和平板電腦,由Google(谷歌)公司和開放手機聯盟領導及開發。

尚未有統一中文名稱,中國大陸地區較多人使用“安卓”或“安致”。Android操作系統最初由Andy Rubin開發,主要支持手機。2005年8月由Google收購注資。

2007年11月,Google與84家硬件製造商、軟件開發商及電信營運商組建開放手機聯盟共同研發改良Android系統。隨後Google以Apache開源許可證的授權方式,發佈了Android的源代碼。

擴展資料:

一、發展歷程

2003年10月,Andy Rubin等人創建Android公司,並組建Android團隊。

2005年8月17日,Google低調收購了成立僅22個月的高科技企業Android及其團隊。安迪魯賓成為Google公司工程部副總裁,繼續負責Android項目。

2007年11月5日,谷歌公司正式向外界展示了這款名為Android的操作系統,並且在這天谷歌宣佈建立一個全球性的聯盟組織,該組織由34家手機制造商、軟件開發商、電信運營商以及芯片製造商共同組成。

並與84家硬件製造商、軟件開發商及電信營運商組成開放手持設備聯盟(Open Handset Alliance)來共同研發改良Android系統,這一聯盟將支持谷歌發佈的手機操作系統以及應用軟件,Google以Apache免費開源許可證的授權方式,發佈了Android的源代碼。

2008年,在GoogleI/O大會上,谷歌提出了AndroidHAL架構圖,在同年8月18號,Android獲得了美國聯邦通信委員會(FCC)的批准,在2008年9月,谷歌正式發佈了Android 1.0系統,這也是Android系統最早的版本。

二、系統內核

Android 是運行於Linux kernel之上,但並不是GNU/Linux。因為在一般GNU/Linux 裡支持的功能,Android 大都沒有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。

Android又以Bionic 取代Glibc、以Skia 取代Cairo、再以opencore取代FFmpeg等等。Android 為了達到商業應用,必須移除被GNU GPL授權證所約束的部份,例如Android將驅動程序移到 Userspace,使得Linux driver 與 Linux kernel徹底分開。

Bionic/Libc/Kernel/ 並非標準的Kernel header files。Android 的 Kernel header 是利用工具由 Linux Kernel header 所產生的,這樣做是為了保留常數、數據結構與宏。

Android 的 Linux kernel控制包括安全(Security),存儲器管理(Memory Management),程序管理(Process Management),網絡堆棧(Network Stack),驅動程序模型(Driver Model)等。下載Android源碼之前,先要安裝其構建工具 Repo來初始化源碼。Repo 是 Android 用來輔助Git工作的一個工具。