JavaRush /Java 博客 /Random-ZH /开源项目:它是什么以及为什么您应该成为开源社区的一部分

开源项目:它是什么以及为什么您应该成为开源社区的一部分

已在 Random-ZH 群组中发布
我们提请您注意改编自美国开发人员Jonathan Beckman的一篇文章,他描述了他参与开源项目的个人经历。 开源项目:它是什么以及为什么您应该成为开源社区的一部分 - 1从本材料中您将学到:
  • 什么是开源项目;
  • 您如何做出贡献;
  • 在哪里寻找项目和任务。

为什么值得参与开源项目?

首先,这是免费的编程练习。你也可以将这样的项目添加到你的简历中,并且相信我,如果你能解释你对共同事业的贡献,获得“初级”的职位将比“刚刚完成课程”的情况容易得多。

手指上的开源项目

你喜欢在公园散步吗?也许不是现在,因为已经是十一月了,正如人们所说的“冬天来了!” 我相信,天气好的时候,您会喜欢沿着整洁的小巷在树林中漫步。但是,如果您最喜欢的公园被市政服务废弃了怎么办?很快就会变得一团糟。垃圾散落各处,与狗的排泄物混合在一起,焦急地等待着有人最终踏入其中。您不太可能继续去那里散步。
开源项目:它是什么以及为什么您应该成为开源社区的一部分 - 2
现在想象一幅更幸福的画面:一群志愿者承担起维护他们最喜欢的公园的责任。她定期分配资金,将一些蓬乱和被忽视的东西改造成非常美丽且对其他人有用的东西。而他这样做不仅是为了个人的快乐,也是为了公众的快乐。最有可能的是,您最喜欢的公园是由我们的税收支持的,但总的来说,上述情况描述了开源项目的运作方式。
免费和开源软件是代码可供所有人使用的应用程序。它们可以在任意数量的设备上下载和/或使用。您可以自由地获取程序代码并用它做任何您想做的事情,然后将其分发给您的朋友。之所以如此,是因为此类程序是根据免费许可证分发的,例如 MIT 许可证。
虽然所有软件本质上都是为最终用户设计的,但作为开发人员,您可以为开源项目做出贡献,并通过可用的新软件让世界变得更美好。如果你想参与一个开源项目,你需要了解谁负责这个项目,并尝试与这些人建立互动。我并不是说用问题把他们折磨得半死,并期望在工作中得到全面的监督。您是一个独立的成年人(即使您还不是成年人,独立也是一个好主意!)。我希望你不再需要牵着你的手去描述每一步。这件事我帮不了你。但我可以给您一些好的建议,当您尝试做出第一个贡献并可能将您的代码包含在开源项目中时,它们会对您有所帮助。

搜索项目

如果您正在寻找参与的开源项目,请找到您真正感兴趣的项目。最好有许多任务可供您选择。不要满足于您遇到的第一个项目。这样,你就会更有动力,能够认真对待任务。

在哪里寻找开源项目

它们可以在公共 GitHub 存储库中找到。事实上,这就是每个人都在寻找的地方。那里有很多有趣的事情

找到一个好的第一个问题

找到一个好的第一份任务是成功的关键。不要承担超出你能力范围的事情。不要试图立即展示您的所有知识:寻找最简单的问题。这是了解您和项目策展人之间如何进行互动的最佳方式。在某些项目中,如果管理者认为任务适合新手开发人员,任务会标有特殊标签,表明其难度级别。当您查看所选项目的目标时,请寻找类似的内容。
开源项目:它是什么以及为什么您应该成为开源社区的一部分 - 3
当您找到合适的任务时,请向项目策展人写一条评论,表示您愿意从事该任务。大多数情况下,他们会允许您继续,但也许出于某种原因,他们会要求您选择其他选项。不要觉得在答案到来之前你无法开始,但如果你被要求停下来做其他事情,请保持灵活性。对于我的第一个任务,我选择了一些需要稍微调整 CSS 的东西。在我看来,我可以实现它,而且它并没有让我感到沮丧。

