本文目录导读:

是的,手机软件完全可以开源,许多知名的手机应用和操作系统都是开源的。
开源手机软件的类型
-
整个操作系统(OS): 这是最核心的一层。
- Android (安卓): 安卓系统的大部分核心代码都是开源的,基于 AOSP (Android Open Source Project,安卓开源项目),任何人都可以查看、修改和编译安卓的源代码,这也是小米的MIUI、三星的One UI等定制系统的根基,虽然谷歌的某些服务(如Google Play商店)是闭源的,但系统本身是开源的。
- LineageOS, /e/OS, GrapheneOS: 这些都是基于AOSP的、完全开源的第三方安卓系统,专注于隐私、安全或无Google服务。
-
开发工具和库: 很多开发手机App时使用的工具、框架和代码库(Library)都是开源的。
- Flutter / React Native: 用于跨平台App开发的框架。
- Retrofit, OkHttp, Glide: 安卓开发中常用的网络请求和图片加载库。
-
应用程序(App本身): 很多手机App的源代码是完全公开的。
- K-9 Mail: 一个强大的开源邮件客户端。
- NewPipe: 一个去广告、后台播放的YouTube/其他视频网站的开源客户端。
- Signal: 端到端加密通讯软件,其客户端和服务端代码都是开源的(虽然依赖的Google服务部分不是,但核心通讯代码是)。
- Bitwarden: 最流行的开源密码管理器之一。
- VLC for Android: 知名的开源媒体播放器。
- Nextcloud / Owncloud: 开源的个人云盘解决方案,有专门的手机App。
手机软件开源的好处
- 透明与信任: 代码公开,用户可以(理论上)检查其安全性,确保没有后门、恶意代码或不当的数据收集行为,这对于隐私敏感的应用(如密码管理器、通讯软件)尤其重要。
- 安全: 开源意味着全世界的研究者和开发者都可以审查代码并发现漏洞,漏洞被发现和修复的速度会快于闭源软件。
- 社区与定制: 用户可以基于自己的需求修改和编译软件,或者贡献代码改进功能,形成了活跃的社区。
- 避免供应商锁定: 不受单一商业公司控制,LineageOS可以延长旧手机的寿命。
手机软件开源的挑战和局限
- 并非所有部分都开源: 一个开源App可能依赖闭源的SDK(软件开发工具包),例如某些广告SDK(Firebase)、支付SDK(Stripe, PayPal SDK)或地图SDK(Google Maps SDK),这意味着基础App代码是开源的,但其运行依赖的核心功能可能是闭源的。
- 商业模式: 开发开源软件需要时间和精力,开发者通常需要通过提供服务(如Signal的捐赠)、托管(如Nextcloud的官方托管服务)或销售商业版(如GitLab)来盈利。
- 用户体验: 有时开源软件在UI/UX(用户界面/用户体验)设计上可能不如商业软件精致,因为缺乏全职的设计师和资源,这个差距正在缩小。
- 维护风险: 如果开源项目的核心维护者失去兴趣或没有时间,项目可能会停滞。
- 应用商店限制: 某些开源App可能无法直接访问Google Play或Apple App Store里的一些高级权限(如GCM推送通知,现在叫FCM),因为它们不集成依赖Google服务的闭源库。
如何获取开源手机软件?
- F-Droid: 一个专门收录开源安卓应用的商店,其中的所有应用都必须是开源的,并且通常使用自由软件许可证。
- Google Play商店: 很多开源App也会发布在Google Play上,方便用户安装,但要注意,有些App的Google Play版本可能会包含闭源的依赖项。
- GitHub / GitLab / 代码托管平台: 可以直接下载源代码自行编译,或下载开发者提供的APK(安卓安装包)安装文件(需要手动开启“未知来源安装”权限)。
是的,手机软件完全可以并且已经广泛开源。
从操作系统(如AOSP/Android)、开发框架到应用程序(如Signal, Bitwarden),开源在移动端领域非常普遍,其主要优势是透明、安全、可控,但需要注意其依赖的闭源组件和商业模式。
如果你对隐私、安全和自由软件感兴趣,探索开源手机软件会是一个很有价值的领域。
标签: 闭源
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。