我们这些在日常生活中使用开源软件的人,太多人将自己视为用户,仅仅是利用开源工具的人,而没有将自己视为开发过程不可或缺的一部分。没错。通过使用开源工具,您会自动成为该工具开发过程的一部分。您不是用户。您是贡献者。您是好的贡献者还是坏的贡献者取决于您自己——但您仍然负有责任。
这样来看:在专有软件的世界里,一个应用程序的开发不仅仅涉及到编写代码的人。还有专门的部门负责质量控制、文档编写和市场营销。大多数开源项目没有拥有这些部门的奢侈。我们就是这些部门。而且,总的来说,我们并不擅长我们的工作。
将我们自己隔离成开发者和用户的孤岛是专有软件遗留下来的文化。试图在自由和开源软件的世界中传递这种文化是一个错误。与特定工具一起工作和为此工具工作的人员社区,与任何已编码的功能一样,都是有价值的特性。
对于开源应用程序来说,仅仅作为一个普通用户坐在场边,向虚空中抱怨某些东西无法工作或文档不够详尽是不够的。
程序中那部分无法工作?您本可以在候选发布版本或测试版本中发现它并报告错误。那些不准确或不足的文档?您本可以成为充实它的人。而所有这些抱怨并没有真正帮助塑造我们社区作为一个特性的积极印象。
那么你能做什么呢?嗯,简单的答案是“做得更好”。当然,虽然这种嘲讽的回应肯定让我发笑,但它并没有特别的帮助。让我们采取不同的策略。正如我之前写的,我们这些经常使用开源工具的人,本质上相当于闭源商店中的市场营销、文档编写和质量控制部门。
虽然开源编码人员中有很多通才,但他们根本没有足够的时间来有效地编写、测试、记录和营销他们的工具,特别是如果他们是在业余时间做这些事情的话。所以这要靠我们了。这是一个概要,不仅是您可以做什么,也是您应该做什么。
市场营销
在某种程度上,市场营销是最容易的,因为它与其他一切联系在一起——制作出色的东西并向世界展示它。您甚至真的不需要分享您使用了开源程序来完成它。如果您制作的东西足够令人印象深刻,人们会问的。对于用于创意制作的开源工具来说尤其如此,但它并非该领域独有。人们根据其他人使用工具所做的工作来评估工具。
这些都是小事,但意义重大。您需要从小事做起,不仅是为了建立社区的信任,也是为了避免自己倦怠。跳出来主动为自己最喜欢的开源程序重新设计网站,这真的不明智。即使您设法说服所有人您有能力和信誉来完成如此规模的项目,这也是一件巨大的事情。这将需要大量的协调:决策、沟通等等,而且这种大型请求/提议总是发生,因为每个人都认为他们可以做得更好。
从小处着手,从最需要和最有效的营销开始。露面。表现出色。让人们看到您这样做。当他们问如何做时,告诉他们。
还有,不要做个混蛋。记住,社区是程序的一个特性,而您是其中的一部分。
文档
这是一个重要的问题,总是列在那些“你可以做的事情”的文章中。这是真的。对于自由和开源应用程序来说,我们的大部分文档都很糟糕。要么不够详尽,要么过于技术性,要么(这是我最喜欢的)只涵盖安装。糟糕的文档不仅使程序更难使用,而且在营销方面也很糟糕。
简单(也许是过于频繁地提供)的建议是,如果您使用的程序有官方文档项目,就为该项目做贡献。如果它确实存在,那么这仍然是可以做出最有意义贡献的地方。然而,就像市场营销一样,您也想从小处着手,从最需要和最有效的地方开始。有时 Wiki 不存在,或者没有官方的文档存储库。即使存在,最好还是与已经在那里的人建立一些信任。他们应该能够相信您真的知道自己在说什么。
所以也许从您自己的空间开始,或者在社交媒体上的某个空间。在博客上撰写教程或概述。创建功能演练和视频教程。将它们发布到互联网上。在本网站等网站上撰写文章。如果您真的有雄心壮志,那就写一本书。
您还可以构建示例文件、模板和预设。如果您经常使用某个工具,很可能您已经创建了一些可以帮助您完成工作流程的资产。它们可以是文字处理器中的模板、绘画程序中的画笔、3D 渲染器中的材质设置、特定任务特别有效窗口布局、您的 .vimrc 文件、您用于编码为特定视频编解码器的神奇命令行咒语。所有这些都是有用的生产力资产,而且它们对于文档编写很有价值。谁知道呢?也许它们足够好并且足够通用,最终可以与应用程序的官方版本捆绑在一起。
无论您创建什么与文档相关的内容,都请在知识共享许可下发布该内容,然后将其提供给文档团队。所有这些事情都可以兼作文档和营销(假设您做得好,您会的……我就是知道!)。
当然,您的贡献可能会被官方文档项目拒绝。但这并不是什么大问题。拒绝不一定是因为您制作的东西不好。有时只是不合适(例如,某些文档项目纯粹是参考文档,而教程不太适合)。您仍然创建了文档,并且现在至少建立了一些信誉。如果您遵循文档项目的指南,那么您的未来工作更有可能被采纳。
质量控制
这是另一个重要的问题。不过,我想在这里强调的关键是时机和技巧。虽然报告错误总是很有帮助,但这些报告的“何时以及如何”非常重要。例如,在下一个稳定版本之前报告错误或性能下降要有用得多。人们避免使用任何特定软件的 .0 版本是有原因的——因为它还没有经过彻底的测试。在自由和开源软件的世界中,很大一部分责任落在我们身上。
所以您需要实际使用候选发布版本和开发版本。当我说“使用”时,我的意思是真正用于实际任务。我不是说仅仅打开程序并随便看看新功能。将其用于实际工作(您反正会备份您的数据,对吧?)看看是否有任何东西崩溃或变慢。如果您真的有冒险精神,可以通过下载源代码并自行编译来制作自己的开发版本。在大多数情况下,即使对于非编码人员来说,这也非常容易。
当某些东西确实崩溃时,请使您的报告有用。在随机网络论坛发帖?没用。大多数项目都有某种错误报告/跟踪系统。在那里提交您的报告。在提交报告时,请尽一切努力确保可以重现该问题。解释您采取的确切步骤,提供有关您计算机硬件和操作系统的相关详细信息。理想情况下,包括一个突出显示问题的示例文件。如果程序员无法重现该问题,则修复的可能性将呈指数级下降。
责任
使用自由和开源软件有很多好处和优势。然而,在人力方面,这些项目明显处于劣势。多年来,我们一直将非编码人员对市场营销、文档编写和质量控制的贡献视为善意行为。但现在是时候稍微调整一下这种心态了。这种行为不是慈善,而是一种责任。
现在,我并不是说您有责任去营销、记录和进行您使用的每件开源软件的错误报告。再说一遍,这是一种快速让自己精疲力竭的方式。从小处着手,从最需要和最有效的地方开始。选择一个您使用的工具,并做这三件事中的一件(一件应该很容易,您已经在做很棒的工作了,对吧?)。然后,随着时间的推移,添加其他任务。然后也许开始对您使用的另一个程序做同样的事情。并从那里开始。
您做得越多,追随者越多,对每个人来说情况就越好。
4 条评论