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