关于 Drupal 7 的 Angela Byron

Angela Byron 是 Drupal 开源内容管理系统和框架的共同维护者。 她与我们谈了谈她在 Drupal 项目中的角色,以及最近发布的最新版本 Drupal 7。 请在《Linux Journal》2011 年 4 月刊上查看完整采访,该期杂志即将上架报摊并寄达订阅者邮箱!

KD: 最初是什么让您对开源软件感兴趣的?您是否立即投身其中并成为积极的贡献者?

AB: 自从 1995 年第一次听到“自由软件”这个词以来,我就对它很感兴趣,那时我完成了第一次成功的 Linux 安装——那时 Debian 可以装在 7 张软盘上。;) 我对自由软件运动深刻的人道主义意义感到既好奇又兴奋。 质量优于商业软件,任何人只要有兴趣和学习的动力,都可以对其进行修改和扩展,并且免费提供给所有人,包括非营利组织和教育机构。 我成为了家人和朋友中开源替代方案的坚定拥护者,在学校里,我完全是“那种人”,会要求除了教我们 ASP 和 Oracle 之外,还需要学习 PHP 和 MySQL。

然而,我同样坚信,所有实际从事开源软件工作的人都非常聪明,而我,仅仅是一名卑微的社区大学学生,不可能参与到那个层面。 因此,我会默默地为这些人欢呼,但总是站在场边,满怀希望地看着,希望有一天,在遥远的未来,也许在积累了 30 年的经验或其他什么之后,我才能加入他们的行列。

然后,在 2005 年,十年之后,我的一位导师告诉我 Google Summer of Code (GSoC) 计划,该计划为学生在暑期从事开源项目提供津贴。 这在我脑海中建立的“你必须非常聪明才能贡献”的墙上戳了一个洞,因为我想,嘿,他们知道我是学生,所以他们一定知道我不是什么都懂…… 所以我想我会申请看看结果如何。

Drupal 项目是 GSoC 的指导组织之一,我曾在 SpreadFirefox.com(Firefox 项目的草根营销网站)上看到过它被使用,因为我是那种会点击访问的所有网页上的“查看源代码”的人,看看它为什么能运行。 我认为 Drupal 能够为这样的网站提供动力非常酷,因此这个名字就印在了我的脑海中。 因此,我申请为 Drupal 编写一个 Quiz 模块用于 GSoC,即使我以前从未下载、安装或使用过 Drupal。

令我震惊和惊讶的是,我竟然被选中了。 现在到了困难的部分:弄清楚 Drupal,不仅是 Drupal,还有其他外围的东西,如版本控制、补丁等。 那时,关于 Drupal 的文档非常稀少; 没有书,没有截屏视频,什么都没有。 我发现自己面临着一个相当陡峭的“学习悬崖”,并且因为只有 2 个月的时间来完成我的项目而感到压力很大。

因此,我用双管齐下的方法自学了 Drupal

1. 编写我希望存在但不存在的文档,至少尽我所能,然后向更博学的人请教,以帮助我修复它。 我编写了关于使用 CVS、设置测试环境以及其他一开始对我来说很困难的事情的说明。

2. 泡在支持渠道和论坛中,尝试回答其他人的问题。 在最初的几周里,这完全不可能,但在尝试这样做时,我最终学到了很多。 第一次我能够成功回答别人的问题时,我感觉自己像个摇滚明星。 ;)

我很快赢得了 Drupal 社区中“实干家”之一的声誉,突然之间,当我对开发了解得更多时,人们争先恐后地帮助回答问题。 从那时起我就迷上了它,现在疯狂地贡献,以弥补失去的十年时间。 ;)

一旦我来到贡献者墙的“这一边”,我意识到我对开源贡献者的神话是多么愚蠢。 虽然确实有一些爱因斯坦级别的聪明人在为开源做贡献,但他们中的大多数人只是像我这样的人:那些充满热情、努力工作并希望帮助他人的人。 因此,自从有了这个顿悟以来,我的目标一直是努力确保我延迟贡献开源的故事不会成为其他任何人的故事。 :)

KD: Drupal 最伟大的事情之一是它背后的社区。 在我们社区的许多有趣方面中,一个事实是我们拥有比大多数开源项目更高比例的女性贡献者。 这些天这些数字是多少? 过去几年中,情况如何发展? 您认为为什么参与 Drupal 的女性比大多数其他项目都多?

AB: 不幸的是,我们没有关于社区中性别构成的非常可靠的数据。 我们确实知道,在选择告诉我们性别的人中,有 11% 的人声明自己是女性(相对于男性或跨性别者)。 总的来说,感觉这个数字随着时间的推移正在增加,但很难科学地说。

不过,我特别自豪的一件事是,在 Drupal 核心的 MAINTAINERS.txt 中,它跟踪主要的子系统维护者,在 Drupal 之前的每个版本中,MAINTAINERS.txt 中列出的女性人数为 0。 在 Drupal 7 中,我们有 6 位女性。 虽然这个原始数字仍然很低,但我认为这说明了我们的贡献团队的多样性在 Drupal 7 周期中得到了提高。 我也不知道有多少其他开源项目的核心开发团队中有这么多女性。

