新闻详情

新闻详情

首页 / 资讯中心 / 详情

Eclipse Mosquitto 贡献指南:从分支规范到 Pull Request 的完整流程

发布时间:2026/11/15 2:06:08来源:尧图网络
Eclipse Mosquitto 贡献指南:从分支规范到 Pull Request 的完整流程
物联网消息队列后端网络/通信【免费下载链接】mosquittoEclipse Mosquitto - An open source MQTT broker项目地址https://gitcode.com/gh_mirrors/mo/mosquitto点击查看免费下载本文是一份面向开发者的 Mosquitto 开源项目参与指南。Eclipse Mosquitto 是一个轻量级、开源的 MQTT 协议 broker 实现支持 MQTT v5.0 / v3.1.1 / v3.1同时附带 C/C 客户端库以及mosquitto_pub、mosquitto_sub工具。读完本文你将掌握向该项目提交 bugfix 与新增特性的标准流程Eclipse 基金会法律合规要求、develop与fixes双分支协作模型、带Signed-off-by的提交规范、测试验证方式以及最终发起 Pull Request 的完整操作步骤。项目背景与协作方式Mosquitto 项目的初衷是为机器对机器M2M与物联网IoT场景提供一个轻量、开源、可靠实现的 MQTT broker。其代码托管在 Git 仓库中官方通过 GitHub 的 Pull Request 机制接受 bugfix 和新特性。仓库根目录的 README.md 明确描述了项目组成核心 broker、C/C 客户端库、命令行工具mosquitto_pub/mosquitto_sub以及用于测试的公开服务节点。在提交任何代码之前值得先了解项目的仓库结构这有助于定位修改点src/broker 服务端源码包括连接处理、会话管理、持久化persist_write.c、persist_read.c、插件机制等lib/libmosquitto客户端库实现供mosquitto_pub/mosquitto_sub与第三方应用使用plugins/动态安全dynamic-security、persist-sqlite、sparkplug-aware 等插件test/Python 编写的集成测试与 C 单元测试fuzzing/面向 broker 与库的模糊测试目标。法律合规Eclipse 基金会 IP 政策Mosquitto 是 Eclipse 基金会旗下的项目iot.mosquitto项目所有贡献必须符合 Eclipse 基金会的知识产权IP政策。这是与普通开源项目最大的不同之处没有签署 ECAEclipse Contributor Agreement的贡献将无法被接受。合规流程分为四步签署 Eclipse ECA先注册一个 Eclipse Foundation 用户 ID然后登录账户门户点击 “Eclipse Contributor Agreement” 链接在线签署贡献者协议。绑定 GitHub 账号在账户设置中把你的 GitHub 用户名添加到 Eclipse 账户中使你的 GitHub 提交能够被关联到 ECA。为提交添加 Sign-off 签名在每次提交的 commit message 底部追加如下格式的签名行通常由git commit -s自动生成Signed-off-by: John Smith johnsmithnowhere.com这是 DCODeveloper Certificate of Origin机制的体现表示你确认该提交是你原创的、有权以项目许可协议发布。邮箱一致提交代码时使用的 Git 邮箱必须与你在 Eclipse 基金会注册时使用的邮箱一致。仓库的许可情况可在 LICENSE.txt 中确认项目采用 Eclipse Public License 2.0 与 Eclipse Distribution License 1.0 双重许可具体文本见 epl-v20 与 edl-v10。分支模型develop与fixesMosquitto 的贡献流程建立在一个清晰的双分支协作模型上新增特性与 bug 修复走不同的基线分支新特性从最新的develop分支创建新分支git checkout -b YOUR_BRANCH_NAME origin/developBug 修复从最新的fixes分支创建新分支git checkout -b YOUR_BRANCH_NAME origin/fixes这一约定保证了修复代码可以快速合入维护分支并随补丁版本发布而新特性则统一进入开发主线避免在发布分支上引入不稳定变更。提交流程从 Fork 到 Pull Request完整的贡献流程如下在 GitHub 上 Fork 官方仓库。将 Fork 的仓库克隆到本地git clone https://github.com/your username/mosquitto.git按上一节的分支模型创建自己的工作分支特性基于develop修复基于fixes。修改代码并在本地充分验证。确保所有新增与既有测试通过测试方式见下文。提交变更要求 commit message 有实质意义、准确描述改动内容并使用签名提交git commit -s或一次性完成git commit -s -m Adding a cool feature如果改动包含大量零散提交请将其 squash 合并为一个或少数几个提交保持历史整洁便于评审与回溯。推送分支到你的 Fork 仓库。前往官方仓库从你的YOUR_BRANCH_NAME分支向对应的develop特性或fixes修复分支发起 Pull Request等待评审与合并。提交的审查与合并规则补丁被接受与否取决于内容若改动 100% 由贡献者原创且规模小于 1000 行并满足项目需求可以直接并入主仓库否则需要走 Eclipse 基金会的法律流程由项目组评估是否需要额外的知识产权审查。对于原创性存疑或规模较大的贡献务必提前通过项目开发邮件列表与维护者沟通。让测试通过本地验证的正确姿势CONTRIBUTING.md 明确要求“确保所有新增和既有测试通过”这是 PR 合入的硬性门槛。项目测试的入口与执行方式记录在 README-tests.md 中顺序执行在仓库根目录执行make test或make check。由于部分测试用例的特性整套测试为串行运行耗时较长。并行执行使用make ptest可最多并行运行 20 个测试显著缩短总耗时代价是同时运行最多 20 个 Python 进程内存占用更高在树莓派等低配设备上可能不合适。依赖测试需要 Python 3 与 CUnitC 单元测试框架对应依赖查找脚本见 cmake/FindCUnit.cmake。测试套件按主题分布在 test/ 目录下覆盖协议合规、持久化、插件、动态安全dynsec等维度例如test/broker/下的01-connect-*连接行为、02-subpub-*订阅/发布 QoS 0/1/2 行为、14-dynsec-*动态安全插件、15-persist-*持久化等 Python 脚本可直接单点运行复现问题。若需要从源码构建以便验证参见 README-compiling.md大多数平台直接运行make即可Windows 与 macOS 使用 CMake可选依赖包括 opensslTLS、c-aresDNS-SRV默认关闭、libwebsocketsWebSocket默认关闭、cJSON动态安全插件与客户端 JSON 输出等。构建选项细节见 config.mk相关说明也可参考 README.md 的 Build Dependencies 一节。提交前的自查清单综合上述流程每次贡献在发起 PR 前应逐项确认已签署 Eclipse ECA并在账户中绑定 GitHub 用户名提交邮箱与 Eclipse 账户注册邮箱一致每次提交都包含Signed-off-by签名git commit -s特性分支基于develop修复分支基于fixes且已同步最新代码commit message 有实质意义、准确描述改动零散提交已 squash 为一个或少数几个提交make test或make check/make ptest全部通过新特性或行为变更附带了对应的测试用例。沟通与安全问题上报除了代码贡献项目还开放以下协作通道开发者邮件列表mosquitto-dev用于与项目开发人员沟通技术方案、讨论大型改动方向Bug 跟踪项目使用 GitHub Issues 跟踪开发与问题。创建新 bug 前务必先搜索是否已有相同问题避免重复提交社区始终欢迎补充已有 bug 的复现细节与修复建议。安全漏洞请勿直接在 Issue 中公开讨论而是按照 SECURITY.md 指引通过 Eclipse 安全页面上报由项目组在修复前协调披露节奏。对于常见的“新版本包含哪些变更”之类问题可查阅 ChangeLog.txt 了解各版本的修复与新增功能记录确认你的改动是否已被实现避免重复劳动。小结向 Eclipse Mosquitto 贡献代码是一条“法律合规 分支规范 测试保障 PR 评审”的完整链路先完成 ECA 签署与账号绑定再依据改动类型选择develop或fixes基线创建分支提交时务必git commit -s附带签名合并零散提交后推送到 Fork 仓库并发起 PR合入前以make test等命令保证测试全绿。严格遵守这套流程既能提升你的补丁被合入的概率也能让维护者快速理解并信任你的改动。赞分享物联网消息队列后端网络/通信【免费下载链接】mosquittoEclipse Mosquitto - An open source MQTT broker项目地址https://gitcode.com/gh_mirrors/mo/mosquitto点击查看免费下载相关推荐SciPy 贡献指南从 Pull Request 规范到完整提交流程SciPy 贡献指南从 Pull Request 规范到完整提交流程 导读 本文以 SciPy 仓库根目录的 CONTRIBUTING.rst https:/科学计算数据科学高性能计算Eclipse Mosquitto 贡献实战指南从 ECA 签署、分支策略到测试与 Pull Request 的完整工作流Eclipse Mosquitto 贡献实战指南从 ECA 签署、分支策略到测试与 Pull Request 的完整工作流 Eclipse Mosquitto后端消息队列消息路由终极text-generation-webui贡献指南从代码规范到Pull Request的完整流程终极text generation webui贡献指南从代码规范到Pull Request的完整流程 text generation webui是一个基于Gr人工智能大模型本地部署模型推理服务AI 应用桌面应用工具调用上一篇Python异步编程陷阱与解决方案基于asynq的经验总结下一篇微信视频号加密视频解密全攻略从原理到实战的完整指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/14 3:51:47

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/15 2:04:12

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/14 10:11:15

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/14 17:14:38

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/14 16:35:50

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/14 3:51:43

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