Phỏng vấn: Linus Torvalds - Tôi không đọc mã nữa - Phần 2

Thứ tư - 12/12/2012 06:01
Interview:Linus Torvalds – I don't read code any more

withGlyn Moody, 13 November 2012, 15:16

Theo:http://www.h-online.com/open/features/Interview-Linus-Torvalds-I-don-t-read-code-any-more-1748462.html?page=2

Bàiđược đưa lên Internet ngày: 13/11/2012

Lờingười dịch: Qua cuộc phỏng vấn của Glyn Moody vớiLinus Torvalds, chúng ta biết được tổng thể cách thứcmà nhân Linux được phát triển, rằng hiện giờ thìLinus Torvalds đã không còn đọc mã nguồn như trước kiaông thường làm. Thay vào đó, ông là người phân côngcho những người có trách nhiệm về cách nhánh phụ củacây phát triển nhân, mỗi khi có những báo cáo lỗi đượcchuyển vào trong danh sách thư của nhân và sau đó chuyểntới ông. Đó là công việc chính của ông hiện nay, nórất khác với những gì ông đã làm trước kia - đọc mãnguồn của nhân. Xem các phần [01], [02], [03], [04].

Architecture,community & Linus's role

Kiến trúc, cộngđồng và vai trò của Linus

Glyn Moody: Kiếntrúc chính nào thay đổi từng đã và đang hỗ trợ phầncứng mới?

Linus Torvalds: KhoUSB từng được viết lại một cách cơ bản đôi lúc chỉvì một số trường hợp điển hình mới tới và bạnnhận ra rằng này, kho USB ban đầu chỉ không bao giờ tínhtới điều đó, và nó không làm việc được. Nên USB 3.0cần trình kiểm soát máy chủ mới hỗ trợ và hóa ra lànó đủ khác mà bạn muốn thay đổi kho cốt lõi sao chonó có thể làm việc xuyên khắp các phiên bản khác nhau.Và không chỉ USB, cả PCI, và PCI trở thành PCIe, và cáctrình cài cắm nóng cũng tới.

Mộtđiều khác nữa là sự khác biệt khổng lồ giữa Linuxtruyền thống và Unix truyền thống. Bạn có một máy trạmUnix đang thực hiện việc bổ sung thêm vào một thiết bịUSB, nhưng thực tế là điều đó đã không sử dụng đểtrở thành mục tiêu chính. Toàn bộ điều đó có khảnăng cho các thiết bị cài cắm nóng, chúng tôi tất cảđã có những thay đổi hạ tầng cơ bản mà chúng tôi đãphải vượt qua.

Glyn Moody: Thếcòn cộng đồng nhân thì sao - nó đã tiến bộ thế nào?

Linus Torvalds:Nó thường được tôn lên. Tôi không biết khi nào sựthay đổi được xảy ra, nhưng thường thì đối với tôivà có thể 50 lập trình viên - nó từng là những ngườicó tôn ti trật tự. Những ngày đó, các bản vá mà tớiđược tôi đôi khi đi qua 4 lớp người. Chúng tôi đưara cứ 3 tháng một; trong mỗi phiên bản chúng tôi cókhoảng 1.000 người tham gia. Và 500 trong số 1.000 ngườivề cơ bản gửi 1 dòng thay đổi duy nhất cho thứ gì đóthực sự tầm thường - đó là cách mà một số ngườilàm việc, và một số trong số họ không bao giờ làm gìnữa cả, và điều đó là tốt. Nhưng khi bạn có mộtngàn người tham gia , đặc biệt khi một số trong số họchỉ là những người chỉ được dẫn dắt bởi nhữngngười khác ép buộc, thì bạn không thể bắt tôi mangcác bản vá đó từ bất kỳ ai một cách cá nhân được.Tôi không có thời gian để tương tác với mọi người.

