<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Hunter Wang - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ freeCodeCamp 是一个免费学习编程的开发者社区，涵盖 Python、HTML、CSS、React、Vue、BootStrap、JSON 教程等，还有活跃的技术论坛和丰富的社区活动，在你学习编程和找工作时为你提供建议和帮助。 ]]>
        </description>
        <link>https://www.freecodecamp.org/chinese/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Hunter Wang - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/chinese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Wed, 03 Jun 2026 21:24:13 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/chinese/news/author/hunter/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ 送你一份美味又营养十足的开源社区贡献指南！ ]]>
                </title>
                <description>
                    <![CDATA[ 在这篇文章里，我想和你分享我对开源的理解。 让我们先从简单的开始。 你知道什么是产品吗？你日常轻松购买的某种东西就是产品，比如餐馆里的卷饼。但是要制作这款产品就需要遵循一定的步骤：在餐馆里，懂食谱的厨师熟练地使用相同的配方和相同的成分，确保每份卷饼味道可口。 你不仅可以通过贡献开源来进入某个技术领域，实现职业转型或促进现有职业的发展，还能以此来帮助社区！ 在大多数餐馆，如果你走进去询问厨师：“我非常喜欢您做的卷饼，可以把制作配方给我吗？”，他们通常都会拒绝——因为配方并非开源。开源就是除了产品本身，你还能够获得制作产品的食谱和配方，然后你在家里也可以制作出同样的卷饼。 图片来自 Pixabay，作者 samuelfernandezrivera 现在假设你开始制作卷饼了，但你不想吃那么多肉，于是用鳄梨取而代之。在这种情况下，你拿到了食谱并用鳄梨代替了肉，接着完全按照剩余的步骤进行下去，然后看看做出的卷饼是什么样子的。 结果可能是你做的卷饼比餐馆里的还要好吃。如果餐馆是以开源项目的形式运作的，你就可以对厨师说：“嘿，你的卷饼很好吃，但我加了一些鳄梨之后味道更棒了！可以把这个配方 ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/the-definitive-guide-to-contributing-to-open-source/</link>
                <guid isPermaLink="false">5de8fae1ca1efa04e196a8eb</guid>
                
                    <category>
                        <![CDATA[ 开源 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Hunter Wang ]]>
                </dc:creator>
                <pubDate>Sun, 02 May 2021 11:00:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2019/12/12.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>在这篇文章里，我想和你分享我对开源的理解。</p><p>让我们先从简单的开始。</p><p>你知道什么是产品吗？你日常轻松购买的某种东西就是产品，比如餐馆里的卷饼。但是要制作这款产品就需要遵循一定的步骤：在餐馆里，懂食谱的厨师熟练地使用相同的配方和相同的成分，确保每份卷饼味道可口。</p><p>你不仅可以通过贡献开源来进入某个技术领域，实现职业转型或促进现有职业的发展，还能以此来帮助社区！</p><p>在大多数餐馆，如果你走进去询问厨师：“我非常喜欢您做的卷饼，可以把制作配方给我吗？”，他们通常都会拒绝——因为配方并非开源。开源就是除了产品本身，你还能够获得制作产品的食谱和配方，然后你在家里也可以制作出同样的卷饼。</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://chinese.freecodecamp.org/news/content/images/2019/12/image-2.png" class="kg-image" alt="image-2" width="600" height="400" loading="lazy"><figcaption>图片来自 Pixabay，作者 samuelfernandezrivera</figcaption></figure><p>现在假设你开始制作卷饼了，但你不想吃那么多肉，于是用鳄梨取而代之。在这种情况下，你拿到了食谱并用鳄梨代替了肉，接着完全按照剩余的步骤进行下去，然后看看做出的卷饼是什么样子的。</p><p>结果可能是你做的卷饼比餐馆里的还要好吃。如果餐馆是以开源项目的形式运作的，你就可以对厨师说：“嘿，你的卷饼很好吃，但我加了一些鳄梨之后味道更棒了！可以把这个配方加入到你的食谱中哦。”</p><p>此时厨师就扮演了产品维护者的角色，他们可能会接受你的建议，也可能认为添加鳄梨是个坏主意，不符合餐馆的理念。无论如何，通过分享对项目的修改，你成为了一名开源贡献者。</p><p>恭喜你！</p><h2 id="-">可以为开源项目做哪些贡献？</h2><p><a href="https://www.mozilla.org/en-US/firefox/new/">Firefox </a>浏览器就是开源项目的一个范例。它是由数千行源代码和如何将此源代码转换为可用产品（如 Web 浏览器）的指令组成。这些代码是公开的，每个人都能获取、阅读、评审或构建它。每个想要修改 Firefox 的人都可以更改源代码并构建自定义版本。不仅如此，每个人还可以将自定义的修改反馈给项目维护者。</p><p>然而，代码并不是开源项目的全部，还有用户界面和图形设计。没错，即使像 Vim 这样的终端程序也有自己的图形界面。</p><p>你无需编写代码即可为开源做贡献！</p><p>除了界面，还有用户交互、可用性和用户体验（UX）等等——这些在近几十年来越来越重要。如果你拥有设计背景，精于艺术或心理学，你就可以在 UI/UX 领域施展能力。产品的另一个组成部分是媒体，包括声音、图形或视频，这些元素虽然不是所有项目必备的，但也挺常见。</p><p>文档是项目中经常被忽视的一部分。改进文档也是向开源社区做贡献的一种方式。如果你热衷于文字创作、文章编辑或翻译，那你也能成为开源社区的贡献者。</p><p>此外，开源项目经常缺少市场运营人员，如果你能解决运营问题，整个社区都会随之受益，因为这会吸引更多潜在的贡献者。</p><p>最后还有法务工作者，这类人群在普通开源项目中相当罕见，多见于大型项目。有很多律师为开源项目处理法务问题，而他们中的大多数都是志愿者。</p><p>如果你可以写散文、画画、制作音乐，是一个好的营销人员，或者是律师，那么，开源社区需要你！</p><p>如果你觉得自己无法胜任设计、修改代码、编写许可证等工作，不必担心，你依然可以做出贡献，比如报告一个错误或提出修改建议。</p><p>最好的状态是这样的：每个成员都贡献出一点点时间、一点点努力、一点点经验，整个社区协作产出一款出色的产品，而且通常是一款免费产品！</p><p>觉得自己不是一位创造者？去发现 bug、或者向程序猿提需求吧！</p><h2 id="--1">为什么值得我花时间？</h2><figure class="kg-card kg-image-card"><img src="https://chinese.freecodecamp.org/forum/uploads/default/original/1X/37dfbe4ee9d5be14a5f85874dbd8d107a12aa4a4.jpeg" class="kg-image" alt="2" width="600" height="400" loading="lazy"></figure><p>为什么向开源社区做贡献是值得的？为什么你要在提建议、写代码或翻译文章上花费时间，而不是出去走走玩玩？有很多理由， 所有理由的前提是：对开源社区做出的贡献是公开可见的，每个人都能看见其他任何人所做的事情，这种感觉非常棒！</p><h3 id="--2">提升竞争力</h3><p>当你在编写代码，设计界面，或者绘制图形时，你就是在学习，这对那些正在寻求职业转型的人来说是很好的锻炼机会。在开源世界，没有人会在意你是一个资深开发人员还是一个园艺工人，真正重要的是你所做贡献的质量。当你在开源项目中证明了自己，你将获得宝贵的经验，不用再觉得自己是刚从训练营毕业的新手，你已经是社区的正式成员，所有人都看得到你的贡献。</p><p>当你在某项技术工作中遇到困难，想要转型做别的，那么参与开源贡献是一个很好的途径。比如，你是一名 COBOL 开发者，想要成为一名 UX 设计师 ，那么从现在开始尝试改进 Firefox 的交互体验，为开源做出贡献吧。如果你的建议被社区接受，那么你就可以在简历中新增一项工作经历：Firefox 交互设计师。像这样，你既能学到有用的知识，又能丰富自己的经历，一箭双雕。</p><h3 id="--3">提升知名度</h3><p>加入开源社区之后，你会很快地认识新的小伙伴，接触共事的团队成员，你可以向他们学习并与他们交流想法。</p><p>另一个加入开源社区的好处是你会自动地获得更多的曝光机会。举个例子，有人通过访问你所在的开源项目找到你的 YouTube 频道，或者通过 LinkedIn 为你提供工作机会。</p><p>目前 IT 行业招聘人员们寻找人才的一个重要渠道就是 GitHub，把你的代码发布到 GitHub 就相当于编写了一份所有人都能验证的简历，而无需联系你之前的雇主或者客户。如果你的个人 GitHub 资料包含了跳转到领英或个人主页的链接，那么你找到梦想中工作的机会将大幅增加。</p><p>记住，你甚至都不必拥有特定领域的从业经历，对于招聘者来说，你对开源的贡献就是你具备经验的最好凭证！</p><h3 id="--4">寻找工作机会或新的客户</h3><p>如果你真的很优秀，你将会获得为开源项目工作的有偿 offer。这主要是指那些有稳定财务来源的开源项目，可能是获得公司或者非营利组织的支持。</p><h3 id="--5">招募贡献者</h3><p>你还可以招募到一些有潜力的新人。如果你做了一些酷炫且有用的项目，请毫不犹豫地把它开源，这样就有机会让其他人帮你改进。</p><h3 id="--6">帮助他人</h3><p>另一个参加开源的好处是，你将有机会为他人做一些有意义的事情并且获得尊敬。你收到的所有“感谢”将让你觉得你所花费的心血都是值得的，而且你也拥有了参与一些很棒项目的经历。</p><h3 id="--7">有机会接触到很棒的统计数据</h3><p>很多人很喜欢统计数据，对他们而言，<a href="https://github.com/">GitHub</a> 就是一块宝藏。我们在 GitHub 上的每一次提交，都会在一个日历上产生绿色方块标记，每天的提交数越多，对应方块的颜色越明亮。当我们连续几天都有提交时，类似于每天打卡，GitHub 会保留分数以供将来参考。</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://chinese.freecodecamp.org/news/content/images/2019/12/image-3.png" class="kg-image" alt="image-3" width="600" height="400" loading="lazy"><figcaption><a href="https://www.freecodecamp.org/news/the-definitive-guide-to-contributing-to-open-source-900d5f9f2282/undefined">GitHub</a> 贡献数据（不是我的）</figcaption></figure><p>如何找到你的第一个项目？</p><p>你可以通过多种方式找到想要贡献的项目。首先，像火狐和安卓这样的重量级项目拥有庞大的用户基数，需要大量的修改和优化。一旦你向这种项目提交了代码，你的修改将会被数百万人看到。你可以访问 GitHub 看看有哪些流行的仓库，比如，目前 GitHub上拥有最多 star 的项目是 <a href="https://github.com/freeCodeCamp/freeCodeCamp">freeCodeCamp</a>。</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://chinese.freecodecamp.org/news/content/images/2019/12/image-4.png" class="kg-image" alt="image-4" width="600" height="400" loading="lazy"><figcaption>GitHub上拥有<a href="https://github.com/search?q=stars:%3E1&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;s=stars&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;type=Repositories">最多 star 的仓库</a></figcaption></figure><p>如果你是个新手，我不会推荐上面第一种方式。一个庞大项目最大的优势往往也是它最不好的地方。每个人都想做出贡献，但是维护人员的数量是极为有限的。如果你真的想产生影响，不如试试一些小规模的、处于上升阶段的项目。<a href="https://github.com/trending">GitHub Trending</a> 就是一个好的方法。</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://chinese.freecodecamp.org/news/content/images/2019/12/image-5.png" class="kg-image" alt="image-5" width="600" height="400" loading="lazy"><figcaption>GitHub上的<a href="https://github.com/trending">热门项目</a></figcaption></figure><p>另一种方式是选择 <em>awesome</em> 项目作为第一次贡献者，这是比较节省精力的方法。<em>awesome</em> 项目是一个链接列表的大集合。比如，<a href="https://github.com/alebcay/awesome-shell">awesome-shell</a> 列出了一些酷炫的命令行工具，而 awesome-JavaScript 列出了每天涌出的优秀 JS 框架， 当然还有 <a href="https://github.com/hackerkid/Mind-Expanding-Books">Mind Expanding Books</a> 和 <a href="https://github.com/sindresorhus/awesome">awesome_lists</a> 等等。</p><p>为什么说这是个好办法？因为给这些项目做贡献的门槛比较低，而贡献的成就感更容易刺激产生多巴胺，多巴胺又会刺激做下个贡献。一旦皮球开始滚动，就很难让它停下来了。</p><p>我推荐的最后一个方法是参加大型开源活动，比如每年十月举办的 <a href="https://hacktoberfest.digitalocean.com/">Hacktoberfest</a>，参与者需要提交5次 Pull Request（即 5 次贡献），每个完成任务的参与者都会从赞助方那里领取到精美的礼物（T恤或贴纸）。为了让降低参与门槛，活动网站上会列出一些入门的示例项目以供选择。</p><p>另一个类似的活动是 <a href="https://summerofcode.withgoogle.com/">Google Summer of Code</a>。你可以参考往期的项目列表，也许这回给你带来灵感！哦对了，这里还有一个 <a href="https://github.com/MunGell/awesome-for-beginners">Awesome First PR Opportunities</a> 列表。</p><p>如果你希望持续不断地参与开源，你需要先找到适合的项目，这样的话对你自身的提高大有裨益，也能保证高质量的工作。</p><h2 id="--8">如何做出有价值的贡献？</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://chinese.freecodecamp.org/news/content/images/2019/12/image-6.png" class="kg-image" alt="image-6" width="600" height="400" loading="lazy"><figcaption>图片来自 <a href="https://unsplash.com/?utm_source=medium&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;utm_medium=referral">Unsplash</a>，作者 <a href="https://unsplash.com/@rawpixel?utm_source=medium&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;utm_medium=referral">rawpixel</a></figcaption></figure><p>我们现在了解了为什么贡献开源以及在哪里参与开源，现在我们讨论一下如何让我们的贡献变得有价值。毫无意义的贡献是不会被接受的，所以最好有所准备。</p><h3 id="--9">我们需要尊重工作须知</h3><p>首先，我们需要尊重他人制定的工作须知。在许多项目中，你可以找到像 <code>CONTRIBUTORS.md</code> 这样的文档，它说明了做贡献的首选方式。如果项目中没有 <code>CONTRIBUTORS.md</code>，你也可以阅读 <code>README.md</code> 或项目 wiki 页面，熟悉并理解这些规则，然后按照规则参与开源。</p><p>如果你没有遵循开发指南列出的规则，很可能在 review 之前就被拒绝。那些规则就是为了节省维护者的时间的，如果你不遵守，那么维护者会认为你对待其它工作的时候也经常粗心大意。</p><h3 id="--10">思考你的贡献对他人有着怎样的价值</h3><p>当我们知道了怎样参与开源，下一步让我们思考一下我们的贡献究竟对他人有着怎样的价值。想象有一家生产定制西服的公司，你在门店里买了一套西服然后穿着它去了酒吧。你突发灵感，把开瓶器挂在了西服上，这样每次去酒吧喝酒的时候，你都能随时使用衣服上的开瓶器打开啤酒了。</p><p>于是你把这个“伟大的想法”告诉了裁缝，让他在制作西服时顺便挂上一个开瓶器。然而，无论你的想法多么具有独创性，裁缝都是不可能同意的，就像开源项目的维护者不会接受一个与其观念不同的代码提交。这并不是说你的工作很差或者毫无价值，而是你提交的功能特性仅仅适用于极小部分用户，不能代表大部分用户的需求。既然每个功能都需要维护成本并确保其稳定性，项目维护者自然就需要确保每个功能点都能为大多数用户带来价值。</p><h3 id="--11">详尽沟通</h3><p>如果你提交的不是功能点的修改，而是一篇报告，那么你一定详细描述，尽可能地把问题的背景解释清楚。这点建议当你在报告 bug 时格外有用。你描述得越详细，别人在修复问题时就会更容易直击要害。请记住，列出可能的用例和预期的行为，忽略与报告不相关的任何细节。比如，你想让某个元素变成绿色，因为这能够与竞品相匹配，那么你长篇累牍地描述竞争的背景则会显得有点多余。</p><h3 id="--12">运行、测试、校验，提交前仔细检查</h3><p>在提交代码之前要详细地检查和测试，确保你的更改针对的是当前的开发版本，而不是某个历史版本。记住你只需运行一次测试，而项目维护者需要每天运行各种各样的测试，为了节省他们时间，你需要确保一切都运行正常。这也体现出你严谨的态度，而不是马马虎虎地提交一份半成品。</p><h3 id="--13">直面批评</h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://chinese.freecodecamp.org/news/content/images/2019/12/image-7.png" class="kg-image" alt="image-7" width="600" height="400" loading="lazy"><figcaption>图片来自 <a href="https://unsplash.com/?utm_source=medium&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;utm_medium=referral">Unsplash</a>，作者 <a href="https://unsplash.com/@sickhews?utm_source=medium&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;utm_medium=referral">Wes Hicks</a></figcaption></figure><p><br>请记住这点：你每次在网上发布一些东西的时候，都是把自己暴露在攻击之下。不管你发布的是一句评论，一张照片，一篇文章，还是一份代码，你都可能受到批评。所以，请对批评的声音持开放的态度，这样会有助于你的成长。</p><p>有些批评甚至是毫无根据的。因此，在你分享自己的工作之前，需要想想如何处理各种各样的批评，这样你才会为那些终将到来的批评做好准备，而不是每次都默默地慢慢消化。</p><h3 id="--14">我们的最佳想法并非对所有人都是最佳的</h3><p>首先，你能想到的最佳想法可能并不是对所有人都是如此，请千万记住这点。当有人告诉你开瓶器跟西服根本就不搭的时候，不要觉得受到了冒犯。如果这是项目维护者的观点，你一定要尊重，这将会是你下次参与开源项目的宝贵经验。或者你也可以参与那些接受你的“最佳想法”的项目。</p><h3 id="--15">我们最好的作品可能并不符合标准</h3><p>尽管话很难听，但你的最佳作品可能并不符合标准。我亲身经历过这种事情，我参与了一个项目，本想在第一次提交时就做到完美（但只是我认为的“完美”），毕竟我知道需要注意哪些事情。但是结果我收到了一份指导我如何写出好代码的教程——我发送了代码，过段时间收到了答复，几乎每一行代码都被高亮标记出来，有趣的是，所有的评论都是有理有据并且准确的。我眼中的完美在专家眼中却并非如此。我根据批注做出了修改然后重新提交了代码，这次我只收到了五个批注。</p><p>即使你已经做得很好了，仍会有人推动你去做得更好，这就是代码 reviewer 的目的。他们并不是在批评或责怪你，而是在帮助你，请记住这点！</p><h3 id="--16">即使我们做到了能做的一切，还是可能被拒绝</h3><p>有时你仅仅得到一个简短直接的回复， “no”，这让你感觉无能为力。你仍然坚信把开瓶器挂在西服上是个好主意，这时该怎么办？是时候创造你自己的项目了。在开源世界里，在已存在项目的基础上创建新项目的行为叫作“新建分支”。</p><p>相应的，新项目被称为原项目的“分支”。比如，Ubuntu 就是 Debian 的一个分支。如果维护者拒绝把你的代码合入他的项目，你可以考虑新建一个分支，自己成为项目维护者。当然只在极端情况下才应这样做，因为这不仅给两方维护者带来负担，也会给社区造成困惑。如果你不幸恰好收到了 “no”，你应该好好想想得到这个答复背后的原因，这将会成为你未来宝贵的经验。</p><h3 id="--17">网络暴力无处不在</h3><p>现在来谈谈网络暴力。</p><p>互联网给人一种匿名感，涌现了一种亚文化：“键盘侠”（或者“网络喷子”）以故意诋毁他人为乐。这种亚文化被称为“网络暴力”。我自己还没遇到这种情况，但我推荐你阅读 <a href="https://www.freecodecamp.org/news/the-definitive-guide-to-contributing-to-open-source-900d5f9f2282/undefined">Ragen Chastain</a> 写的文章 “<a href="https://betterhumans.coach.me/the-complete-guide-to-understanding-and-dealing-with-online-trolls-4a606ae25c2c">The Complete Guide to Understanding and Dealing With Online Trolls</a>”，它将帮助你为这种令人不适的遭遇做好准备。</p><h2 id="--18">通过开源赚钱</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://chinese.freecodecamp.org/news/content/images/2019/12/image-8.png" class="kg-image" alt="image-8" width="600" height="400" loading="lazy"><figcaption>图片来自 <a href="https://unsplash.com/?utm_source=medium&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;utm_medium=referral">Unsplash</a>，作者 <a href="https://unsplash.com/@rawpixel?utm_source=medium&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;utm_medium=referral">rawpixel</a></figcaption></figure><p>如果你已经读到了这里，你可能会想是不是有可能在为开源项目工作的同时赚点外快。</p><p>当然可以！</p><p>虽然软件本身通常是免费使用的，但是会有其它方式让你利用开源项目赚钱。赚钱是一门艺术，因为一些办法只适用于你自己，在别人那里却不管用，它是门“伪科学”。</p><h3 id="--19">普遍适用的方法</h3><p>我最喜欢的方法就是“捐款”按钮，你可以在我的一个叫 <a href="https://doomhammer.github.io/songcorder/#tips-welcome">Songcorder</a> 的项目中看到这是怎样的。捐款人可以通过 PayPal 支付大于 15 美元的捐款，或者点击 <a href="https://www.freecodecamp.org/news/the-definitive-guide-to-contributing-to-open-source-900d5f9f2282/undefined">Buy me a Coffee</a> 支付小于 15 美元的捐款。</p><p>（你也可以在这里 <a href="https://www.freecodecamp.org/donate">https://www.freecodecamp.org/donate</a> 为 freeCodeCamp 捐款，你的每 1 美元捐款将为全世界人们提供 50 小时免费的编程教育机会。）</p><figure class="kg-card kg-image-card"><img src="https://chinese.freecodecamp.org/news/content/images/2019/12/image-9.png" class="kg-image" alt="image-9" width="600" height="400" loading="lazy"></figure><p>除了通用的按钮之外，还有一些开源项目专用的方法，比如 Gittip/<a href="https://en.liberapay.com/explore/repositories">Liberapay</a>（后者经常换名字）。有趣的是，Liberapay 所支持的最受欢迎的仓库是 <a href="https://github.com/sindresorhus/awesome">awesome</a>。</p><p>这与 <a href="https://flattr.com/">Flattr</a> 很类似。你可以选择每月要捐的金额，当你认可某些作品时，作品的作者将获得捐款的一部分。也就是说，如果你决定每月向开源项目捐 5 美元，在某月你认可 4 个项目的工作（通过 star 或者点击 Flattr 按钮），那么每个项目的作者将会得到 1.25 美元。就是这么简单。</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://chinese.freecodecamp.org/news/content/images/2019/12/image-10.png" class="kg-image" alt="image-10" width="800" height="600" loading="lazy"><figcaption><a href="https://en.liberapay.com/explore/repositories">与 Liberapay 关联的仓库</a></figcaption></figure><p>除了支持整个项目，你也可以直接（近乎直接）向开发者捐款。<a href="https://tip4commit.com/">Tip4Commit</a> 就是以这种方式运作的，支持者向某项目的账户存入一定数量的比特币，然后每个开发者就可以从这个账户分到一笔钱了。</p><p>另一个可能的方法是 <a href="https://www.patreon.com/">Patreon</a>，支持者将固定金额的现金分配给他们选择的任何开发者，而不是平均分配预算。如果你想了解这种方式是否适合你，可以阅读 <a href="https://www.freecodecamp.org/news/the-definitive-guide-to-contributing-to-open-source-900d5f9f2282/undefined">Erika Sauter</a> 写的文章《<a href="https://medium.com/art-for-lunch/why-patreon-is-dope-af-for-creators-687e2e1bc3c1">Why Patreon is Dope AF for Creators</a>》。享有盛誉的 <a href="https://www.patreon.com/sindresorhus">Sindre Sorhus</a> 就是最主要的开源维护者之一，而像 <a href="https://www.patreon.com/homebrew">Homebrew</a> 和 <a href="https://www.patreon.com/linuxbrew">Linuxbrew</a> 这种颇具规模的项目同样也使用 Patreon 筹集资金。</p><p>如果你把开源视为业余爱好，那么你可以尝试上面提到的所有方法。幸运的话，它们甚至可以让你将兴趣变成全职工作。然而，实际上，如果你想使开源项目成为你的日常工作，一个常见的方式是提供咨询服务，比如向企业客户出售专业功能或者帮助企业客户部署和定制产品。很多企业缺乏利用开源项目解决其内部需求的能力，而谁又能比原始项目的维护者更能胜任这项工作呢？</p><p>如果你在帮助别人的同时能够获得报酬，那就这样去做吧！</p><h3 id="--20">众筹</h3><p>为开源项目筹集资金的一种流行方法是众筹，有很多提供这类服务的平台。比如， <a href="https://www.kickstarter.com/">Kickstarter</a> 为开源语音助手 <a href="https://www.kickstarter.com/projects/aiforeveryone/mycroft-mark-ii-the-open-voice-assistant">Mycroft Mark II</a> 筹集了启动资金。另一个平台 <a href="https://www.indiegogo.com/">Indiegogo</a>为电子邮件客户 <a href="https://www.indiegogo.com/projects/geary-a-beautiful-modern-open-source-email-client">Geary</a> 主持了一场众筹活动，但很可惜，这个项目未能达成它的预期目标。<a href="https://mediagoblin.org/">MediaGoblin</a> 甚至在没有任何第三方的情况下启动了自己的 <a href="https://mediagoblin.org/pages/campaign.html">众筹系列活动</a>。</p><p>如果担心你无法找到很多众筹者，那么你可以尝试融资。在我的印象中，有至少两个提供融资的基金会，其中一个是著名的 <a href="https://travis-ci.com/">Travis CI</a> 公司旗下的 <a href="https://foundation.travis-ci.org/grants">Travis Foundation</a>，另一个是开发了 <a href="https://www.mozilla.org/en-US/firefox/new/">Firefox</a> 浏览器的<a href="https://www.mozilla.org/en-US/grants/">Mozilla</a> 基金会。</p><p>目前我介绍的大多数工具和方法都是适用于开源项目维护者的，而开源贡献者也可以通过做“悬赏任务”来赚钱。项目方在某个平台发布需求，贡献者完成这些需求即可获得奖励。目前 <a href="https://www.bountysource.com/">Bountysource</a> 似乎是最受欢迎的众包平台。</p><p>如果你更喜欢将加密货币作为付款方式，<a href="http://gitcoin.co/">Gitcoin</a> 是一个与众包具有相似原理的平台。想做更多的了解，可以看 <a href="https://www.freecodecamp.org/news/the-definitive-guide-to-contributing-to-open-source-900d5f9f2282/undefined">Vivek Singh</a> 写的文章《<a href="https://medium.com/gitcoin/everything-you-need-to-know-about-gitcoin-fe2e3e292a21">Everything You Need to Know About Gitcoin</a>》。</p><p>带薪实习是另一个有效的方法，有两个备受欢迎的选择：</p><ul><li><a href="https://summerofcode.withgoogle.com/">Google Summer of Code</a>——面向学生</li><li><a href="https://www.outreachy.org/">Outreachy</a>——面向技术领域的少数派</li></ul><p>或者，如果你真的对开源充满激情，为什么不加入一家专注于开发开源软件的公司呢？有很多这样的选择，就像咨询一样，你将获得报酬，并同时能够为社区做点事情。</p><p>这是一个双赢的选择！</p><h3 id="--21">更多方法</h3><p>如果你还想寻找更多通过开源赚钱的灵感，可以看看 GitHub 上的 <a href="https://github.com/nayafia/lemonade-stand">lemonade-stand</a> 项目，或者在那里留下你的看法。开源，一切皆有可能！</p><h2 id="--22">遇到志同道合的人</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://chinese.freecodecamp.org/forum/uploads/default/original/1X/04a841151ca3a5def89bd7ed52d1b5d150ce1ae4.jpeg" class="kg-image" alt="12" width="600" height="400" loading="lazy"><figcaption>图片来自 <a href="https://unsplash.com/?utm_source=medium&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;utm_medium=referral">Unsplash</a>，作者 <a href="https://unsplash.com/@bamagal?utm_source=medium&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;utm_medium=referral">“My Life Through A Lens”</a></figcaption></figure><p>到目前为止我尚未提到的是：无论产品、项目还是技术，都是整个开源活动的一小部分，开源最重要的组成部分是丰富多彩的社区！当你开始为开源做出贡献，你会很快结识很多新朋友，你可以向他们学习，可以为他们提供帮助，也可以与他们交换思想。</p><p>每个项目都有专属的社区，而且也有很多地方让众多拥有不同背景的开源爱好者聚集起来。</p><p>你可以加入一些在线交流社群，比如领英的 <a href="https://www.linkedin.com/groups/65688/">Linux &amp; Open Source</a>。你也可以加入很多有趣的 <a href="https://gitter.im/">Gitter</a> 频道，Gitter 是为开源社区打造的即时通讯软件。当然，还有一些邮件组、论坛或平台（如 GitHub）让大家互相协作和交流。但是，如果你想亲自结识志趣相投的人，请考虑访问或加入线下黑客空间。</p><p>在黑客空间，人们将对实践的热爱传递到软件世界之外。不管你是对软件、硬件还是 DIY 和手工制作感兴趣，都可以去这些空间。有一个维基百科页面专门列举出了<a href="https://wiki.hackerspaces.org/List_of_ALL_Hacker_Spaces">所有的黑客空间</a>，找到离你最近的那个，去拜访他们，你将被思想与行动碰撞所迸发的火花点燃！</p><p>原文：<a href="https://www.freecodecamp.org/news/the-definitive-guide-to-contributing-to-open-source-900d5f9f2282/">The Definitive Guide to Contributing to Open Source</a>，作者：<a href="https://www.freecodecamp.org/news/author/doomhammer/">Piotr Gaczkowski</a></p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
