为防 Android 碎片化?Google 强迫开发者使用自有开发工具!

640?wx_fmt=gif

为防 Android 碎片化?Google 强迫开发者使用自有开发工具!_第1张图片

作者 | 郭芮

出品 | CSDN(ID:CSDNnews)

前不久,因 Android 向华为“闭源”一事,Google 频频被推上风口浪尖,关于开源和操作系统的讨论也不绝于耳。不过数日,近来 Google 又遭指控!不改强硬作风的 Google ,此番再次坐实了“独断专行”的标签。

据外媒 Reddit 报道,Google 正在强制要求 APP 开发者们使用其专有的 Firebase 后台服务来推送通知,否则这些 APP 用户们就会收到“耗电严重!”的提醒。

 

640?wx_fmt=png

不使用 Google 服务就“报错”?!

 

 

报道表示,目前 Telegram-FOSS、riot.im 等 FOSS(Free and Open Source Software,自由及开源软件)应用程序的消息通知功能就面临着这一限制。具体而言就是,Google 利用其在 Android 发行版上的垄断优势,迫使应用程序使用其专有的 Firebase 服务来推送通知。

为防 Android 碎片化?Google 强迫开发者使用自有开发工具!_第2张图片

但这其中却存在一个问题,Firebase 是 Android 专有的, FOSS 应用程序使用的话必然会存在兼容适配等问题。Google 却直言,任何不符合要求的应用——即未使用 Firebase 服务的——它们会直接向用户发送“耗电严重!”的提醒。

事实上,Android 系统从来都不是完全开源的。

 

640?wx_fmt=png

逐渐封闭的 Google

 

 

Android 的“封闭”近年来有目共睹。