Mộtsố người chỉ chuyên về các trình điều khiển, họnhờ những người khác mà họ biết chuyên trong lĩnh vựctrình duyệt đặc biệt đó, và họ tương tác với nhữngngười thực sự viết các trình điều khiển các lẻ đóhoặc gửi đi các bản vá. Khi tôi còn xem các bản vá,phải đi qua tất cả các lớp đó, ít thì là 4 lớp,nhưng thường có 2 người trung gian.

GlynMoody: What majorarchitecture changes have there been to support new hardware?

LinusTorvalds: The USBstack has basically been re-written a couple of time just becausesome new use-case comes up and you realise that hey, the original USBstack just never took that into account, and it just doesn't work. SoUSB 3.0 needs new host controller support and it turns out it'sdifferent enough that you want to change the core stack so that itcan work across different versions. And it's not just USB, it's PCI,and PCI becomes PCIe, and hotplug comes in.

That'sanother thing that's a huge difference between traditional Linux andtraditional Unix. You have a [Unix] workstation and you boot it up,and it doesn't change afterwards – you don't add devices. Nowpeople are taking adding a USB device for granted, but realisticallythat did not use to be the case. That whole being able to hotplugdevices, we've had all these fundamental infrastructure changes thatwe've had to keep up with.

GlynMoody: What aboutkernel community – how has that evolved?

LinusTorvalds: It usedto be way flatter. I don't know when the change happened, but it usedto be me and maybe 50 developers – it was not a deep hierarchy ofpeople. These days, patches that reach me sometimes go through fourlevels of people. We do releases every three months; in every releasewe have like 1,000 people involved. And 500 of the 1,000 peoplebasically send in a single line change for something really trivial –that's how some people work, and some of them never do anything else,and that's fine. But when you have a thousand people involved,especially when some of them are just these drive-by shooting people,you can't have me just taking patches f-rom everybody individually. Iwouldn't have time to interact with people.

Somepeople just specialise in drivers, they have other people who theyknow who specialise in that particular driver area, and they interactwith the people who actually write the individual drivers or sendpatches. By the time I see the patch, it's gone through these layers,it's seldom four, but it's quite often two people in between.

Glyn Moody: Thếcòn vai trò của ông có ảnh hưởng thế nào lên điềuđó?

Linus Torvalds:Vâng, điều lớn là tôi không đọc mã nguồn nữa. Khimột bản vá đã đi qua 2 người, và sự quản lý vi mô ởmức đó - và hoàn toàn thực là tôi không muốn làm điềuđó, và tôi không có năng lực để làm điều đó.

Nênhầu hết thời gian, khi nói về những người duy trì cáchệ thống phụ chủ chốt, tôi tin cậy họ vì tôi đã vàđang làm việc với họ cỡ 5, 10, 15 năm, nên tôi thậmchí không nhìn vào mã nguồn. Họ nói cho tôi đó là nhữngthay đổi và họ đưa cho tôi một tổng quan mức cao. Phụthuộc vào con người, nó có thể là 5 dòng văn bản nóiđây đại khái là những gì đã thay đổi, và sau đó họđưa cho tôi một thống kê khác, chỉ nói 15 dòng đã thayđổi trong tệp đó, và 25 dòng đã thay đổi trong tệp đóvà thống kê khác có lẽ là một vài trăm dòng vì có íttệp có vài trăm dòng đã thay đổi. Nhưng tôi thậm chíkhông xem bản thân mã nguồn, tôi chỉ nói: OK, những thayđổi xảy ra trong các tệp đó, và tôi tin bạn thay đổicác tệp đó, nên điều đó là tốt. Và sau đó tôi chỉnói: tôi sẽ lấy nó.

Glyn Moody: Thếvai trò của ông bây giờ là gì?

Linus Torvalds:Phần lớn tôi đang quản lý mọi người. Không theo ýnghĩa hậu cần - tôi rõ ràng không trả lương cho bất kỳai, nhưng tôi cũng không phải lo về họ có sự truy cậptới phần cứng và những thứ như thế. Phần lớn nhữngđiều xảy ra là tôi có liên quan khi mọi người bắt đầutranh cãi và có sự trà xát giữa mọi người, hoặc khicác lỗi xảy ra.

