Reporter: How much involvement do you have with PHP development today?
记者:你目前在多大程度上参与了个人 网页程序(PHP)的开发?
Lerdorf: A lot less now than 10 or 15 years ago, that’s for sure. But I still read the mailing lists every day discuss features and fix bugs occasionally. Personally, I tend to be more interested in security and performance-related issues than other things. I’m as involved as I have been in years.
勒道夫:肯定比10或15年前少多了, 但我现在每天仍坚持阅读邮件列表,讨 论功能和偶尔修复一下漏洞。我个人对 安全和性能相关的问题更感兴趣。多年 来我的参与程序一直是这样。
Reporter: What’s the structure of the PHP team? It doesn’t seem clear...
记者:PHP团队的组织结构是什么样 的?现在看起来似乎不太清晰……
Lerdorf: There is no structure!
勒道夫:没有任何结构!
Reporter: Who makes the final decisions?
记者:那么谁作最后的决定呢?
Lerdorf: We do. We have a mailing list called Internals that’s completely open一anyone can subscribe to it, read it, post to it and I’ve always been insistent on keeping the process transparent. Anybody can go back and read the mailing list archives to figure out how we got to any one position. It tends to be that code wins. If two groups are arguing, but one group has an implementation and the other doesn’t, well, the implementation wins. It almost doesn’t matter how braindead it is; if we should have the feature, but we can’t agree on the implementation, we’ll go with whoever builds it.
勒道夫:我们一起。我们有一个完全开放的邮件列表,名为内部邮件,任何人 都可以订阅和阅读,在上面发表意见 等,我一直坚持保持过程的透明度。任 何人都可以翻阅邮件列查察看我们是如 何达到每一个位置的。倾向于代码取 胜。如果两个小组在争论,但其中一个 小组有了成就而另一个没有,那么落实 的取胜。头脑有多愚笨都不 要紧,如果我们需要得到相 关特性又不能认同落实,我 们只需要与创建者一起即 可。
Reporter: Is there pressure to be the final arbiter of decisions?
记者:作为决策的最终仲裁 者,你是否有压力?
Lerdorf: Sure, there is. I’ve always tried to downplay that role, because I don’t want to have the final say in a lot of these things. I want the project to be self-sufficient and I propelling. If I,m in the loop as the make every decision—that doesn’t scale at all. Honestly, there’s a bunch of things I don’t know enough about. I mean, take Sybase. I’ve never used Sybase in my life. How would I make an intelligent decision about this versus that with a Sybase extension? For a lot of PHP, that’s the way it is. There are groups of people that are much better off making these decisions.
勒道夫:当然有压力。我总 是试图淡化这一角色,因为 我不希望对太多事情作最后 决定。我希望项目能自给自 足,我希望它是自我推进的。如果我深 陷决策者角色,要作出每一个决定,那 也是不太现实的。老实说,有许多事情 我了解得还不够,如Sybase,我还从来 没有使用过Sybase,那我如何能够对 Sybase扩展和Sybase作出正确的决定 呢?对于很多PHP来说,经常会这样。 这时就需要团队中的优秀成员来作决定 了。
Reporter: Has that slowed down development of PHP 6? It’s been in progress for two and a half years...
记者:PHP 6的开发速度放慢了吗?已 经开发了两年半的时间了……
Lerdorf: What’s slowing down development on 6 isn’t decision making: it’s finding people interested in and capable of doing unicode-oriented programming. It’s difficult—Unicode isn’t easy. There’s a lot of complexity, and there's also plenty of people who don’t want it to be selfdecision-maker, I care that much. From a big-business point of view, everyone wants Unicode in there, but from a day-today perspective, a lot of people don’t need Unicode because they’re building things for one locale. Theoretically, everyone wants to go to UTF-8 eventually. But it’s one of those ‘I’ll get to it later’ things. It doesn’t have the same sense of urgency as many of the other features in PHP. When someone says: “I need this now,” that’s when things start moving. Developers are responsible for this in their own use, their jobs, their companies, whatever. That’s not quite there in PHP 6. It’s being pushed mostly by the larger companies, because they’re the ones that tend to need internationalisation
勒道夫:放慢PHP 6的开发速度并不 是决策,而是寻找感兴趣和有能力进行 统一码编程序的人,但统一码编程序不 是那么简单的,有许多复杂因素和许多 不愿考虑这些因素的人。从商业角度来看,每个人都希望使用 上统一码。但是从日常的 角度来看,很多人并不需 要统一码,因为他们构建 的系统只会在一个场所使 用。从理论上讲,每个人 都希望最终使用UTF-8, 但这是我们后面要考虑的 事情,它没有PHP中其 他功能那样紧迫。当有 人说“我现在需要这个” 时,那么我们一般就会启动开发了。开 发人员会对此负责,用于个人或公司工 作中,这并不全包含在PHP 6中。许多 大公司希望推广统一码,因为他们倾向 于国际化。
Reporter: Which languages particularly inspired you early on in the development of PHP?
记者:在开发PHP早期哪个语言特别给 了你灵感?
Lerdorf: C and Perl. Those were the two languages I was using back then. Because originally I wasn’t trying to build a new language, I simply needed a way of using what I already knew within the confines of the web server and to solve a problem. I didn’t need a lot of the stuff that was in Perl and I didn’t want all the memory management hassle of C, so I needed a stripped-down version of C, that wasn’t quite Perl, that I could easily embed and was targeted at the problem. Later on, C++ and Java were languages we looked at to figure out what we needed to do in our object orientation code. But that was other people. I’ve never been a huge fan of-I use it when I think it’s appropriate When I have an object that carries data and some methods to manipulate the data, that’s OK. But I’ve never been a fan of everything. I’m OK with procedural code and the web is a topdown type of problem. It makes sense to me that you have HTML, you spit out a bunch of HTML, then you call a function to do something and then call another function. Yes, you might have a database object behind the scenes, but I hate things like an HTML object with a BR method on it. Brand new field and anybody who did anything interesting stood out. Now there are so many people and those people are all getting new things out; it’s impressive to me that they’re able to get above the noise and all the other really cool things that are out there. I guess the main thing I can say is: you need to give up control. If you want to build an open source project, you can’t let your ego stand in the way. You can’t rewrite everybody’s patches, you can’t second-guess everybody and you have to give people equal control.
勒道夫:C语言和Perl语言。当时我正 在使用这两种语言,因为最初我本来没 有想过要创建一种新的语言,我只需要 一个我在网络服务器范围内已知的方法 来解决问题。我不需要Perl语言中的那 么多东西,也不想像C语言那样对所有 内存进行管理,因此我需要的是一个精 简版的C语言,也不能很Perl,我可以 很容易嵌入并挑出问题。后来,我们研 究了 C++和Java,从而找出需要在我 们的定向码项目中实现的目标编码,但 这是其他人做的。我一直对它不是很感 冒,只有当我认为是适当的时候我才会 使用它。当我有一个带数据以及操控数 据方法的目标的时侯,就可以。但我从 来不当粉丝。程序代码对我来说不是问题,网络则是自上而下的问题。这对我 来说是一件有意义的事,你有一个超文 本标识语言(HTML),并开发一个分 支,然后不断的增加其功能。是的,你 或许会有一个数据库目标,但是我讨厌 带BR方法的HTML目标。全新的领域 和尝试任何有趣事物的人不断地涌现出 来。现在有很多人都在创造新的事物; 他们可以克服周围的噪音以及其他很酷 的事物,这令我印象深刻。我认为我主 要要说的是:“你必须放弃控制权”。如 果你想建立一个开源项目,你不能太自 恋了,你不能重写每个人的补丁,你不 能事后批评所有的人,必须给人们平等 的控制权。
Reporter: Was there a moment like that for you?
记者:你曾经有过这样的经历吗?
Lerdorf: Definitely—in 1997,it basically came to the point where I was going to kill the project, because it was growing so fast and my mailbox was filling up with suggestions, complaints, patches, all these things. Up until then, I had been doing everything myself. Someone would make a suggestion, send me a patch and I,d rewrite the patch the way I thought it should be done. I would disagree with people, I,d argue back and forth, and I just couldn’t keep up any more. I was getting frustrated and sick of it all, [thinking]: “Why are all these people expecting me to fix their code? They’re not paying me. What the hell am I doing working my ass off for these folks? I don’t even know them—what the hell is going on here?” So that was the time when I said: “This has to change. Give the guys who have been complaining over the last few years access to the code. The guy who has been complaining about the Oracle extension, he,s been a pain in my ass for years, so it’s yours now buddy. Any further issues or complaints about Oracle go directly to you.” And that really empowered people. When they felt that they now owned a slice of PHP, they started getting defensive. Instead of complaining to me about things-once they got ownership, and power, the whole atmosphere changed. And it got a lot more fun as well, because I didn’t feel like it was just me against the world any more; now it was a real team effort.
勒道夫:肯定有过,在1997年,我几 乎就想停掉这个项目,因为它发展得非 常快,我的邮箱充满了建议、投诉、补 丁等所有东西。在那之前,我一直亲自 来处理这些事情,有人可能会提出一个 建议,向我发送一个补丁,我可能会以 我认为它应该是某样的方式重写这个 补丁。如果我不同意某人的想法,需要 来回交流,于是我越来越跟不上节奏, 那时我变得很沮丧,并且讨厌这一切。 [思考]:为什么这些人希望我修正他们 的代码呢?他们又没付我钱,我为什么 要拼命帮这些家伙,我甚至都不认识他 们,这到底是怎么回事?因此我认为是 时候改革了,给那些过去几年一直抱怨 的家伙有权限修改代码。那些一直抱怨 甲骨文公司扩张的家伙,这些年一直跟 我作对,现在成为朋友了。任何其他关 于甲骨文的问题和抱怨都直接交由你负责。这确实增强了大家的权利。当他们 感到他们现在拥有一小部分PHP时,他 们开始变得收敛,而不是向我抱怨,当 他们得到所有权和权力后,整个氛围发 生了变化,同时也带来了许多的乐趣, 因为我不再觉得只有我才是与这个世界 格格不入的。现在我们是一个真正共同努力的团队。
Reporter: Do you keep tabs on other languages such as Ruby?
记者:你会关注其他语言如Ruby吗?
Lerdorf: I think [Ruby on] Rails has tapered out a little bit lately. Maybe the new version that they’re coming out with一the one that’s actually fast (laughs)一maybe that will be interesting. But there are performance issues with the scaffolding and stuff, and they recognise that, which is why the new build will be better. But I've never been a huge fan of code generation,to be honest —it’s building apps that have already been built. The scaffolding, well, it looks good in a screencast,but for real-world use the scaffolding just wasn’t interesting to me. And I think many other people have come to that same conclusion: “OK,the scaffolding is cute, but we need something real…Ruby as a language is great, I think it’s a really clean and nice language. There just aren’t that many people who know it well. A lot of people went to Ruby on Rails because they got sucked in by the screencast and the “hey,you can build an app in 10 seconds” factor. But when they needed to do something real, they thought, “Oh crap, I don’t know Ruby very well!”
勒道夫:我认为Ruby最近有点萎缩, 也许新版本马上会出来,速度也许真 正会快一点(笑),到那时也许会很有 趣,但它一直存在“脚手架”方面的性 能问题,而且官方也承认了这一点,因 此我认为新版本性能可能会好一点。不 过我不是代码生成的狂热者,说实话--它只是在开发那些已经开发了的 应用程序。在一个 示范视频中,“脚手 架”看起来似乎还 比较好,但在现实 世界中使用“脚手架”,我对此没有什 么兴趣,而且我认 为许多人和我的想法是一样的,“脚手 架”确实可爱,但我更需要实际一点的 东西。Ruby也是一门伟大的编程语言, 我认为它是一个非常干净漂亮的语言。 只是没有那么多人了解。有许多人转向 Ruby on Rails是因为他们受到示范视频 和“嘿!你可以在10秒内构建一个应 用程序”的引诱,但当他们真正需要干 点实际的事情时,他们会认为“哦,垃圾,我真的不了解Ruby ! ”
Reporter: Do you know about Chinese software engineers? To compare with American engineers, what advantages and disadvantages do they have?
记者:你了解中国的软件工程师吗?相 对于美国的工程师,你认为他们有什么 优势和弱点?
Lerdorf: Obviously, they are better at understanding the arrangement of polysyllabic word,while American engineers know little about it. But commonly, I found that researchers from different countries have many things in common instead of differences. Different people in different countries are doing the similar thing, this is interesting. They are different in terms of the economic aspect, but they have similar feelings and interests, more than you can imagine.
勒道夫:一个非常明显的长处是中国的 工程师可以更好地理解多音节词的排 列,而这是我们美国的研发者非常陌生 的东西。但是通常来说,我发现不同国 家的研发者的相同之处要多于差异。不 同的人们在不同的国家做着差不多相同 的事情是一件非常有趣的事。在经济上 他们是有所不同的,但是在感情和兴趣 的重叠程度,比你想象的要大得多。
Reporter: In what way could Chinese and American engineers communicate with each other better?
记者:中美工程师间如何更好的交流沟 通?
Lerdorf: Actually, this is a language problem. But in the open source program, we have C language. But of course, there still some kind of barrier of language, especially when the issue could not be explained clear by technology language. I have no idea about how long it will take us to conquer this problem. I would like to advice the American to learn some Chinese, but this is a little bit difficult to realize. Anyway, English is the standard technology language. So, to communicate better, Chinese engineers need to learn and practice English. I am not an American, and English is not my mother tongue, so I understand the difficulty to work not with the mother tongue. However, we have to face the reality.
勒道夫:事实上,这是语言问题,但在 开源项目中,我们有C语言。但当然确 实有一定的语言障碍,尤其是当某个想 法无法通过技术语言来表达的时候。我 不清楚我们还需要多长时间来克服这个 问题。我很乐意建议美国的工程师都学 一些中文,但这不是很现实的事情。无 论如何,英语是标准的互联网技术语 言,因此,要想更好的进行交流,中国 的工程师需要更好的学习和使用英文。 我不是美国人,母语也不是英文,所以 我很理解不使用母语工作的痛苦,但是 我们必须面对这样的现实。
Reporter: How do you think the technology will affect internet start-ups?
记者:你认为技术对互联网新兴公司有 哪些作用?
Lerdorf: I don’t think that the technology will always be the most important, actually, making the right decision at the right time is more important. I have seen many companies that focus too much on the most advanced technology, but they failed at last.
勒道夫:我不认为技术总是非常重要 的,事实上,在正确的时候对市场做出 正确的判断和决定更重要。我见过很多 的公司,他们太过于追求最先进的技 术,但最后还是失败了。