开源项目中的角色

2015-01-15 10:55:30       2884    原创
摘要:作者 Elizabeth Tatham 发布于 2010 年 10 月 23 日,上次更新于 2013 年 9 月 9 日 您未必是软件开发者才能对开源项目做出贡献。开源项目的代码、文档和作品都是由项目社区的成员创建、测试、使用、讨论和优化构成。这些过程可划分为各种任务,需要不同技能、不同参与程度及不同技术专长水平。所以,如果想要参与到开源项目中,您有很多个角色可选择。包括:


我们在该视频中讨论了参与到开源社区的问题,包括您在参与过程中可能要扮演或遇到的角色。

•提供反馈

•帮助新用户

•向他人推荐该项目

•测试和报告或者修复 bug

•请求新功能

•编写和更新软件

•创意美工

•撰写或更新文档

•翻译

所有这些工作确保项目处于活动状态并加强了社区建设。所以,项目团队和更广泛的社区都欢迎和鼓励这样的参与工作,并且尽可能的使得参与过程轻松简单。参与的具体角色和机制由项目治理模型指导,并因项目而不同。社区内部的通信工具和用于贡献开源项目的工具也会不同。

对于大多数项目来说,第一步往往是根据您感兴趣的区域加入一个或多个项目邮件列表。邮件列表一般是主要的通信渠道,但有些项目也可能使用论坛或者其他工具。项目网站应该就如何开始和使用哪种渠道提供明确的指导。

让我们一起来探究您在开源项目中能胜任的几种角色吧。


用户体验

项目团队通常很想知道有关用户是如何参与到项目中及用户所期待的项目的外观和功能的详情。这些反馈信息对项目的生命周期至关重要。缺少这些信息,项目团队无法提高软件的使用率,而使用率是使项目在竞争中脱颖而出的关键因素。

作为新用户,出于礼貌和客气,您可能不太愿意去提出请求或作出批评,即使这些请求或批评很有建设性。但是大多数开源项目会鼓励您以任何可行的方式通过用户邮件列表参与到讨论中来,或者将功能请求添加到问题跟踪器中。同时,他们还可能告诉您,每个评论都会被认真考虑且对于重要的请求还会给出反馈,但不是所有的功能请求都会被处理的。


用户支持

当您获得一些项目经验之后,您就可以支持没有经验的新用户。帮助新人开始项目对项目中期到长期的成功至关重要。原因是一些新人自己会变成贡献者,确保项目持续进行并提供支持。

在您参与开源项目的初期,最快、最简便、最重要的提供支持的方法是回答新人的问题。对于提问者而言,最近遇到过同样问题并妥善解决的前辈通常能给出最佳答案。通过回答新人的问题,您同时也节省了开发者时间,为项目作出了贡献。

随着您在这方面的经验增多,您就可以提问并相应地回答更加复杂的问题了。反过来,当您自己的请求越来越复杂,您会得到更有经验的用户的支持。您可以通过提供支持这种方式帮助自己和项目本身。


推广和营销

不言而喻,所有开源项目的命脉都是其用户:用户越多意味着成功的机会越多。用户需求的反馈会保证产品质量逐渐提高。所以,从发展的角度,不断吸引用户对项目极其重要的。作为现有用户,您可以将这一理念传递给大家并鼓励他们对此进行尝试以达到吸引用户的目的。

项目可能还会采用其他营销活动,例如会议和研讨会的表现形式。通过自愿向大家介绍项目,您不但可帮助项目获得更多用户,更可发觉成为潜在贡献者的用户群。


软件设计和实现

软件开发者贡献代码的第一步可能就是报告 bug 和提交修复。如果您还不是该项目的提交者,往往可以通过在问题跟踪器中提交补丁来贡献。您可以继续为该项目设计新功能、或者对已有功能进行重新设计或开发。

记得在贡献所有重要代码之前应该先在开发者邮件列表中进行讨论。以便项目团队确保设计是合适的,且用户体验不会受到负面影响。诸如 bug 修复这样的小贡献无需讨论便可像提交补丁一样提交到问题跟踪器中。


质量保证

质量保证(QA)是每个项目最重要的元素之一。且几乎每个人都可以贡献。您作为用户可以在软件正式发布之前测试候选发布并向问题跟踪器报告所有 bug。您还可以运行软件的最新版本并报告所有 bug。开发者可以通过修复 bug 或者管理 bug 修复过程,从而为 QA 作贡献。

