百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

软件世界的基石:重要开源项目盘点

nanshan 2025-02-21 14:34 14 浏览 0 评论

开源项目是开源贡献给世界最大的财富之一,它们是人类智慧和协作的结晶,在软件世界里它们闪烁着璀璨的光芒,各种类型的开源项目构筑起了今天繁荣的软件世界。

从底层的编译器、操作系统、数据库、编程语言,再到服务器、浏览器等上层应用,无数开源项目相互彼此成就。以下对一些典型项目进行了盘点:

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 等各种平台。

上述哪个项目是你的“心头好”、是你日常工作中必不可少的一环?又或者你认为这些项目的优缺点具体体现在哪?欢迎大家畅所欲言。

同时,如果你认为还有一些重要项目没有被盘点进来,也欢迎在 开源长廊中进行编辑补充

相关推荐

0722-6.2.0-如何在RedHat7.2使用rpm安装CDH(无CM)

文档编写目的在前面的文档中,介绍了在有CM和无CM两种情况下使用rpm方式安装CDH5.10.0,本文档将介绍如何在无CM的情况下使用rpm方式安装CDH6.2.0,与之前安装C5进行对比。环境介绍:...

ARM64 平台基于 openEuler + iSula 环境部署 Kubernetes

为什么要在arm64平台上部署Kubernetes,而且还是鲲鹏920的架构。说来话长。。。此处省略5000字。介绍下系统信息;o架构:鲲鹏920(Kunpeng920)oOS:ope...

生产环境starrocks 3.1存算一体集群部署

集群规划FE:节点主要负责元数据管理、客户端连接管理、查询计划和查询调度。>3节点。BE:节点负责数据存储和SQL执行。>3节点。CN:无存储功能能的BE。环境准备CPU检查JDK...

在CentOS上添加swap虚拟内存并设置优先级

现如今很多云服务器都会自己配置好虚拟内存,当然也有很多没有配置虚拟内存的,虚拟内存可以让我们的低配服务器使用更多的内存,可以减少很多硬件成本,比如我们运行很多服务的时候,内存常常会满,当配置了虚拟内存...

国产深度(deepin)操作系统优化指南

1.升级内核随着deepin版本的更新,会自动升级系统内核,但是我们依旧可以通过命令行手动升级内核,以获取更好的性能和更多的硬件支持。具体操作:-添加PPAs使用以下命令添加PPAs:```...

postgresql-15.4 多节点主从(读写分离)

1、下载软件[root@TX-CN-PostgreSQL01-252software]#wgethttps://ftp.postgresql.org/pub/source/v15.4/postg...

Docker 容器 Java 服务内存与 GC 优化实施方案

一、设置Docker容器内存限制(生产环境建议)1.查看宿主机可用内存bashfree-h#示例输出(假设宿主机剩余16GB可用内存)#Mem:64G...

虚拟内存设置、解决linux内存不够问题

虚拟内存设置(解决linux内存不够情况)背景介绍  Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。但是,内存...

Elasticsearch性能调优(5):服务器配置选择

在选择elasticsearch服务器时,要尽可能地选择与当前业务量相匹配的服务器。如果服务器配置太低,则意味着需要更多的节点来满足需求,一个集群的节点太多时会增加集群管理的成本。如果服务器配置太高,...

Es如何落地

一、配置准备节点类型CPU内存硬盘网络机器数操作系统data节点16C64G2000G本地SSD所有es同一可用区3(ecs)Centos7master节点2C8G200G云SSD所有es同一可用区...

针对Linux内存管理知识学习总结

现在的服务器大部分都是运行在Linux上面的,所以,作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道:地址映射内存管理的方式缺页异常先来看一些基本的知识,在进程看来,内存分为内...

MySQL进阶之性能优化

概述MySQL的性能优化,包括了服务器硬件优化、操作系统的优化、MySQL数据库配置优化、数据库表设计的优化、SQL语句优化等5个方面的优化。在进行优化之前,需要先掌握性能分析的思路和方法,找出问题,...

Linux Cgroups(Control Groups)原理

LinuxCgroups(ControlGroups)是内核提供的资源分配、限制和监控机制,通过层级化进程分组实现资源的精细化控制。以下从核心原理、操作示例和版本演进三方面详细分析:一、核心原理与...

linux 常用性能优化参数及理解

1.优化内核相关参数配置文件/etc/sysctl.conf配置方法直接将参数添加进文件每条一行.sysctl-a可以查看默认配置sysctl-p执行并检测是否有错误例如设置错了参数:[roo...

如何在 Linux 中使用 Sysctl 命令?

sysctl是一个用于配置和查询Linux内核参数的命令行工具。它通过与/proc/sys虚拟文件系统交互,允许用户在运行时动态修改内核参数。这些参数控制着系统的各种行为,包括网络设置、文件...

取消回复欢迎 发表评论: