Perl 社区的空白地带

在一个关于培根三明治的夜晚,David Farrell 和我想出了一个关于 Perl 社区的空白地带 的想法。在所有的代码、项目、用户组和活动之间,那些想要出人头地的人还有很多事情可以做。关键是挑选该做什么。

David 开始了这个网站,希望为人们提供一个发布关于 Perl 故事的地方。他可以推广它,读者可以一次性发现它,而不是寻找新的博客,作者也不需要维护自己的网站。Perl.com 曾经是这样的网站,尽管它还存在,但已经不再活跃。

你可能知道我的项目。当没有 Perl 用户组时,我和其他人一起创立了 Perl Mongers。在 The Perl Journal 终于放弃后,我开始创办 The Perl Review 来替代它(并且印刷杂志的寿命也相当长)。我还做了很多其他的事情。

David 和我都在寻找别人没有做的事情,我们四处询问,看看我们可能会踩到谁的脚趾头,并为我们新事物建立支持。

我们想要列出其他人如果想在社区中出人头地可能会做的事情。这不同于单纯的参与。他们需要创造出与他们的名字几乎同义的东西。这样他们就可以构建自己的简历。每个项目都需要一个精神中心和首席推动者来保持项目的进行。

我仍然记得 Graham Barr 在很久以前的 Perl 大会上向我演示 CPAN 搜索(在 2018 年 6 月被整合到 MetaCPAN 中)的情景。这是一个突破性的进展;我们还没有这样的东西。年轻的 Perl 程序员可能从未离开过它,也没有意识到从浏览目录到这个巨大的飞跃。

在 JJ Allen 建立 perldoc.perl.org 之前,Carlos Ramirez 有 Perldoc.com(现在已经关闭)。在这些网站之前,有一些孤立的方式来获取 Perl 文档的 HTML 版本,但 Carlos 以某种方式超越了所有人,创造了一个集成的解决方案。幸运的是,当 Carlos 消失时,JJ Allen 把这个想法进一步发扬光大。

并不是每一个成功的项目都是全新的想法。有时候,它是做得更好的旧想法。Gabor Szabo 创办了 Perl Weekly 来整理 Perl 社区的互联网活动。他发现值得阅读的内容,这样其他社区成员就不需要花费太多时间在 猫咪视频 和编码上。其他人也尝试过同样的事情,但 Gabor 的优势在于他的毅力。

我们确实列出了一个机会列表,但我们不会在这里展示。我们想到了我们想要做的事情,但根据我的经验,这并不那么有帮助。不仅如此,最成功的想法似乎是一些连我们自己都没有考虑过的事情。下一个大想法将是大多数人从未想象过的事情。

相反,我们讨论了产生这些想法的过程,这是我们通常给出的建议。此外,我们还提供了一些关于如何让它成功的建议。

寻找机会

空白地带是任何增加价值的机会。在这个意义上,有两种类型的空白地带

第一种是通过创新发现的;真正原创的想法,时机已经成熟。没有人做它,因为没有人想过。这些“ Gladwellian”机会可能非常有价值,通常来自深刻的洞察。它们也极其罕见,比如CPAN的创建。现在每种语言都有自己的CPAN版本。

第二种则不那么吸引人。这些机会的存在是因为没有人想做。通常利用这些机会所需的工作将涉及重复性和手动任务,例如维护文档或照看您没有编写且不使用的模块。在Perl中,我们经常不得不绕过这些不便之处。不便是一种烦恼或事后想法。我们用chomp处理它,用split分解它,然后继续前进。但这些不便实际上是机会,通常没有人会去做。这类机会对社区来说可能同样有价值,而且很容易找到。只需寻找那些没有人做但会造福社区的工作,并开始做它们。

如果你想要取得大的成果,你可以做那些其他人不愿意做的无聊或艰难的工作。

只是去做

过去的日子我们更容易,因为我们没有想过有人负责,也没有那么多人的脚可以踩到。现在有各种组织,如Perl基金会。人们经常问我如何获得TPF批准,但不需要它。他们不需要拨款,或特定域名上的子主机,或者许多其他任何组织可能会控制的东西。

