TranslateProject/published/202205/20200807 A Beginner-s Guide to Open Source.md
2022-06-01 00:33:42 +08:00

115 lines
8.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[#]: subject: "A Beginner's Guide to Open Source"
[#]: via: "https://ruthikegah.xyz/a-beginners-guide-to-open-source"
[#]: author: "Ruth Ikegah https://hashnode.com/@ikegah_ruth"
[#]: collector: "lkxed"
[#]: translator: "lkxed"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-14600-1.html"
开源新手指南
======
![](https://img.linux.net.cn/data/attachment/album/202205/16/144822bal5z8ij44s4jcom.jpg)
作为一名技术人员,你应该时不时会看到“<ruby>开源<rt>Open Source</rt></ruby>”这个词。你有可能在浏览推文、博文时看到过它,也有可能是在学习某一门编程语言或使用某个工具时,看到它的部分介绍写着:这个工具/语言是“开源”的。总之,开源无处不在。
在本文中,我将介绍下面这三个话题:
* 什么是开源
* 贡献于开源的好处
* 如何开始贡献
### 什么是开源
开源指的是这样一些软件、项目或社区:它们允许人们修改和分享,因为它们的设计目的就是为了让所有人都能访问。举一个关于菜谱的例子:你可以做你从未发明过的菜,因为发明这个菜谱的人公开了它。大多数时候,你也可以根据自己的口味烹饪,而不会呛到喉咙(开个玩笑)。
> <ruby>开源软件<rt>Open Source Software</rt></ruby>OSS是指源代码可供他人查看、复制、学习、修改或分享的软件。
下面是开源软件和语言的一些例子:
* Linux 操作系统
* Google 的 Android 操作系统
* Firefox 浏览器
* VLC 媒体播放器
* Python 语言、PHP 语言、MySQL 数据库
与开源软件相反的是<ruby>专有软件<rt>proprietary software</rt></ruby> / <ruby>闭源软件<rt>closed source software</rt></ruby>,只有软件的创造者才能自由使用,其他人若想使用,就得先获得法律许可才行。例如 Adobe Photoshop、微软 Office 等。
> 开源不仅限于软件或代码,技术领域的任何人都可以为开源做出贡献(各个角色)。有了开源,就有了透明度、可靠性、灵活性,并允许开放合作。
### 贡献于开源的好处
向开源项目或软件做贡献意味着“免费”让该项目变得更好。你应该会问自己,为什么我要关心或向自己强调“免费”呢?如果你是新手,你可以阅读 [Edidiong Asikpo][2] 的故事,她在 [这篇文章][3] 中说明了为什么开源是她成长的催化剂。
贡献开源的好处有很多,这里是其中一部分:
* 它能够帮助你提高现有的技能,特别是对于新手而言,因为它允许你边做边学。
* 无论身在何处,你都可以与世界各地的优秀科技人士协作或共事。
* 你可以公开自己的想法,从而改善软件、项目或社区,让世界变得更美好。
* 你可以通过贡献开源来得到大家的认可,或者成为独特或伟大事物的一部分(获得自豪感)。
* 它让你有机会成为一个人才济济、活力四射的社区的一分子,你可以从中汲取灵感,并结识志同道合的人。
* 你可以因为贡献开源而获得报酬OoO比如你可以参与一些实习包括 <ruby>[谷歌编程之夏][4]<rt>Google Summer of Code</rt></ruby>、[Outreachy][5]、<ruby>[谷歌文档季][6]<rt>Google Season of Docs</rt></ruby>,以及 Open Collective 的 <ruby>[赏金计划][7]<rt>bounty program</rt></ruby> 等。LCTT 译注:国内也有类似的开源实习机会,如“开源之夏”。)
### 如何开始贡献
我相信你会对上面提到的最后一点感兴趣吧(^o^),那么,你该如何开始为开源软件做贡献呢?
是时候介绍一下 GitHub 了!
Github 是开源项目协作的大本营,因此它是一个开始贡献开源的好地方。没听说过 GitHub没有关系它提供了文档和指南很容易就可以上手。不过我还是要提醒你学习是一个循序渐进的过程不要太心急喔。
Github 以公共<ruby>存储库<rt>repositories</rt></ruby>的形式容纳了许多开源项目。对于某个项目,你可以提交一个<ruby>议题<rt>issue</rt></ruby>,来说明你注意到的错误或问题(或进一步提出改进意见),也可以创建一个<ruby>拉取请求<rt>pull request</rt></ruby>PR并说明你的更正和改进。
我不建议你在 GitHub 上搜索项目来开始贡献这将是相当令人沮丧的。尽管你可以限定项目使用的编程语言来简化搜索过程但仍然会有一大堆东西出现在你眼前。LCCT 译注:对于可爱的小萌新来说,这实在是难以承受 >…<。)
为了更精准地找到适合自己的项目,这里有一些可供开始的途径:
* [First-timers only][8]:一个很好的资源网站,你可以在上面找到新手友好的开源项目来开始贡献。(设计师朋友,我没有忘记你!你可以查看 [Open Source Design][9] 这个网站,在上面也能找到新手友好的开源设计项目!)
* 你可以创建你自己的开源项目,把你美妙的想法变成现实,并允许其他人的合作和贡献。[这里][10] 有关于如何创建开源项目的指南。
* 加入一个社区:你可以成为某个社区的成员,这也是传播开源思想的一种方式。你可以在谷歌上搜索当地的开源社区,并积极加入其中。
最后,我想给出几个有用的提示,供你在贡献开源项目时参考:
* 在加入之前,先对项目、社区或组织做一些研究;当你在做的时候,针对不清楚的地方提出问题。
* 当你加入社区时,尽量积极地介绍自己,并说明你能帮助项目的地方。
* **不要**认为自己无法为项目提供任何帮助,停止这种念头!你有很好的想法可以分享!
* 在存储库中看看别人提交的议题如果有的话看看你能在哪些方面提供帮助你可以关注带有“good first issue”、“help-wanted”、“first-timers only”等标签的议题。
* 在开始贡献之前,一定要先看一下贡献指南,这样你在贡献时就不会有冲突。
> 哪怕只是使用一个开源工具也是一种贡献;参加一个开源活动也是一种贡献;做开源项目的志愿者,或者为开源项目提供赞助也是一种贡献。
我想用非洲开源节的口号来结束:“未来是开放的”,所以快上车吧!
感谢阅读!
如果你还有疑问或需要帮助,请在 [这里][11] 联系我,我很乐意和你讨论开源,并帮助你做出首次贡献!
**LCTT 译注读了这篇文章你是不是想要马上投身于开源贡献呢那么请考虑加入“Linux 中国翻译组LCTT”吧我们有能帮助你快速上手翻译的 [维基][12] ,有热心友爱的 QQ 群,你甚至还能够在我们的官网上获得属于自己的译者专页……心动了吗?那就立刻行动起来吧!阅读 [维基][12] 以了解如何加入我们~**
--------------------------------------------------------------------------------
via: https://ruthikegah.xyz/a-beginners-guide-to-open-source
作者:[Ruth Ikegah][a]
选题:[lkxed][b]
译者:[lkxed](https://github.com/lkxed)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://hashnode.com/@ikegah_ruth
[b]: https://github.com/lkxed
[1]: https://ruthikegah.xyz/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1596742204400%2Fk9AJL1oNC.jpeg%3Fw%3D1600%26h%3D840%26fit%3Dcrop%26crop%3Dentropy%26auto%3Dcompress%2Cformat%26format%3Dwebp&w=3840&q=75
[2]: https://hashnode.com/@didicodes
[3]: https://edidiongasikpo.com/open-source-contributions-a-catalyst-for-growth-b823fc5752b1
[4]: https://summerofcode.withgoogle.com
[5]: https://www.outreachy.org/
[6]: https://developers.google.com/season-of-docs
[7]: https://docs.opencollective.com/help/contributing/development/bounties
[8]: https://www.firsttimersonly.com/
[9]: https://opensourcedesign.net/
[10]: https://github.com/Ruth-ikegah/opensource.guide
[11]: https://twitter.com/IkegahRuth
[12]: https://lctt.github.io/wiki/intro/lctt.html