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