Cáclỗi xảy ra mọi thời gian, nhưng rất thường xuyên mọingười không biết ai để gửi báo cáo lỗi tới. Vì thếhọ sẽ gửi báo cáo lỗi đó vào danh sách thư LinuxKernel (Nhân Linux) - không ai thực sự có khả năng đọcnó nhiều. Sau khi mọi người không chỉ nó ra trong danhsách nhân, họ thường bắt đầu bỏ bom tôi, nói: này,máy này không làm việc với tôi được nữa. Và vì tôiđã thậm chí không đọc mã nguồn ngay từ đầu, nên tôibiết ai có trách nhiệm, tôi kết thúc bằng việc là mộtđiểm kết nối cho các báo cáo lỗi và cho những yêu càuthay đổi thực sự. Tất cả những gì tôi làm, ngày nàyqua ngày khác, là tôi đọc thư. Và điều đó là tốt,tôi thích làm thế, nhưng điều đó rất khác với nhữnggì tôi đã làm.

GlynMoody: So whatimpact does that have on your role?

LinusTorvalds: Well, thebig thing is I don't read code any more. When a patch has alreadygone through two people, at that point, I can either look at thepatch and say: no, all your work was wasted, and micromanage at thatlevel – and quite frankly I don't want to do that, and I don't havethe capacity to do that.

Somost of the time, when it comes to the major subsystem maintainers, Itrust them because I've been working with them for 5, 10, 15 years,so I don't even look at the code. They tell me these are the changesand they give me a very high-level overview. Depending on the person,it might be five lines of text saying this is roughly what haschanged, and then they give me a diffstat, which just says 15 lineshave changed in that file, and 25 lines have changed in that file anddiffstat might be a few hundred lines because there's a few hundredfiles that have changed. But I don't even see the code itself, I justsay: OK, the changes happen in these files, and by the way, I trustyou to change those files, so that's fine. And then I just say: I'lltake it.

GlynMoody: So what'syour role now?

LinusTorvalds: LargelyI'm managing people. Not in the logistical sense – I obviouslydon't pay anybody, but I also don't have to worry about them havingaccess to hardware and stuff like that. Largely what happens is I getinvolved when people start arguing and there's friction betweenpeople, or when bugs happen.

Bugshappen all the time, but quite often people don't know who to sendthe bug report to. So they will send the bug report to the LinuxKernel mailing list – nobody really is able to read it much. Afterpeople don't figure it out on the kernel mailing list, they oftenstart bombarding me, saying: hey, this machine doesn't work for meany more. And since I didn't even read the code in the first place,but I know who is in c-harge, I end up being a connection point forbug reports and for the actual change requests. That's all I do, dayin and day out, is I read email. And that's fine, I enjoy doing it,but it's very different f-rom what I did.

Dịch: Lê Trung Nghĩa

letrungnghia.foss@gmail.com

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

Click để đánh giá bài viết

  Ý kiến bạn đọc

Những tin mới hơn

Những tin cũ hơn

Về Blog này

Blog này được chuyển đổi từ http://blog.yahoo.com/letrungnghia trên Yahoo Blog sang sử dụng NukeViet sau khi Yahoo Blog đóng cửa tại Việt Nam ngày 17/01/2013.Kể từ ngày 07/02/2013, thông tin trên Blog được cập nhật tiếp tục trở lại với sự hỗ trợ kỹ thuật và đặt chỗ hosting của nhóm phát triển...

Bài đọc nhiều nhất trong năm
Thăm dò ý kiến

Bạn quan tâm gì nhất ở mã nguồn mở?

Thống kê truy cập
  • Đang truy cập138
  • Hôm nay19,844
  • Tháng hiện tại592,706
  • Tổng lượt truy cập37,394,280
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây