安卓系统是开源的,开源是啥意思?

山晚一飞


开源,全称为开放源代码,就是用户利用源代码,在遵循开源协议(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工作的一个工具。


分享到:


相關文章: