在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
众所周知,我们如今处在一个开源的时代。无论是从 Web 技术和编程语言,还是操作系统,我们可以找到任何东西的开源来实现类似效果。但移动设备明显是一个例外,它的开源解决方案很少。一位从事开源技术的微软软件工程师也曾指出:开源面对移动设备时,显得心有余而力不足。

科技巨头垄断移动设备开源市场
在移动设备领域,Android 虽然是一个巨大的开源成功案例,然而这仅是少数大公司的垄断结果。根据 statcounter 公开的数据显示,2021 年 10 月使用Android系统的智能手机全球市场份额高达70%以上。
除了科技巨头垄断开源市场,移动设备在开源生态方面也存在很多问题。
尽管有许多开源技术可用于帮助构建移动应用程序,但在面向用户的领域仍有很大的发展空间。尽管越来越多的人认识到开源开放应用程序可以更好地保护他们个人的信息,但是这种增长不太可能扩展到硬件领域,在那里构建开源实现的成本对开发人员或用户来说并没有太大的回报收入。
因为智能手机的组装与制造都是各种供应链整合而成,供应链的规模和效率也降低了公司和消费者的使用成本,使得硬件成为建立强大的开源生态系统一大挑战。毕竟,大多数人对DIY手机或摆弄硬件不感兴趣。
用户需求才可打破开源垄断
虽然前面那些数据让人感到悲观,但是随着智能手机在许多地方成为日常生活的必需品,消费者对操作系统的安全性和隐私性等需求正在不断增长,从广告如何跨应用程序和网站跟踪我们到应用程序可以访问的个人数据量以及与谁共享。这些用户需求都有望打破目前科技巨头垄断局面,使得许多透明的开源解决方案或将成为相关产品的替代方案。
比如作为 Facebook Messenger 等应用的替代品,Signal 显得更重视隐私安全问题,与它开源一起备受关注还有Telegram 等消息应用。除此之外,Chromium 浏览器和手机游戏 2048 也是值得注意的开源范例,它们都证明了虽然开源应用程序不是常态,但仍然可以被广泛采用和流行,例如现在超过 65% 的移动流量都通过基于 Chromium 内核开发的浏览器。
尽管前文提到过用户对软件公司数据安全和隐私需求,不大可能扩展到硬件领域,但是还有小部分极客爱好者将他们的担忧归结为硬件问题,寻求通过禁用相机或 Wi-Fi 模块等功能来增强他们个人设备的隐私安全性。
网友对此意见不一
对于移动设备为何没有更多开源解决方案这个话题,也在网上引起了不少网友的热议与讨论。
有些网友认为,PC 已经有 50 年的历史了, Linux 也有 30 年历史。按照这个标准,移动设备还很年轻,需要给它点时间。
还有网友认为现在移动领域开源发展很不错,移动操作系统使用比专有桌面操作系统更多的开源,有基于 Mach 和 BSD 的 iOS,基于 Linux 的 Android,基于 Webkit 的浏览器等。
还有网友持反对意见,认为现在移动领域开源发展不行。尽管移动设备还很年轻,需要给它点时间。对于移动应用程序,开源的价格优势也被大量“免费”(通常充斥着广告)的应用程序所削弱。
对此,你怎么看,欢迎来找小谷讨论一下哦~
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
IT行业热门编程语言有哪些?它们主要的应用领域是什么?
经常看到网上公布世界编程语言使用率排行榜、增速排行榜等等白皮书。我们可以了解,目前国内外热门的编程语言包括:C语言、C++、java、python和PHP等。下面就为大家详细介绍一下这些编程语言的特点或者主要应用领域。
18646
2019-07-12 17:16:29
哪种编程语言更容易学习?其职业发展前景如何?
众所周知,现在IT行业已然成为高薪的头部行业。由于互联网技术人才以实战型为主,任何专业人才均可以通过学习进入IT行业,促使互联网行业得以高速的发展。那哪种编程语言更容易学习呢?其职业发展前景如何?
7591
2019-08-13 18:18:02
C语言零基础入门教程推荐
学习C语言基本上是每一个程序员的必修课,因此C语言的重要性和优点早已不言而喻。简单来讲,C语言语法清晰,结构简单,程序执行效率高,可以说是为操作系统而生。那么我们该如何学习C语言呢?尤其是对于零基础的学习者来讲,要自学入门C语言并不轻松。本文将为大家推荐博学谷的《零基础C语言入门教程》,需要学习的朋友赶紧来看看吧!
5975
2020-02-20 19:17:38
零基础学习C语言编程如何入门?
零基础学习 C语言编程如何入门?想要学好C语言,良好的习惯和准备工作都是必不可少的,我们来看看学习C语言都需要哪些准备工作。下载和安装编译器。 C语言需要通过编译器解释为计算机可以理解的机器码。 编译器通常是免费的, 不同的操作系统上一般使用不同的编译器。
5703
2020-06-17 15:38:44
敏捷开发如何提高工作效率?
敏捷开发应对快速变化的需求的一种软件开发能力,只要在符合价值观和原则的基础上能让开发团队拥有应对快速变化需求的能力。在团队职责上,团队内部具备完成软件交付的角色,团队所有人对软件的质量负责,开发过程由团队内部把控,业务价值团队内部快速流动,在任何环节都能及时获得反馈。
7413
2020-07-09 10:59:19
