开源项目是开源贡献给世界最大的财富之一,它们是人类智慧和协作的结晶,在软件世界里它们闪烁着璀璨的光芒,各种类型的开源项目构筑起了今天繁荣的软件世界。
从底层的编译器、操作系统、数据库、编程语言,再到服务器、浏览器等上层应用,无数开源项目相互彼此成就。以下对一些典型项目进行了盘点:
Linux Kernel
Linux Kernel 是开源的类 Unix 操作系统宏内核,最初由 Linus Torvalds 为尝试在英特尔 x86 架构上提供*的类 Unix 操作系统而开发。早期有一些 Minix 黑客为 Linux Kernel 提供了协助,而今天全球无数开发者为 Linux Kernel 无偿贡献代码,因此它也被认为是全球最大的超级开源项目。基于 Linux Kernel 的操作系统统治了几乎从移动设备到主机的其他全部领域。
除了代码本身,因 Linux Kernel 而兴起的开源协作开发模式对 IT 领域也产生了重大影响。
GCC
GCC 是 GNU Compiler Collection 的缩写,即 GNU 编译器套装。GCC 于 1985 年由 RMS 开始发展,最初只支持处理 C 语言,后来经过社区的共同努力提供了更多的语言支持。许多操作系统,包括许多类 Unix 系统,如 Linux 及 BSD 家族都采用 GCC 作为标准编译器,因此 GCC 常被认为是跨平台编译器的事实标准。目前 GCC 由*软件基金会负责维护工作。
Git
Git 是 Linus Torvalds 创造的除 Linux 之外的另一个伟大项目,它是一款分布式版本控制系统,也是目前全球最主流的版本控制系统。
Nginx
Nginx 是由俄罗斯程序员创建的高性能 HTTP 服务器,其最初的目标之一是实现超越 Apache Web Server 的性能。目前 Nginx 在全球的市场份额已超过 Apache,大约是 30%。
OpenSSL
OpenSSL 是为网络通信提供安全及数据完整性的一种安全协议,其代码可以为互联网上的数据提供加密传输功能。由于其开源和免费的特性,OpenSSL 已成为互联网基础设施的一部分,被广泛应用在互联网服务器上。
TensorFlow
TensorFlow 是目前全球范围内用户最多的 AI 深度学习框架,由 Google 公司于 2015 年开源。TensorFlow 的前身是 Google 的神经网络算法库 DistBelief,由 Google 人工智能团队谷歌大脑 (Google Brain) 开发和维护,拥有包括 TensorFlow Hub、TensorFlow Lite、TensorFlow Research Cloud 在内的多个项目以及各类应用程序接口。
PyTorch
PyTorch 是由 Facebook 公司开源的 AI 深度学习框架,其前身是 Torch 框架,用 Python 语言重写了大部分功能,不仅能够实现强大的 GPU 加速,同时还支持动态神经网络。深受学术界科研人员的青睐。目前全球使用 TensorFlow 或 PyTorch 的人工智能从业者占比接近 90%。
MySQL
MySQL 是一个开源的关系型数据库管理系统,是目前全球范围内用户最多的数据库,由瑞典的 MySQL AB 公司开发,后被 Oracle 公司收购。在各大权威调研机构公布的数据库排行榜中,MySQL 已经连续多年占据榜首。
Chromium
Chromium 是由 Google 开源的浏览器引擎,其目的是为了创建一个安全、稳定和快速的通用浏览器。谷歌的 Chrome 浏览器、微软的 Edge 浏览器、国内的 QQ、360 浏览器等都是基于 Chromium 开发。以 Chromium 为内核的浏览器市场占比已超过 90% 。
AOSP
AOSP 全称为 "Android Open Source Project",即安卓开源项目。Android(安卓)是一种基于 Linux 内核的*及开放源代码的操作系统,主要应用于移动设备,如智能手机和平板电脑,由 Google 和开放手机联盟领导及开发。2007 年 11 月,Google 与 84 家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良 Android 系统。随后 Google 以 Apache 许可证的授权方式,开源了 Android 的源代码。
Redis
Redis 是一个开源的高性能 key-value 数据库,被各大互联网厂商广泛应用于缓存系统、计数器、消息队列系统、排行榜、社交网络和实时系统中。从 2010 年 3 月15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。
Kubernetes
Kubernetes(简称为 K8s)是来自 Google 云平台的开源容器集群管理系统,由 Google 研发并捐赠给云原生计算基金会 。它旨在提供“跨主机集群的自动部署、扩展以及运行应用程序容器的平台”。K8s 已经被业内公认为云原生基础设施建设的客观标准。
Hyperledger Fabric
Hyperledger Fabric 是一个模块化架构的分布式账本平台,提供高度的机密性、弹性、灵活性和可扩展性。它旨在支持不同组件的可插拔实现,并且可以容纳生态系统中存在的高度复杂应用。Hyperledger Fabric 由 IBM 发起,其后被 Linux 基金会托管以作为开源的区块链项目。 Hyperledger Fabric 的主要目标是作为企业级联盟链的基础设施。
FFmpeg
FFmpeg 是多媒体处理领域的知名项目,支持编解码、转码、多路复用、解多路复用、流、过滤和播放几乎任何类型文件。它当前几乎被应用于超过 95% 的音视频相关处理软件中。FFmpeg 支持 Linux、macOS、Windows、BSD 系、Solaris 等各种平台。
上述哪个项目是你的“心头好”、是你日常工作中必不可少的一环?又或者你认为这些项目的优缺点具体体现在哪?欢迎大家畅所欲言。
同时,如果你认为还有一些重要项目没有被盘点进来,也欢迎在 开源长廊中进行编辑补充。