mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
115 lines
8.1 KiB
Markdown
115 lines
8.1 KiB
Markdown
[#]: 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
|