为什么你应该三思而后行地为开源做出贡献 添加清除站点数据以注销 #4187 添加对注销时清除站点数据的支持 #6550

2025-05-26

为什么你应该三思而后行地为开源做出贡献

添加清除站点数据以注销 #4187

添加注销时清除站点数据的支持 #6550

十分之七的开发者为开源做出贡献,以下是一些关于如何开始的提示和建议

开源贡献是科技界最受追捧的技能之一,这已不是什么秘密。除了就业福利之外,还有其他优势,例如

  • 学习和分享知识
  • 建立并提高您的品牌知名度
  • 通过代码审查和讨论与其他开发人员进行协作和沟通
  • 回馈社会❤
  • 与志同道合的人联系,找到你的员工、联合创始人、导师、受训者

Eclipse 基金会称,开源软件近年来获得了大量投资。

替代文本


你为什么要关心?

回顾 2016 年 StackOverflow调查,其中根本没有提及开源,然而在 2017 年的调查中,约有 32.7% 的受访者声称为开源做出了贡献,而这一数字在 2018 年的调查中增加了近 10%(达到 43.6%) ,更有趣的是,2019 年贡献者的比例上升了 20%(达到 63.3%)。

替代文本

根据BlackDuck 2016 年开源未来调查结果,约 67% 的开源参与者

  • 修复错误
  • 添加新功能

59%的开发者参与开源以获得竞争优势。

考虑到上述事实、数据和趋势,我认为值得考虑开源贡献。

成为你希望看到的世界的改变——圣雄甘地


我之前未能做出贡献的原因是什么?

替代文本

我们大多数开发者都热衷于为开源做出贡献,但由于各种原因,我们最终未能如愿。以下是我列出的一些原因

  • 大多数教育机构既不承认开源贡献是一种有效的学习方式,也不鼓励学生参与——在我看来,开源贡献应该成为课程的一部分(作为作业、项目等)。

替代文本

  • 您的地理位置——在我看来,您所居住的国家也起着至关重要的作用,正如本文所强调的那样
  • 新年决心和生日承诺——我曾有过无数这样的承诺,但它们从未真正发挥作用。
  • 不切实际的目标——我曾经决定向 docker 等存储库发出至少二十 (20) 个拉取请求(因为我❤docker),而没有考虑到我没有足够的知识来做到这一点。
  • 工作、副业和生活借口——每次未能做出贡献之后,我都会问自己,我在其他垂直领域做得很好。

无论贡献有多小,如果你定期这样做,从长远来看它确实会产生影响。

  • 低估我的能力——有时我会研究现有的拉取请求和问题,并得出“这很复杂”的结论。
  • 忽略文档问题——大多数时候我都忽略了所有与文档相关的问题。

替代文本

  • 我的雇主并不关心——我喜欢一份需要回馈开源社区的工作。

  • 拖延——由于多种原因,这肯定是一个因素。

这些是阻止我早期开始开源贡献的一些主要原因。


我的动机

替代文本

对我来说,为开源做出贡献的主要动机是获得足够的知识来撰写相关文章。

我非常重视知识共享,无论是在个人层面还是在团队和组织层面,我都努力做到这一点。

去年我在做一个业余项目,学到了一些关于加密的知识,所以就在这里写了下来。几个月后,我帮忙编写了公司的编码指南,并利用这些知识写了一篇相关文章。

写了两篇文章之后,我想写一些我认为对新开发人员和学生来说真正重要的东西(中等版本,不计量)。

社区喜欢❤这篇文章,并获得了约 5 万次浏览量、数千次点赞和赞赏评论(在 Medium 上 - 在他们的付费墙之前)。

对我来说,下一篇重要文章是撰写有关开源贡献(本文)的文章,为此我需要先做出一些开源贡献。

替代文本

因此,如果您发现自己也想做出贡献但还没有做到,那么请寻找那个理由、动机、目的、动力,无论它是什么。


我的贡献策略

我决定为Spring 框架(一个我以前用过的库)做贡献。我在阅读贡献指南时,发现有几个链接失效了,于是创建了一个拉取请求来修复它们。

替代文本

拉取请求被合并了,感觉很棒,我决定继续下去。然而,出现了一个问题。大多数 GitHub 问题(例如 Bug、新手问题、需要帮助的问题、功能问题)在我表达兴趣之前就被其他贡献者选中了。

替代文本

每当一个过程没有产生我想要的结果时,我就会做出改变并重新评估结果,并继续这样做,直到结果令人满意为止。

这是我所做的

  • 我订阅了(关注了)Spring仓库
  • 在上班途中,我会浏览电子邮件通知,并通过评论表达对我可以解决的问题的兴趣

替代文本

由于这个策略,我有很多问题需要解决。第一个增强功能

添加清除站点数据以注销 #4187

我们应该研究在 Spring Security 的 LogoutHandler 实现中添加“清除站点数据”功能。请参阅https://w3c.github.io/webappsec-clear-site-data/

以及它的拉取请求

添加注销时清除站点数据的支持 #6550

此 PR 增加了对 Clear Site Data HTTP 响应头的支持。更多详情请参阅 issue。

修复 #4187

我继续以这种方式处理类型增强、错误和新功能等其他一些问题,从而产生了以下 PR

替代文本

因此,如果您难以找到需要解决的问题,请转向其他策略。


提示和建议

根据我迄今为止的知识和经验

  • 参加Hacktoberfest
  • 关于“如何贡献”的必读指南
  • 学习 Git 基础知识
  • 选择一种语言,例如 Java、JavaScript
  • 确定欢迎贡献的存储库 - 使用诸如CodeTriageGithub Explorer这个
  • 阅读存储库政策,即贡献指南
  • 了解您想要贡献的项目
  • 以代码、文档、错误和新功能的形式做出贡献
  • 根据标签(例如需要帮助、错误、首次出现等)过滤问题。
  • 注意别人的时间,特别是那些帮助你的维护者
  • 确保你拥有必要的技能和时间来投资
  • 关注问题和拉取请求中的讨论,查看代码更改
  • 保持耐心并乐于接受反馈

我选择了一个 Elastic Search问题,而忽略了我需要了解一些 Groovy 以及 Elastic Search 构建的工作原理,因此我花费了更多的时间和精力才使 PR 达到完成阶段。

在选择解决某个问题之前进行一些研究总是一个好主意。


推荐阅读

我强烈建议您阅读开源指南,以及这篇文章,它们提供了丰富的入门知识。这篇文章重点介绍了一些实用技巧,如果您是视觉型人才,那么 Kent C. Dodds 的这些视频可能会对您有所帮助。

我于 2020 年 1 月 27 日看到了这篇关于开源贡献的文章,发现它很有帮助且相关。


感谢您的阅读。欢迎关注我,获取更多文章,或在LinkedIn或其他社交媒体平台上与我联系。

如果本文以任何方式帮助您做出了第一次贡献,那么欢迎您以评论的形式分享您的想法、建议、反馈和请求。

文章来源:https://dev.to/rhamedy/why-you-should-think-twice-about-contributing-to-open-source-1l4d
PREV
坚固。2021年它还有用吗?
NEXT
一行代码如何改变我的生活