Skip to content

第二章 Asterisk 社区(Community)

1. 社区行为规范

1. 社区背景与多样性挑战

Asterisk 是一个横跨全球的开源项目,社区成员来自多个国家、文化和技术背景,涵盖:

  • 开发者、系统管理员、文档撰写者;
  • 通信专家、开源倡导者、商业集成商;
  • 从入门用户到核心维护者

行为规范的核心目标 是为这个高度多元化的社区提供一个健康、友好、无歧视的协作环境,确保对话的技术性、理性和包容性。

2. 项目领导结构(Project Leadership)

当前项目核心由 Sangoma Technologies 主导,职责包括:

职责 内容
技术贡献 参与 Asterisk 核心模块的开发与维护
资源支持 提供基础设施(CI/CD、问题追踪、邮件列表、Git 仓库等)
社区治理 执行行为准则、推动社区发展方向

2. 社区服务

服务类型 描述
问题追踪(Issue Tracking) 用于记录、管理 bug 报告、特性请求与补丁审查,详见:Asterisk Issue Guidelines
Wiki 中心化技术文档平台(如模块文档、部署建议、调试指南等)
代码贡献 / 版本控制 贡献代码的标准流程(基于 Git/GitHub 管理),详见:Code Contribution Policies
源代码浏览(Source Browsing) GitHub 仓库托管主干代码:github.com/asterisk/asterisk
邮件列表(Mailing Lists) 提供开发者之间非实时的技术讨论渠道,详见:Mailing Lists 页面

3. Asterisk 模块支持

1. 背景与模块状态分类

Asterisk 是一个高度模块化的系统,每个功能组件几乎都是以独立模块(.so 动态库)形式实现。由于模块的维护者、功能成熟度和社区支持程度不同,Asterisk 项目将模块划分为三种支持状态(Support States):

支持状态 简述
Core(核心) 由 Sangoma 和社区共同维护,官方支持,建议默认启用
Extended(扩展) 社区维护为主,官方不保证 bug 修复,仅保证可构建和处理安全问题
Deprecated(弃用) 推荐使用替代模块,官方不再修复功能,仅限安全补丁,构建非默认启用

2. 工程实践建议

操作 建议做法
开发新模块 明确声明 ,推荐从 extended 开始
维护现有模块 定期评估是否转为 core 或 deprecated
企业部署 审核部署模块状态,尽量避免使用 deprecated 模块
CI 流程 在构建过程中启用 menuselect 自动检测模块支持状态,作为质量门槛控制机制之一