在 2013 年,欧洲自由软件基金会的 Torsten Grote 就发表过文章称,Android SDK 并不是自由软件,其新条款(https://developer.android.com/studio/terms)中明确列有“你可能不能复制(备份目的除外)、修改、改编、重新发行、反编译、逆向工程、反汇编,或创造任何 SDK 部分的衍生作品”等文字——而且它的“闭源”之势还在随着近年来垄断地位的持续牢固而不断加大。

为防 Android 碎片化?Google 强迫开发者使用自有开发工具!_第3张图片

“你必须遵守条例规定才可以使用 SDK”

众所周知,Android 包括两部分:一部分是 AOSP(Android Open Source Project)的代码库,作为 Android 的基础;另一部分是闭源组件, 即 Google 提供的各种服务应用。

前者可为开发者提供所需信息和源代码,创建定制的 Android 操作系统版本,将设备和配件移植到 Android 平台,同时确保设备符合兼容性要求。多年来,Google 为了防止碎片化问题的逐渐加剧,一直通过扩充自家应用的种类,从而替换掉原来的 AOSP 组件,间接来缩减 Android 系统的开源程度。Google 搜索、Google 音乐、Google 相机、Google 键盘、Chrome 浏览器、Google 日历等一系列缤纷“全家桶”组合纷纷让原来 AOSP 中的对应功能止步不前。

为防 Android 碎片化?Google 强迫开发者使用自有开发工具!_第4张图片

可以说,只要 Google 的应用足够强大和丰富,最终就能够让 Android 彻底走向封闭。而现在,Google 的“魔爪”进一步伸向了消息通知领域。

 

640?wx_fmt=png

开发者别无他选?

 

身为手机操作系统的半壁江山,Android 系统一直内置有 Google 官方的消息推送服务,此前为 GCM(Google Cloud Messaging),2018年被 FCM(Firebase Cloud Messaging)所替代,能够向开发者提供推送通知,包括邮件提醒、即时新闻消息、最新优惠信息、物流信息等。

长久以来,国内开发者们因为一些原因而选择摒弃 Google 的 GCM/FCM 服务,取而代之的是各个手机厂商、互联网厂商所提供的推送平台,从而带来了手机续航下降、发热等问题,这些也一直备受国内用户诟病。但近年来,随着各种系统功能的改进,Android 设备的体验性也在肉眼可见的进步。但是作为很多外国开发者的自然选择,这种情况下却往往避无可避。

针对 Google 的此番动作,Telegram-FOSS 团队就无奈表示:“(是否使用 Firebase)对于电池的使用其实并没有什么差异,但是 Google 这种极具误导性的警示(指‘耗电严重!’的警告)肯定会吓到大多数用户”,“这样子的 Android 真的是太不太开放了。”

 

640?wx_fmt=png

Google 强硬作风引争议!

 

这件事也引起了 Reddit、Hacker News 上开发者们的热议。

@kartan:

“Google 正在强制要求 APP 开发者们使用其专有的 Firebase 后台服务来推送通知,否则这些 APP 用户们就会收到“耗电严重!”的提醒。”——Google 的这一做法明显违背了行业准则,我很好奇它未来会为此付出多少罚款。但是,更有趣的是,未来 Google 因为此举在竞争中获得的金额将会更高,相比来看还是赚了!微软(以及可能还有其他人)还不快来学学?

@soulofmischief:

针对楼上的观点,我有不同的看法。

能算得上 Google 竞争对手的不就是苹果的 iOS 系统吗?Hacker News 上的一众用户们不是很喜欢一遍又一遍地重复“噢它是多么令人惊奇!”、“它使用的电量真少!”等等溢美之词——而究根到底,iOS 能做到这一点不就是因为它不允许应用程序在后台运行除 APNS 之外的其他任何东西吗?甚至包括 GPL 源代码也不被允许。

这就是 Android 的竞争对手——一个完全封锁的操作系统,无法提供任何类型的 GPL 代码。而每次它想要为开发人员提供更多的自由时,就会在市场上遭受不小的损失,因为开发者们会反过来嘲笑 iOS 系统是如何允许他们的应用程序开发人员耗尽电池和访问数据的。

那么,站着说话不腰疼的你希望 Google 怎么做?

@ddrager:

其实这已经发生了有一段时间了。

我们之前曾尝试创建过一个基于 MQTT 的推送通知系统,它也一直运作良好,但是不久前就突然出问题了!事实证明,后台的接收器服务被“杀”死了,我们发现只有通过 Google 自己的 GCM(现已转移到 Firebase 云消息传递)才是获得可靠通知的最佳方式

我们也据可靠消息了解到,想要构建不使用 Google 服务的应用程序基本上是不可能的。

确实,正如文中所说,Google 这样做是为了最大化利用电池资源——这我完全理解。但是通过应用这些 Google 服务,开发者就不能忽视一个事实,他们会变得真正依赖并仅依赖于 Google 系统。

BTW,正如其他人所指出的那样,Firebase 库好歹是开源的不是吗?

......

那么对于 Google 的这一做法,身为开发者的你如何看待?欢迎在留言区分享你的观点。

参考链接:

https://www.reddit.com/r/freesoftware/comments/by4ipr/android_now_forces_apps_to_include_proprietary/

https://news.ycombinator.com/item?id=20145206

http://blogs.fsfe.org/torsten.grote/2013/01/03/android-sdk-is-now-proprietary-replicant-to-the-rescue/

https://tele.ofweek.com/2019-06/ART-8320510-8420-30390782.html

如何挑战百万年薪的人工智能!

https://edu.csdn.net/topic/ai30?utm_source=csdn_bw

【END】

为防 Android 碎片化?Google 强迫开发者使用自有开发工具!_第5张图片

6月29-30日,2019以太坊技术及应用大会特邀以太坊创始人V神与以太坊基金会核心成员,以及海内外知名专家齐聚北京,聚焦前沿技术,把握时代机遇,深耕行业应用,共话以太坊2.0新生态。扫码即享优惠购票!

为防 Android 碎片化?Google 强迫开发者使用自有开发工具!_第6张图片

 热 文 推 荐 

戳他了解更多↓↓↓

为防 Android 碎片化?Google 强迫开发者使用自有开发工具!_第7张图片

边缘计算将吞掉云计算!

程序员代码排错的正确姿势,竟是从老中医学的?

开源“大地震”下,华为如何复制 Google 模式?

阿里腾讯进击韩国互联网

长沙到底有没有互联网?

回报率850%? 这个用Python优化的比特币交易机器人简直太烧脑了...

谷歌用1.2万个模型“推翻”现有无监督研究成果!斩获ICML 2019最佳论文

24式,加速你的Python

17 岁的程序员告诉你关于编程的 7 个重要教训!

☞“是!互联网从此没有 BAT!”

为防 Android 碎片化?Google 强迫开发者使用自有开发工具!_第8张图片点击阅读原文,精彩继续。

640?wx_fmt=png你点的每个“在看”,我都认真当成了喜欢

你可能感兴趣的:(为防 Android 碎片化?Google 强迫开发者使用自有开发工具!)