Mattermost 是一个用 Go 和 React 构建的 DevOps 团队消息平台。您可以在频道、私人群组或一对一中讨论话题,使用富 Markdown 格式轻松共享代码片段,并在超过 50 种编程语言中进行语法高亮显示。您可以自托管或部署在私有云上,通过插件、Slack 兼容的集成和广泛的 API 支持来连接内部系统。您可以使用 Linux 桌面应用程序与您的团队协作。

(Mattermost, CC BY-SA 4.0)
该平台的开源性质比 Slack、Microsoft Teams 和 Discord 等专有消息平台具有三个直接优势
- 没有供应商锁定: 使用开源软件,每个人都可以访问代码。用户、第三方供应商和组织可以随时免费访问代码。此外,用户可以安心地完全控制其数据、安全性和基础设施。
- 更强大的安全性: 借助庞大的开发者社区,安全漏洞可以被快速检测、修复并传达给所有用户,通常在漏洞发布到产品之前。正如红帽关于 企业开源现状 的报告中强调的那样,高质量的软件和更好的安全性是企业开源软件的主要优势。
- 社区驱动: 不断壮大的社区通过协作解决问题、寻找解决方案和创建新的用例来加速创新,所有这些都导致了专有解决方案无法实现的快速功能开发。蓬勃发展的社区是开源项目的倍增器。
Mattermost 也不例外,社区一直是该项目背后的主要驱动力。从 100 个最受欢迎的功能到为 Mattermost 贡献的超过 70 万个翻译,开源社区对该项目的影响是巨大的。我们向超过 1,000 名贡献者发送了赠品(例如,向所有首次贡献者定制马克杯),并且我们的 贡献者名人墙 每月都在增长。
如果您有兴趣为开源、DevOps 或 Go 和 React 技术做贡献,请考虑加入 Mattermost 社区。我们为新贡献者提供了 良好的入门级帮助需求问题,贡献指南 帮助您入门,以及 developers.mattermost.com 上的其他资源。此外,您不必是开发人员才能做出贡献。您可以帮助进行翻译、文档编写等。
有兴趣为 Mattermost 做贡献?为了让您更容易了解参与我们社区的所有方式,我们收集了来自我们的 手册、贡献页面、安全页面 等的信息,以帮助您入门。
平台
构建新功能,改进现有功能,并修复 Mattermost 平台上的错误。有多种技术和框架可供选择
- 服务器: 用 Go 编写,包括 API、数据模型、日志记录等
- Webapp: 用 React(JavaScript 库)编写,包括 Mattermost 用户界面的所有组件和操作
- 移动应用: 用 React Native(JavaScript 库)编写,包括 iOS 和 Android 移动应用上的所有组件和操作
- 桌面应用: 基于 Electron 框架为 Windows、macOS 和 Linux 客户端编写
- Redux: 用 JavaScript 和 TypeScript 编写,包括 webapp 和 React Native 移动客户端的存储、Web 实用程序和逻辑
分四步贡献
- 注册我们的 Mattermost 社区站点并加入贡献者频道以提出问题。
- 按照我们的说明设置您的开发者环境。如果您正在开发移动应用,您还需要一个移动开发环境。
- 选择一个 帮助需求工单 并评论,让人们知道您正在处理它。如果没有您想处理的工作的工单,请遵循没有工单的贡献流程。
- 开始开发!查看我们的 开发者流程 以获取提示,并在您的更改准备就绪时查看我们的 拉取请求清单。如果这是您的首次贡献,则需要签署标准贡献者许可协议 (CLA)。
集成
创建一系列技术来增强 Mattermost 解决实际问题的能力。这些包括
- 自托管集成解决方案: 包括与 Jira、Jitsi、GitLab、Jenkins 和其他工具等第三方应用程序的连接和集成
- SaaS 基础集成解决方案: 包括与 Twitter、Zendesk、Salesforce 以及通过 Zapier 等服务与数百个其他扩展程序的连接和集成
- 联邦体验: 包括通过 Matterbridge 等解决方案与 IRC、Slack 和其他消息应用程序的桥梁
- 编程解决方案: 包括特定于语言的驱动程序和连接器,以简化其他开发人员的工作
- Mattermost 用户体验插件: 包括增强 Mattermost 服务器原生功能的服务器端和客户端插件,例如语音、视频和屏幕共享
- 自定义用户体验: 包括集成到终端中的 Matterhorn 和 Pidgin,它们构建于相同的核心 Mattermost API 之上
分四步贡献
- 注册我们的 Mattermost 社区站点并加入 开发者工具包频道 以提出问题。
- 访问 Mattermost 集成目录以获取当前开源集成和项目列表,以获取有关如何入门的想法。
- 开始开发!阅读我们的 集成指南,以获取有关如何与 Mattermost 服务器集成的提示。
- 您是否为 Mattermost 构建了什么?我们想听听!请在此处告知我们。
本地化
如今,Mattermost 以 16 种语言发布,另有 26 种语言正在由数百名贡献者进行中。如果您有兴趣进行翻译,以下是参与方式
- 注册我们的 Mattermost 社区站点并加入本地化频道以提出问题。
- 注册我们的翻译服务器。
- 选择您的语言。如果该语言已在翻译服务器中列出,您可以提供帮助,方法是翻译、审阅或对现有字符串提出建议。如果未列出,请在本地化频道中询问以设置您的语言。
- 开始翻译!阅读我们的本地化文档,了解有关翻译规则和维护过程的更多信息。
文档
编写全球数千人使用的软件和故障排除文档。这些包括
- 产品文档: 包括用户和管理员的功能文档,包括故障排除说明和常见问题解答
- 开发者文档: 包括贡献者和开发者工作流程、集成和扩展的文档
- API 文档: 包括 Mattermost 平台使用的 RESTful API 的文档
分三步贡献
- 注册我们的 Mattermost 社区站点并加入 文档频道 以提出问题。
- 选择一个 工单 并评论,让人们知道您正在处理它。请参阅贡献流程。
- 查看我们的 文档指南,以获取有关如何创建有效文档的提示。请注意,如果这是您的第一个拉取请求,您将被要求签署标准 CLA。
点对点支持和反馈
不是开发者但仍然想为开源做贡献?没问题!除了上面提到的本地化和文档之外,您还可以
- 报告错误: 注册我们的 Mattermost 社区站点并加入 错误频道 以提出问题。然后,转到我们的 GitHub 页面 并在相关存储库中打开一个新问题。阅读我们关于 提交错误的步骤 的文档。
- 测试并查找问题: 转到我们的 社区测试服务器 或 Mattermost 的任何 开源代码库 进行测试并查找问题。如果您发现错误,请转到我们的 GitHub 页面并在相关存储库中打开一个新问题。阅读我们关于 提交错误的步骤 的文档。
- 排除问题: 注册我们的 Mattermost 社区站点并加入 点对点帮助频道 以帮助回答问题。关注 Mattermost 论坛 和 GitHub Issues 中的问题以帮助他人。
- 建议新功能: 注册我们的 Mattermost 社区站点并加入 功能提案频道 以提出问题。然后,转到 Uservoice 以提出新功能。阅读我们关于 贡献功能提案 的文档。
- 分享反馈: 注册我们的 Mattermost 社区站点并加入点对点帮助频道以提出问题并分享有关 Mattermost 的反馈。
安全漏洞
安全性和数据安全是 Mattermost 社区的首要任务。如果您是安全研究人员并且在我们的代码库中发现了安全漏洞,我们感谢您以负责任的方式向我们披露它。
如果您发现的安全错误有效,修复程序将在发布 30 天后发布在我们的 安全更新 页面上,您将被添加到我们的 安全研究名人堂。如果您愿意,我们将公开承认您的负责任披露。如果不是,您可以保持匿名。
以下是如何通过我们的 负责任的披露政策 做出贡献
- 联系我们以报告在 Mattermost 的任何开源代码库或我们的任何商业产品中发现的任何安全漏洞。
- 我们将告知您您的报告是否可重现为漏洞利用,并导致 Mattermost 产品的代码库或文档发生更改。
在修复完成后,我们要求安全研究人员在发布后等待 30 天再宣布漏洞的具体细节,并向 Mattermost 提供任何此类公告的链接。
获取帮助
如果您有任何问题或需要帮助入门,请加入我们的 Mattermost 贡献者频道。您可以通过 @jason.blais 联系我。在那里见!
1 条评论