人工智能|启动和维护一个开源项目,你所需要知道的一切

全文共2598字,预计学习时长7分钟
人工智能|启动和维护一个开源项目,你所需要知道的一切
文章图片

图源:unsplash
启动一个全新的开源项目需要做大量的工作,但是当你了解了基础原理之后,事情就会变得容易得多。

本文将教你关于启动和维护一个开源项目所需要知道的一切。重点并不主要是编程方面,你将学到从寻找项目贡献者到长期维护项目的内容。

人工智能|启动和维护一个开源项目,你所需要知道的一切
文章图片

为何开源?

为什么要共享项目的源代码呢?因为开源项目的好处数不胜数。

共同协作

英雄所见略同,吸引高见的唯一方法就是分享你的成果,而不是把它锁起来。邀请别人来做你的项目,项目就可以通过别人更好的想法和代码得到改进。

信息透明

当潜在用户看到共享源代码之后会获得一定的安全感。毕竟,如果你敢于分享信息来源,那么很明显你并没有任何恶意信息需要隐藏。信息透明还意味着所有人都可以看到项目目标是如何完成的,甚至可以在自己的代码中使用相同的概念。

完善简历

通过开源项目,你可以让潜在的雇主看到你是如何工作的。展示一个很好的开源项目经历,可以帮助你在未来找到一份好工作。

人工智能|启动和维护一个开源项目,你所需要知道的一切
文章图片

你提供了什么?

人工智能|启动和维护一个开源项目,你所需要知道的一切
文章图片

图源:unsplash
在开始项目之前,应该先问自己两个问题。首先,这个项目将完成什么?以始为终,清晰了解实际工作内容。

第二个问题是,为什么人们需要你的项目?你的项目应该为他人提供某种价值。

拒绝照搬

提供有价值资源的关键一点是,不要照搬另一个项目。

不过,如果已经存在另一个具有与你的想法相同的通用特性的项目,但是没有得到良好的维护或更新,那么你仍然可以为用户提供价值;或者如果想添加或更改特性以改进另一个类似项目的概念,也可以使用相同的方法。

奠定基础

没有一个合适的起点,就不能指望每个人都明白你想要完成什么。如果你希望别人能有所贡献,就必须先打好基础。

名称选择

你将通过项目名称向所有人展示工作内容。它应该是独特的,容易记住的,并且要与项目的目标相关。例如,Sentry是用来监管应用程序崩溃和漏洞的。Sentry这个名字就好记,也清楚地代表了这个应用程序的功能。
一切都以README开始

首先制作一个详细而简洁的README(注释和说明文档),展示项目中最重要的事情。大多数人都是从README开始了解项目的,所以共享你需要共享的所有内容非常重要。

当某人能够在不查看代码或文档的情况下使用你项目的基本功能时,README就已经完成了。你需要知道,README应该包括项目是什么,它在运行中是什么样子的,如何使用它,以及任何其他相关的细节。此外,README应该尽可能短,你可能还想添加有关贡献和许可信息的细节。

制作README网站有一个模板,你可以用它来启动README。

开始编码

开始自己编写代码是一个好主意,有助于其他人就能更好地了解的项目,了解需要做什么,并决定他们是否愿意提供帮助。这也意味着你可以发布项目的beta版本来增加可见性。

格式是好代码的开始,你甚至可以添加一些注释,这将帮助其他人理解代码的内涵以及项目目的。

选择一个许可证

没有许可证,就没有人能够真正为你的项目做出贡献。在选择许可证时, GitHub的“选择开源许可证”网站是一个很好的资源,它提供了每个许可选项的详细信息。

开源软件中最常用的许可证是MIT许可证、Apache许可证2.0和GNU通用公共许可证v3.0。每个许可证都具有独特的权限、条件和限制,所以最好仔细寻找适合你的项目的许可证。

人工智能|启动和维护一个开源项目,你所需要知道的一切
文章图片

图源:unsplash
制定方针

重要的是要建立清晰的贡献指导方针,这样其他人就知道他们可以如何帮助你的项目。它通常放在一个名为贡献或贡献的文件中,在md的根目录下使指南容易找到。你可能想要包括以下信息:

· 如何提交错误报告
· 如何要求特性
· 如何设置开发环境和运行测试

你的投稿指南应该简洁明了,同时还要提到所有需要包含的内容。

记录工作

即使一开始没有很多代码,记录从开始所做的一切也是很重要的。你甚至可以将文档作为项目源代码的一部分,以便其他贡献者在添加代码时可以添加到文档中。GitHub Pages和Read the Docs这样的工具可以让你在一个漂亮的网站上免费存放文档。

负责项目

一旦有了一个可以分享的项目,你需要一个地方来分享它。最常用的网站是GitHub,不过也有很多其他的选择,比如GitLab或Bitbucket。如果想启动一个开源项目,你可能需要学习一点关于Git的知识。

引发注意

一个项目只有在其他人想要的时候才能成长。你必须与世界分享你的想法,这样才能得到一些贡献者和用户来启动项目。你可以在Reddit、Hacker news、Quora或其他网站上分享这个消息,以吸引一些对你所提供的东西感兴趣的用户。

GitHub的问题

GitHub的精巧之处在于问题部分。从GitHub的问题指南页面看起:

“问题是跟踪项目任务、增强功能和修复漏洞的好方法。它们有点像电子邮件,只是它们可以与团队的其他成员共享和讨论。大多数软件项目都有某种类型的漏洞跟踪器。GitHub的跟踪器叫做Issues,在每个存储库中都有自己的部分。”

【人工智能|启动和维护一个开源项目,你所需要知道的一切】使用GitHub问题的一个好处是,你可以添加“第一个好问题”和“帮助需要”标签,以使问题更容易被发现。像Up For Grabs(它自己也是开源的)这样的网站甚至用这些标签聚集问题来鼓励其他人为新项目做贡献。这是为项目找到合作者的一个重要方法。
人工智能|启动和维护一个开源项目,你所需要知道的一切
文章图片

图源:unsplash
持续维护和开发

当项目有了更多的进展,要做的就不仅仅是编写代码了。如果一切顺利,你最终将围绕项目形成一个规模可观的社区。

在大社区里,你必须时刻保持专业和礼貌。越多的人对你的项目保持热情,你就会得到越多的贡献者,你的工作也会增长得越多。一段时间后,项目将成为整个社区的工作,而不仅仅是自己的工作。

开始维护一个开源项目可能会有很多工作要做,但这是值得的。通过与全世界分享一个新项目,你可以帮助很多人。

人工智能|启动和维护一个开源项目,你所需要知道的一切
文章图片

一起分享AI学习与发展的干货
欢迎关注全平台AI垂类自媒体 “读芯术”

(添加小编微信:dxsxbb,加入读者圈,一起讨论最新鲜的人工智能科技哦~)

    推荐阅读