拥抱开源:我的社区贡献之旅

丁紫薇2024-06-06openEuler开源社区文档

大家好,我是来自麒麟软件的合规研发工程师丁紫薇,同时也是开放原子开源基金会openEuler社区中sig-compliance的Maintainer。我非常开心可以在这篇文章中和大家分享我的欧拉之旅,开源社区之行。

进入开源:我的社区贡献

成为社区的一员

我跟开源社区的渊源颇深。学生时期遇到开发任务时,常常泡在开源社区中寻找灵感和帮助。工作后,伴随麒麟软件与openEuler的密切合作,我成为了openEuler的一员,有了更多机会深入地参与到开源工作中,并积极参与并在社区中贡献力量。麒麟软件的伙伴们共同深度参与了包括NestOSPilotGo合规 在内的多个openEuler项目。对我来说,开源不再仅限于资源, 更是一个团队协作与创新的平台。

我在社区中的角色

作为sig-compliance的Maintainer,我的工作主要围绕开源合规展开,例如讨论合规治理的思路、方法、合规的判定标准,或者是指导合规。结合我的工作经验以及合规工作现状,我撰写了《开发者开源合规实践参考手册》 ,希望帮助大家在参与社区贡献的时候更轻松有效做到合规。除了在sig-compliance的常规工作外,我还参与到了doc SIG 的工作中。在此期间,我意识到文档对开发者的重要性。

深度挖掘:社区文档感知度调研

开发者需求

为了更好地了解开发者对技术文档的需求,我进行了社区文档感知度调研,收集他们对社区文档的看法。这个项目的目标是找出开发者在文档中最看重什么方面。

问卷调研

我将调查参与者分为两组:

  • 活跃的贡献者:经常为社区贡献的开发者。
  • 不太活跃的贡献者:很少参与社区活动的开发者。

然后将问卷分发给同事,并确保两组之间人数均等。

调研结果

调查显示,两个群体都非常重视社区文档的准确性。然而,活跃的贡献者更看重逻辑的清晰性,而不太活跃的贡献者则强调参与的便利性,比如是否能够访问文档作者信息以便进行进一步讨论。

文档改进建议

根据调查结果,我提出了以下建议:

  1. 增强文档准确性:同一软件不同版本的文档内容大同小异,在迭代更新过程中,文档编写者可能存在一味继承旧版本文档内容的问题。要提醒文档作者仔细检查并更新内容,避免信息过时。
  2. 改进文档逻辑:社区文档的整体目录结构划分维度比较单一且排版不清晰。可以规范格式,按版本和功能分类目录,以便更容易导航。
  3. 促进参与:很多文档内中没有文档编写者的信息与联系方式,这并不利于其他开发者与作者交流。推荐在文档中包含作者的联系信息,帮助开发者进行进一步讨论和贡献。
  4. 简化Issue处理:对于一些专业性较强的Issue,可以与 SIG Maintainer或Committer合作,审查专业问题,减少审查时间。

我在社区中的成长

受益良多的开发者大会

我记忆比较深的是我第一次参与openEuler社区举办的开发者大会 。开发者大会为我提供了与其他社区参与者分享和交流技术和非技术知识的平台。与其他参会者的交流,激励我更积极地为社区贡献力量。开发者大会和整个社区中开放和支持的氛围对我的成长至关重要。

社区贡献与合作中的领悟

  1. 深入理解项目:在参与任何开源项目之前,需要对项目有深入的了解。这包括项目的目标、技术栈、现有的代码库结构以及社区的运作方式。只有对项目有全面的认识,才能更加有效地为社区做出贡献。
  2. 遵循社区规范:每个开源社区都有自己的规范和流程,如代码提交规则、讨论方式、版本控制等。开发者应严格遵守这些规范,以确保代码的质量和一致性,共同维护社区和谐氛围。
  3. 持续学习与提升:开源社区是技术学习和提升的好平台。开发者应积极参与技术讨论和代码审查,从中汲取新知识,提升技术水平。同时,关注行业最新动态,为项目引入新的技术和思想。
  4. 注重沟通与协作:开源社区强调开放与协作。开发者应积极参与社区讨论,与其他成员保持良好沟通。在提出自己的想法或建议时,应尽量清晰明了地表达,并尊重他人的观点。通过协作,共同推动项目的发展。
  5. 贡献高质量代码:在提交代码之前,务必进行充分测试,确保代码的质量和稳定性。此外,还应关注代码的可读性和可维护性,以便其他开发者能够轻松地理解和修改你的代码。
  6. 积极回应反馈:当收到其他开发者的反馈或建议时,应积极回应并改进。这不仅提升个人的技术水平,还能增强社区的凝聚力。

我鼓励大家在社区中分享自己的想法或经验。每一个反馈对社区发展都很重要。让我们继续分享,互相支持,并吸引更多人加入开源世界!


【免责声明】本文仅代表作者本人观点,与本网站无关。本网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文仅供读者参考,由此产生的所有法律责任均由读者本人承担。