安卓系统是开源的,开源是啥意思?
Spicy
开源,顾名思义,就是开源源代码,但是使用者需要遵守开源规则。
安卓开源,就是说所有的厂商或者开发者都可以直接使用安卓的源代码去开发,但是需要遵守谷歌的使用条件。
比如说,
全球所有厂商必须预装Google全家桶(中国内地,朝鲜除外,因为谷歌已经退出该市场,服务不可用)。
而对于国内的安卓在开机时都会有一个Android的标签,这个是在Android 4.4开始强制要求的,不然以前很多厂商改成跟自己家的系统一样,完全不把谷歌放在眼里。
其次是核心代码功能不能随意更改,必须遵守API的协议,某些厂商乱改底层导致一堆兼容性变差,谷歌被黑锅(说得就是中国定制的Android)。
还有很多条例就不一一列举。
但是开源必须遵守开源精神,这对作者也是一个尊重。
作为个人开发者的我,使用他人代码依然会注明原作者信息。
thunder7
欢迎在点击右上角关注:「太平洋电脑网」,不定时放送福利哦!
开源,全称为开放源代码,是每个人都能看到,每个人都可以在规则之内使用,使用和开发之后需要把你的产品返回到代码之中。
主要是为了人人为我,我为人人的精神,共同推动这个社区或者是这个系统进步。
安卓开源,那就是谷歌需要会把安卓的代码公布公开出来,方便用户在这个代码的基础上进行学习,同时也能修改,甚至可以进行商业化。
但是,你在这个基础上开发和修改的代码也需要公布出来,不能只索取不付出的,需要求同存异,互利共赢。
当然,这样做的方式,是想要通过全世界的程序员的力量,把开发的工作的难度降低了,提高了程序员的工作效率,避免重复造轮子。
同时,如果你用到了别人的代码,你需要备注代码的作者,表示对于作者的尊重。
所以说,安卓系统是全世界的程序员的成果,因为大家在这个基础上开发了是需要把代码公开的,供大家使用和学习的。这也是安卓能这么快发展和进步的原因,因为这汇聚了全世界程序员的智慧。
所以,世界上没有任何一个人能够阻止其他人去使用安卓系统的代码。谷歌不授权,也只不过是不能使用Google的APP,也不能使用GSM服务协议而已。当然,这个在国外影响挺大的,但是依然可以使用安卓系统的。
浪漫星空
开源就是开放,谁进来都行,身体想咋用就咋用,不过你的身体也得给我任意使用。
最典型的开放系统就是手机安卓系统,安卓系统是谷歌旗下的产品,当初为了和同行业对手竞争,做了石破天惊的一举,就是把自己系统的一切透明化,共享化。
在这样一种做法下,吸引来最多的生态开发支持者,让塞班手机系统消失在人们的视野中。
不够开放的微软WINDOWS手机系统,也是曾经想要染指手机操作系统的,但,天生不开放的缺陷,让想要资源共享的开发者不能为我所用,这样WINDOWS手机系统就被边缘化。
谷歌之后,中国的华为等高科技企业看到了透明化的开放优势,要想超越谷歌不受所制约,推出的鸿蒙系统等都是开源的,代码彼此借鉴拿来应用,无需专利限制与保护。
为什么如今的人工智能发展的这么快?就是因为有了Github这个开源的程序平台,让世界各地的行业精英们趋之若鹜的在平台上发布项目,一天又一天持续的搭建,就让信息大厦在一点一滴的趋于完美。
你的技术也就是我的技术,这就是开源的双赢,开放的结果。
corona4125
开源,全称为开放源代码,就是用户利用源代码,在遵循开源协议(GNU)进行使用、编译和再发布。虽然大家可以修改,但开源系统同样也有版权,也受到法律保护。用户在使用开源产品时,不但需表明产品来自开源软件和注明源代码编写者姓名,而且还应把所修改产品返回给开源软件,否则所修改产品就可视为侵权。
简单的来说,比如谷歌开发了安卓系统最基础的框架了,华为等手机厂家可以利用其源代码开发修改升级匹配自身的系统,但是因为基础源代码来自于安卓(所以我们的手机开机时一般都会体现POWERED BY Android)。而且开发者对于源代码的任何改进都必须要告知开源软件的公司,这样也有利于开源的公司进一步提高源代码。在这方面华为为安卓的发展壮大做出了巨大的贡献。
开发系统很难吗?早期的时候可能困难,但是以现在华为的技术水平来说,开发一个手机操作系统根本不难,但是为什么一直不推出自己的系统呢?这是因为系统容易,生态难。
每一种操作系统都有它的运行环境,所有你在下载APP的时候,不同的操作系统是要下载不同的APP的。一个新的操作系统进来,没有你那个系统的APP,那么根本没人会使用你的手机,因为它等于以前的老人机。
举个例子:比如华为开发了一个系统(据传是鸿蒙),但是微信、支付宝、百度等等这些企业都不开发适用于鸿蒙系统的APP软件,那么鸿蒙系统将会面临的无软件可下载的情况,这时候,这个系统等于废弃的一个系统。之前微软在意识到的手机操作系统的重要性之后,也推出了Windows Phone,不过最终也败下阵来了,因为没有匹配的app可以下载,所以安卓并不是强大,只是它抢占了先机而已。
PS:很多人会说那苹果属于闭源系统,这些软件开发公司是怎么开发APP的。简单的来说app应用是需要调取系统的权限完成一些特定的工作,系统闭源可以简单理解成禁止其他开发者获取系统的代码,但是应用需要获取的权限是可以赋予的,还有编写应用的代码也是开放的,ios虽然不让你看源码,但它也提供了sdk用来调用系统资源,也提供了api接口来和系统通信调度,所以微信支付宝这些公司可以开发适用于ios的app。
华为的解决办法华为最好的解决办法是直接开发出可以兼容安卓APP的系统,那么关于系统的问题就全部迎然而解了,华为的回应中也说明有能力继续发展和使用安卓生态,所以大概率预计新系统是可以兼容的。
假设华为的系统无法兼容安卓的app,那么需要目前所有开发APP的各家企业支持,重新开发适用于华为系统的app应用,这个难度就有点大了,国内或许还好,国际就比较困难了,毕竟别人没有义务做这件事。
总结一个操作系统就像一个生态圈,一旦这个生态圈稳定,其它的系统就很难进得来,电脑等其它操作系统也是如此,所以华为的困难不在与开发操作系统,而在于其生态圈的架构,最简单的方式就是直接兼容安卓app。
沙沙要飞翔
蔚可云小蓝豆IM即时通讯(即时通讯有集成,定制,源码全开源)三种版本,小蓝豆通讯软件【界面清爽,操作简单,实时拨打音视频通话。功能:单聊、群聊、发送文本、图片、语音、视频、位置、文件、音视频通话】另【限时特惠】购买IM免费送云服务器、SSL证书 。
kenny77
开源的意思就是完成开放源代码,任何企业和开发者在遵循开源协议(GNU)的前提下都可以对安卓系统进行修改和补充。开源还有一个好处就是任何一个开发者使用安卓源代码都是完全免费的。
安卓系统虽然完全开放,免费,但也有版权的。如果开发者在使用安卓源代码时,需注明产品软件来源于安卓源代码和开发者姓名,否则视为侵权并承当相应的法律责任。
那这样说谷歌的安卓基本不赚钱了,那么谷歌为什么要开源安卓呢?
因为安卓诞生在一个多竞争的时代,当年可谓是前有苹果后有塞班。当时全球99%的手机系统份额都被ios系统和塞班系统占据,如果安卓遵循苹果的封闭试系统和塞班的收取版权费的模式,估计安卓早就淹死在历史的潮流当中了。只有打破传统,才能绝境逢生。所以在2008年10月一个完全开放免费的安卓横空出世,彻底熄灭了塞班的幻想,现与ios争雄。
M君认为虽然安卓是免费的,但免费其实是世界上最贵i的东西。如今安卓在全球拥有庞大的用户基数,而户习惯一旦养成了就离不开了,于是各种收费业务、广告业务也就随着而来。所有每年谷歌靠着安卓系统都赚取了巨额的广告费。
题外话:华为早在2012年就开始研发鸿蒙系统了,至今已更新至鸿蒙2.0了,但还未运用到手机上,难道一个系统的开发运用真的有那么难吗?
M君认为难的不是系统的开发,而在于用户是否认可这个操作系统。
打个比方,现在应该有不少用了很多年ios用户在用安卓系统时,是不是感觉非常不习惯,然而不得不再次投入ios的怀抱(安卓用户也一样)。
华为之所以没有在鸿蒙系统问世之时就运用到手机上,主要是考虑用户是否能够容纳这个新系统,华为不得不从用户的角度不断完善鸿蒙系统。M君相信搭载鸿蒙系统的华为手机将是手机操作系统历史上史诗级的时刻。
总的来说完全开放免费的安卓系统也能为谷歌带来巨额收益,而搭载鸿蒙系统的华为手机势必掀起惊涛骇浪。如果明年华为出鸿蒙系统的手机M君一定会买一台的,小伙伴们是否考虑入手呢?
小蜜蜂Ryan
我们常常听说安卓Android系统是开源的,苹果iOS系统是闭源的,那你知道什么是开源什么是闭源吗?今天本极客来科普一番。
开源的含义和意图“开源”,我们顾名思义,“开”就是开放的意思,“源”,就是源代码的意思。
安卓系统是由科技巨头谷歌的研发团队开发出的,是目前广泛运用在手机端的操作系统,换言之,是一种软件。既然是软件,就是代码组成的,那就有它自己的源代码,这些源代码是我们的程序员小哥哥一行一行敲出来的。
那安卓系统的开源也就很好理解了,相当于是谷歌向全世界公开了安卓系统的源代码,所有企业和个人都可以从网上获取安卓的源代码并且进行定制化开发,比如华为小米,各种在安卓系统上进行了自己系统定制,玩出自己的风格。
但是很多人会误会,因为开源就是免费,实际上即使是开源的软件,也不是都是免费的。开源的软件都需要遵从一套业内统一协定的规则体系,意味着即使你使用的是开源的软件,但是如果你需要进行商业盈利性的定制化,依然是需要付费的,毕竟做开源的软件的企业不是慈善家,他们的最终目的还是要盈利。
那你会问了,那他们开源干嘛,不怕被别人偷偷不付费使用吗?开源最大的好处就是可以集结全世界程序员的智慧,这也是安卓系统的恐怖之处,这个系统的各类代码可以来自世界各地的技术大牛,这可以极大提升系统的稳定性。
毕竟是全球的程序员翘楚来帮忙改漏洞,谷歌何乐而不为呢?这也造就了安卓系统运用至今依然是稳定的操作系统。
而谷歌也不怕个人或者小企业去不为安卓系统买单,谷歌的格局还是比较庞大的,小企业或者个人想去自己定制化系统恐怕没有这个能力,而大企业也不会去做违背商业纪律的事情损害自己企业前景,并且安卓系统很多核心服务还是需要谷歌自己提供,这依然是 。
长知识了吧,这回你明白开源的意思和意图了吗?
关注“极客宇文氏”,一名热心有料的互联网观察者。
七妙
代码是公开的,称作开源
BK不二
开放源码软件是通过一种特定的许可来发布的,这种许可使最终用户可以合法地获得它的源代码。有许多这样的许可证,但是通常软件被认为是开源的。
它以源代码的形式提供,不需要额外的成本,这意味着用户可以查看包含软件的代码,并对其进行任何他们想要的更改。
源代码可以被重新应用到其他新软件中,这意味着任何人都可以获取源代码并从中发布他们自己的程序。
开源软件是免费的吗?开源软件并不一定意味着可执行软件是免费的。然而,这确实意味着它的源代码是免费的。
开源软件有时也会和自由软件运动混为一谈,这可能会增加关于开源是否意味着“自由”的混淆。自由软件运动起源于1970年代的黑客文化,由Richard Stallman作为GNU项目和非营利自由软件基金会的一部分正式成立。通常,“自由软件”旨在强调终端用户权利上的自由,但有时会被混淆为“免费”的意思。
实际上,自由软件和开放源码软件都没有提到任何关于成本的东西——这两种软件都可以合法地出售或赠送。相反,它们之间的主要区别在于分享。对于自由软件来说,如果您对源代码进行了更改并想要共享它们,那么您还必须将这些更改与原始项目共享。对于开源软件,通常没有这样的限制。
尽管自由软件和开源软件在实际操作上存在差异,但它们拥有共同的价值观。事实上,这两个术语有时被组合成流行的短语“自由和开源软件”(FOSS)。
财务自由软件实际上可能比付费软件更贵
自由/开源软件和私有软件专有软件和自由/开源软件之间的关键区别是源代码的可用性。像Microsoft Windows和Adobe Photoshop这样的专有或商业软件不能作为源代码提供给终端用户。
还有不同类型的开放源码许可。例如,如果有人将您的源代码转换为新的软件,您是要求他们在相同的许可证下发布(如GNU GPL所允许的),还是在不同的许可证下发布?如果互联网和日益流行的云计算模型的起源不是基于开源软件,那么它们将会非常不同。
开源软件为什么重要?开放源码软件对每个人都很重要,而不仅仅是程序员,因为它释放了更多的人成为创新者的潜力,而不是封闭源码模型。例如,开源社区是围绕开源项目组织的,任何有技能的人都可以加入并贡献代码。这些组织仍然像专有软件团队一样,保持着贡献开源项目的标准,但是他们向世界上任何想要贡献的人开放了这个过程。
You看起来很好吃
说到开源不得不先说说安卓。什么是安卓呢?安卓是操纵系统。放眼市场,由当年的诺基亚的塞班系统,苹果IOS系统,到后起之秀安卓系统。智能手机市场发生了翻天复地的变化。当年诺基亚智能手机龙头老大的光辉已不再。可以说主要原因就是安卓系统的出现,而且安卓是开源的。那开源是什么意思呢?
我认为开源即开放原始代码,分享出来,供大家自由使用,学习,修改,分享开源就是把源代码开放。这个源代码对我们的程序,软件来说就像盖房子的施工图纸一样。非常重要。或者是我们做菜的菜谱一样。举个例子:就像我们自己研究了一道新的菜,清蒸茄子,味道非常好,所谓独乐乐不如众乐乐,迫不及待想和大家分享。然后我们就把这清蒸茄子的秘制做法放到网上。按照我的做法,大家都能品尝到美味的清蒸茄子了。但有的小伙伴们并不满足现有的清蒸茄子,他们觉得不太适合自己的口味。然后基于这道菜的做法,做了一些调整。大明给这道菜加了盐。李四给这道菜增加了肉,生姜等,最后又有了2道新菜,油淋茄子,红烧茄子。我觉得就是像这种把菜谱分享出来,供大家自由使用,学习,修改,分享就是我们说的开源。
开源下的国内手机品牌厂商的产品正因为手机系统android开源,国内各大品牌手机都对其进行修改。让我们感受到了各种款式的好手机。也是对我们这些机友们的福利吧!比如华为,小米,oppo对android进行了修改,完善。有了自己的EMUI MIUI ColorOS
android虽开源,但是我们还是需要遵守其协议我认为我们在生活中,我们能看到各式各样的声明,就像我们把菜谱分享出来一样,为了保险起见我们要声明一下,大家怎么用都 可以。但我们不承担使用后的风险。所以有各种开源协议。比如GPL BSD等等。不同的协议也有不同的特点。像安卓就是GPL协议。当我们基于安卓开发出EMUI MIUI的时候,新开发的系统也需要遵循GPL协议进行开源。那我们假设,如果安卓采用的是BSD协议。我们要是基于安卓开发了一个A OS 。这个A OS可以开源,也可以不开源。根据这个BSD协议,可能我们只需要在这个A OS里面保留原作者的信息即可。这就是我们所说的开源协议
总结:
我认为开源即开放源代码,分享出来,供大家自由使用,学习,修改,分享。正因为开源才让我们的产品那样丰富多样。才是安卓系统那么受欢迎。我们在修改源代码进行私人定制的时候,也不要申明下原作者的信息。对他们的劳动成功也是最大的肯定以及尊重。
coolding
全称为开放源代码,就是用户利用源代码,在遵循开源协议(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的约束和保护。代码不像“物资”会被使用完结,它在流传和被人们使用的过程中能够不断被完善发生进化,所以开源还促成了知识的最大分享、传承和创新进步。
咖啡雪
其实安卓系统并非都是开源的,我们先搞清楚开源到底是什么,在说说安卓系统哪些是开源的。
开源是什么
开源,全称开放源代码。通常说的是IT领域,就是你写的软件和代码和完全公布出来供大家学习使用,但是并不是无条件的,开源的软件或代码也有版权的,也是受法律保护的。
当今市面上开源软件占据主流,很多人以为开源就是免费的,其实不然。
开源软件主要特点是开放,任何人都可以获取到软件源代码,可以用于学习,甚至可以修改后重新发布软件,当然发布的内容实在版权限制范围之内。
那版权限制具体是什么限制呢?这就得说说伴随开源的开源协议了!
主流的开源协议有以下几种:
GPL:GNU通用公共许可证(GNU General Public License)
要求软件必须无条件开放所有源代码,并规定任何人都能以源代码的形式将软件复制和发布。LGPL:GNU较宽松公共许可证 (GNU Lesser General Public License)
LGPL 是GPL的衍生品,GPL要求使用者发布的软件也必须开源,这不利于商业软件的发展。
LGPL 协议的开源代码可以被商业软件作为类库引用并发布和销售。商业软件通过类库引用(link)的方式使用 LGPL 类库,而商业软件无需开源。
如果修改了LGPL协议的源代码,涉及修改的代码和衍生的代码必须遵循LGPL协议。所以LGPL协议的源代码适合引用,而不适合在此基础上二次开发。
BSD开源协议
相比于GPL协议,BSD协议则自由很多。用户可以自由的修改源代码,并且可以讲修改后的代码作为开源或者专有软件再发布。
但这种自由必须满足三个条件:
如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。BSD协议鼓励代码共享和开源,但要充分尊重源代码作者和著作权。此协议对商业软件非常友好,所以很多公司在选开源产品时首选BSD协议。
Apache 协议 (Apache Licence)
Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和开源,需要充分尊重原作者的著作权,同样允许代码修改,并作为开源或专有软件再发布。
不过需要满足的条件有点差异:
需要给代码的用户一份Apache Licence如果你修改了源代码,需要再被修改的文件中说明。
在修改或衍生的代码中,需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
如果再发布的产品中包含一个Notice(通知)文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。
Apache Licence也是对商业软件非常友好的协议。用户可以在需要的时候修改代码来满足需求,并作为开源或专有软件再次发布或者销售。
MIT协议
MIT是和BSD一样宽范的许可协议,源作者只想保留版权,而无任何其他了限制.也就是说,你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的.
开源协议还有很多,这里就不一一介绍了,比如去年GitHub上很火的996事件,诞生了
996.ICU
协议。只要符合OSIA 认定,都可以做为开源软件许可证使用。
如果还不太懂开源协议的,可以看下下图,协议选择的逻辑图,大家一看应该就明白了。
解释下文章开头提出的其实安卓并不是完全开源的疑问
大家都知道安卓是基于linux系统开发的,但是大家可能不知道的是linux有上百种版本。
Android 是使用的linux系统内核,但此内核并不是基于GPL的Linux系统。
因为基于GPL的Linux 系统里支持的功能,Android 大都没有支持,比如Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。
谷歌为了达到商业化目的,移除了GPL约束的源代码。例如Android将驱动程序移到 Userspace,使得Linux driver 与 Linux kernel彻底分开。
其次是找替代品来代替受约束的源代码功能,比如用Bionic 取代Glibc、用Skia 取代Cairo、用opencore取代FFmpeg等等。
当然除了内核外,也有一些功能使用的源代码是受GPL保护的。所以这就是我说的安卓并不是完全开源的原因。
安卓之所以在谷歌的控制之中,其实是因为安卓的framwork层和GMS(谷歌移动服务)。
总结
开源就是开放源代码,但是为了保护原作者权益或代码保护,诞生了开源协议。现在用户讨论开源软件的性质,其实就是在说开源协议。正因为开源,软件技术才得以飞速发展,我国也有很多优秀的科技公司参与并开源软件,比如阿里巴巴的Dubbo服务,还有我灰常中意并经常使用的fastJson库。但也有些公司单纯为了KPI而去开发并开源项目,过后便不再更新维护,这就是一种形式主义的开源,这其实是一种阻碍开源发展的行为!
开源是一种正向循环,我们在享受开源带来的便利时,也应该为开源给出自己的贡献!
我是非著名攻城狮,希望我的回答对你有所帮助,如果方便,谢谢你的点赞支持!