这并不是说你应该忽视那些能帮助你的人;只是不要让他们阻止或延迟你。记住,他们都是志愿者,并且可能已经用尽了他们可用的所有时间。

提前规划

你的第一步是确保你在做你将要喜欢做的事情。提出一个想法是一回事,但想要为之工作数月(或更长时间),很可能是独自一人,直到社区支持你,则是另一回事。

为此,你应该尽可能多地与人交谈。从与您信任的人进行私人或有限对话开始。有些人可能会告诉你只是把它放出去,但先做一些研究。不要因为那些本不会使用它和不会帮助它的人的不相关细节而气馁。

具体来说,不要立即设计数据库架构。我有一条规则,可以让我在一个月内判断出哪些会议狂热项目将会失败;它们是那些一开始就挑选技术的那些。

确定你希望它如何运作,并牢记特定的受众。与其取悦每个人,这会拖慢你的设计并创造更多的工作,不如简单起见,以便你能快速将其推出。

坚持下去

大多数想法失败是因为它们的发起者认为想法本身就足够了。人们会立即看到其优点,志愿者会加入进来完成所有工作。陷入这个陷阱,你可能会发现自己没有动力,工作过度,因为你做了所有的事情。一开始,接受你正在做大部分工作的想法,并将帮助视为额外的奖励,而不是主要的工作。

随时准备放弃

我们的最后一条建议似乎与前面的建议相矛盾。在你开发出你的伟大想法后,要准备好放弃它。想法可能在你不知情的情况下改变,或者更有动力和热情的志愿者可能会将其引向另一个方向。试图坚持原来的计划可能会让每个人都离开。

同时也要准备好将主要责任转交给其他人,并信任他们如何处理它,即使它不是你原本会做的事情。

我们的一些想法

你以为我们不会提出任何建议,对吧?我们有一些想做的事情,但自己没有时间去做。

Perl 在 Reddit、Twitter 和 Facebook 上的存在感不足。没有我们能指出作为这些努力背后的那个人。一些你在各个地方都能看到的名字也在这里,但没有人在这里立起旗帜。如果你擅长社交媒体,你可能是那个无论你在哪里都能照顾 Perl 的人。不同的网站有不同的目的,每个网站都可以以不同的方式、为了不同的目的突出 Perl。你可以创建内容或突出他人的工作。

Social Media Explained (with Donuts)

CPAN Testers 是一项出色的服务,但你有没有想过重新创建 CPAN Testers 中的 bug 报告?除非你能访问特定的操作系统和 Perl 版本,否则你可能无法做到。即使你得到了虚拟机,安装所需的 Perl 模块和 C 库依赖可能也需要几个小时。我们应该有一个易于访问的虚拟机镜像集合,任何 Perl 开发者都可以启动并运行,预装了所有主要的 Perl 版本和大部分东西。

可能有一个“PDL Perl”发行版,它将安装所有主要的 Perl 数据语言 库,以及我们主要的网页框架和面向对象的框架。然后,Perl 开发者可以快速启动一个 OpenBSD 实例,并使用 perlbrew 运行他们的 Perl 代码,针对每个安装的 Perl 版本。这可能会使用类似 Virtual BoxVagrant 的工具。

这不是你可以分发的东西。像 Digital Ocean 这样的免费托管服务允许用户共享虚拟机的快照,但最终用户仍然需要支付几美分来租赁虚拟机几小时。这需要有人定期维护和刷新快照,安装最新的 Perl 版本,并保持一切更新。同样,有人可以创建和维护一个 Perl 学习环境

最后 thoughts

我们的建议很简单。找到你想花时间工作的东西,在开始之前寻求建议,并计划自己完成大部分工作。一旦开始,就要做好长期打算。你不需要任何人的许可来做这些。


这篇文章最初发布在 PerlTricks.com 上。

标签

brian d foy

brian d foy 是一名 Perl 训练师和作家,也是 Perl.com 的资深编辑。他是 Mastering Perl、《Mojolicious Web Clients》的作者,也是《Learning Perl Exercises》的作者,并与 Programming Perl、《Learning Perl》、《Intermediate Perl》和《Effective Perl Programming》合著。

浏览他们的文章

反馈

这篇文章有什么问题吗?请在 GitHub 上打开一个问题或拉取请求来帮助我们。