开始和介绍

开始一个项目看似容易,但实际上存在很多陷阱。选择要解决的问题后,您需要在计算机上部署该项目。最有可能的是,该项目的来源将是“重”(尽管这取决于项目)。您可能必须安装大量依赖项才能使项目运行。
开源项目:它是什么以及为什么您应该成为开源社区的一部分 - 4
在我参与的项目中,这样的时刻很少,但这并不意味着这很容易。例如,我们必须安装特定版本的 Ruby 以及特定版本的 Rails、PostgreSQL、Phantom JS 和 Gemfile,并附带要安装的 Gem 列表。这似乎不是一个很大的要求,但我在寻找开发可在我的计算机上运行的项目所需的特定 Ruby 版本时遇到了很大的问题。最后,我使用了RVM来切换版本:这是我学到的另一件事,只是为了安装项目并让它在计算机上运行。当我启动该项目时,我看到它是用 Angular 和 Coffee Script 编写的,使用 Active Record 与来自后端的数据进行交互。这些对我们来说是新事物,在开始项目工作之前我们必须自己解决它们。

搜索其他任务

你现在可能不需要这个,甚至在不久的将来也不需要它,但我几乎立刻就遇到了它。立即发现项目中有些东西无法正常工作是非常幸运的。如果您发现此类错误,请前往工作站点查看是否存在。不要急于写信支持,也许一切都正常。通常策展人会控制局势,不应该出现严重错误。但是,如果您确实发现需要注意的事情,请查找并检查已经存在的任务。最有可能的是,有问题的任务已经被写下来,并且很可能您不需要做任何事情。尽管当你完成你正在做的事情后,自己解决这个问题可能是值得的。
开源项目:它是什么以及为什么您应该成为开源社区的一部分 - 5
当您设计和写下一项新任务时,请确保尽可能详细地描述它。使用屏幕截图清楚地说明您想要表达的内容,并使浏览该网站的任何人都尽可能轻松地理解您所描述的问题。就我而言,除了分配给我的任务外,我最终还添加了两项额外任务。我什至无法提出拉取请求(这是由于安全限制)。感觉就像我为这个项目后退了两步,但实际上,描述和组织任务仍然推动项目前进。 创建拉取请求 (PR)
Pull request - 更改存储库(项目代码存储库)中代码的提案。如果您正在开发一个开放项目,则应始终创建自己的分支,并且建议仅在项目管理者批准拉取请求后才对主代码(master)进行更改。
您已经解决了分配给您的问题。在撰写进度报告之前,请将解决方案展示给可以评估它的人。预览总是一个好主意,但对于您对开源项目的第一次贡献,这是必须的。您不想因为未完成或工作不正确的代码而脸红吗?出于同样的原因,项目管理者会要求您在提交拉取请求之前通过所有必要的测试。因此,在收到策展人的确认之前,请提前检查自己,以对自己的作品充满信心,并在必要时进行纠正。确保您遵守项目策展人接受的名称或风格。您可以在CONTRIBUTING.md文件中找到信息,大多数项目都有它。此外,您还可以在其中阐明应以何种形式创建提交消息、拉取请求的描述应是什么样子以及如何创建新任务。

离开任务

有时你会意识到自己无法胜任这项任务。或者你以为你有时间做一个项目,但实际上你没有,紧急的工作来了,你需要继续它。这个是正常的。最重要的是取消订阅任务并向策展人留言,以便他们知道您将无法继续从事该项目。但在任何情况下都不要在未通知策展人并取消订阅的情况下放弃任务。
开源项目:它是什么以及为什么您应该成为开源社区的一部分 - 6

结论

我相信参与开源项目的开发是一个巨大的好处。你在练习的同时,也在做一些对其他人有用的事情。另一方面,这个项目可以成为你简历上的另一个点,并在争取理想职位时提供额外的优势。就在上周五,我采访了一位程序员,由于他在开源项目上的工作,他得到了这份工作(一份非常酷且有趣的工作,可以让世界变得更好,我真的不是在开玩笑)。
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION