全文共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,加入读者圈,一起讨论最新鲜的人工智能科技哦~)
推荐阅读
- 人脸识别|【人脸识别系列】| 实现自动化妆
- 人工智能|干货!人体姿态估计与运动预测
- 推荐系统论文进阶|CTR预估 论文精读(十一)--Deep Interest Evolution Network(DIEN)
- Python专栏|数据分析的常规流程