为鼓励持续做出贡献,项目团队会持续告知用户和贡献者问题跟踪器中问题的进展。例如,他们应查看所有新问题并给出评论,标出副本和突出显示折中办法。他们还应探讨潜在解决方案,并在任务完成之后将其关闭。


艺术美工

如果您有绘画或美术功底,您可以通过创作图标、徽标、壁纸、横幅、标签或其他设计工作为项目作出贡献。这些标志每天都会看到,很有可能贯穿项目的始终和项目的所有产品。您也可以通过设计网站、设计营销材料、或者为展示和指南提供插图而参与到项目中。

当您已经参与到某个项目并对其深有好感,通常可以通过相关邮件列表或者问题跟踪器来提交此类贡献。


撰写

文档对新用户很重要,但是开发者不一定总有时间来撰写或更新文档。现有用户最好的贡献方法之一是将您自己的项目经验以教程、指南、操作说明或常见问题(FAQ)的形式进行记录。记录无须非常完美:多数情况下,带有重点句说明的框架文档即可。使用该文档的人可能会追加提出问题,而他们解决这些问题之后,还可补充详细信息。大多社区愿意通过确认信息、回答问题、或者提供详情帮助文档作者。

很多开源项目独立维护一个用于编辑和撰写文档的社区 wiki。您只需写出答案并在 wiki 对所有人开放就无需针对同一问题回答两次。您还可以对 wiki 进行贡献,比如任何时候您都可以改进或更新内容,或报告错误 bug。通过邮件列表通知大家您做出的更改也很有帮助。


用户常见问题

维护用户常见问题是着手参与项目贡献的好地方。如果您不是技术人员,只需在问题跟踪器中留言,提出某个常见问题。


操作说明和教程

这些简短、独立的文档也是用户和贡献者入门的好工具。如果您精通某项目的特定功能,将其进行记录对他人来说将是极受欢迎的。同样地,如果您遇到项目软件或其他方面的问题,可以写下来并记录解决方案,这对其他用户来说将会非常有用。此外,截录视屏可提供有效的简介和操作说明,也是参与项目很好的方式。


用户指南

为项目撰写和维护一个全面的用户指南是件需要花费很多时间和精力的事情。项目团队会感激所有用户为用户指南添加、阐述和更正的内容。为此,用户可在用户邮件列表中建立档案或论坛,这些档案或论坛可能会包含大量可轻易转换成用户指南篇章段落的材料。同样,社区通常会很乐意帮助文档作者。


开发者指南

如果项目提供开发者指南,项目团队肯定会很欢迎对项目内容进行的任何改进或者新增,但是您还需要一些参与到此类文档的技术技能。如果您掌握此类技能,这里就是您着手开始了解如何使用该项目进行开发或者开发该项目的地方。开发者邮件列表档案和论坛通常包含大量此类有用信息,而且开发者自己通常很乐意帮助文档作者。


语言社区

大多数开源项目的默认语言是英语。如果您的母语不是英语,您可以将项目应用和文档翻译成您自己的语言,这将是极有价值的贡献。即便您见缝插针的利用时间,您的翻译工作也将会发挥重大作用。

您可以加入到合适的邮件列表以便了解如何进行此类贡献。某些大型项目为表示每种项目语言提供独立的团队。如果您的语言团队还未成立,您甚至可以启动您自己的语言团队。


资金捐款和开发者支持

对于开放开发项目,积极贡献比金钱更重要。但是,有些个人或组织金钱富裕时间匮乏,他们更愿意以金钱的方式来贡献。倘若您的捐助金额可观,您便有可能赞助个别开发者实施某项新的功能或修复一定数量的 bug。

项目网站应提供有关如何捐款的明确指导,还应确保提供安全易用的接受捐款的机制,以使各赞助商有机会表达对项目的感谢。


综述

起初,参与到开源软件社区是件望尘莫及的事情。但请记住社区最终是由人组成的,每个人都各有强项和弱项。每个参与到项目中的个人都是朝着共同的目标努力,而具有实用技能、勤奋努力和谦虚谨慎这些特质的人一直受欢迎。同样地,通过花点时间访问项目网站来规划您的参与情况,关注邮件列表中的讨论来认识社区,都会为成功、圆满的协作铺平道路。

本文由 OSS Watch 原创并经由Creative Commons Attribution-ShareAlike 2.0 England & Wales license许可证发布。

沪ICP备15046442号
蝉知1.6