我也不能确定为什么 Drupal 比其他项目更能吸引女性。 我认为部分原因是项目的性质——Drupal 是一个用于构建网站的项目,并且有很多女性参与网站设计和开发,可能比内核黑客更多。 但我认为也有重要的文化原因。 Drupal 社区具有强烈的精英管理倾向,可以提升努力工作的人,无论其背景如何。 因此,我们在社区的许多关键职位上都有女性,包括 Drupal 协会的董事会、文档团队的领导者,甚至核心维护者。 ;)

KD: 对于我们这些需要从 Drupal 6 升级到 Drupal 7 的人来说,升级过程会有多困难?

AB: Drupal 社区有一句谚语:“水滴总是在流动。” 这体现了我们的理念,即允许在主要版本中进行大范围的向后不兼容的 API 更改,只要为用户的数据提供升级路径即可。 这使我们能够站在技术的最前沿,并且不会携带大量多余的遗留包袱,但也意味着升级 Drupal 的主要版本可能是一个令人痛苦的过程。

在撰写本文时(在 Drupal 7.0 发布大约三周后),从 6 到 7 的升级路径仍然非常坎坷。 虽然核心的东西已经处理好了,但贡献模块仍在移植中,主要模块的升级路径仍在紧张进行中。 关于某些项目以及它们将如何从 Drupal 6 过渡到 Drupal 7,也存在很大的疑问,因为新的实体/字段 API 范例和 Drupal 7 提供的其他新功能。 情况确实在每小时都在改善,但老实说,我认为大多数典型的 Drupal 6 站点在 2011 年第二季度左右之前都无法认真考虑升级到 Drupal 7。

然而,好消息是有许多有用的实用程序可用,这些实用程序使升级到 Drupal 7 比之前的任何主要版本发布都容易。

* 升级状态模块:http://drupal.org/project/upgrade_status

  此模块安装在 Drupal 6 站点上,将提供当前启用的模块列表,以及是否有适用于 Drupal 7 的版本。 您可以定期查看此列表,以了解您可能希望何时安排 Drupal 7 升级。 准备就绪后,捆绑的升级助手模块提供了一个交互式清单,可以逐步引导您完成该过程。

* Coder 升级模块,Coder 模块的一部分:http://drupal.org/project/coder

 此模块允许您上传 Drupal 6 模块,并将对其运行各种转换例程,以将新的 Drupal 7 代码更改应用于它,最后吐出一个已尽可能转换为 Drupal 7 的新模块。 它可以处理的事情包括将原始 SQL 查询转换为新的数据库抽象层,重命名在版本之间更改名称的函数,以及指出 Drupal 6 中需要的代码不再需要的情况。

只要 Drupal 站点构建者坚持通用最佳实践——使用经过充分验证的贡献模块,不“黑核心”(修改 Drupal 核心/贡献文件),并最大限度地减少自定义代码的使用——借助这些工具,一旦贡献模块赶上,Drupal 6 到 7 的升级应该相当简单。

KD: 如果我们的读者有兴趣,您会建议他们如何参与 Drupal 项目? 每个开源项目都想要错误测试人员,但是如何培训错误测试人员呢?

AB: 首先,我强烈鼓励他们这样做! Drupal 社区充满了聪明、友好和乐于助人的人们,他们真的很高兴有新的贡献者加入。 :)

我通常建议人们去的第一个地方是参加现实生活中的聚会,与其他 Drupal 贡献者交谈。 几乎每个地方每月都有 Drupal 聚会,包括代码冲刺、文档冲刺和其他帮助他人的绝佳机会。 查看 http://groups.drupal.org/ 查找您附近的城市!

我们还在文档的专门部分“参与指南”http://drupal.org/getting-involved-guide 中列出了各种参与方式,包括开发、文档、支持和翻译。 “社区倡议”http://drupal.org/community-initiatives 部分包含各种高重要性项目以及如果您想入门可以与谁交谈。

我们在“参与指南”下有一个关于问题队列的部分,网址为 http://drupal.org/node/317。 它包含指向截屏视频和教程的链接,内容涉及问题队列的工作原理、如何提交错误报告等等。 我们还在 Drupal Camp、DrupalCon 和其他活动的 code sprint 期间提供培训。

并且不要忘记 IRC! 我们大多数人每天 24 小时都在 irc.freenode.net 上的 #drupal 和 #drupal-contribute 中,并且很乐意听到有人想参与并想知道从哪里开始! 我自己或其他志愿者非常乐意指导某人完成他们的第一个错误报告或补丁审查。 :)

KD: 您还依赖哪些其他支持开源技术? 有什么最喜欢的吗? 有什么特别喜欢的开发工具吗?

AB: 我每天使用的开源项目包括 Firefox、vi、Adium、Sequel Pro,当然还有 LAMP 堆栈,所有这些我都依赖它们来完成我所做的疯狂的 Drupal 工作。 :)

Katherine Druckman,一位自称 Drupal 粉丝的,是Linux Journal的数字体验总监。 她白天是一位 HTML 爱好者、PHP 黑客 ​网站管理员,晚上是一位精通历史建筑和精美中国陶瓷的鉴赏家。 人们通常可以在德克萨斯州先驱时代的古老建筑的魅力中找到她,或者欣赏宋代和清代的陶瓷。

加载 Disqus 评论