Thứ Tư, 19 tháng 5, 2010

Làm thế nào để trở thành Linus Torvalds

How to Become Linus Torvalds

by Glyn Moody

13 May 2010, 11:06

Theo: http://www.h-online.com/open/features/How-to-Become-Linus-Torvalds-999542.html

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

Lời người dịch: Không dễ để quản lý một dự án với hàng ngàn lập trình viên trên khắp trái đất như dự án Linux. Vậy mà gần 20 năm trước, những tư duy của Linus Torvalds vẫn gần như được giữ nguyên về cách quản lý dự án kỳ lạ này. Một cách quản lý mà nó bây giờ đang đi vào mọi ngõ ngách của không chỉ phần mềm, mà còn lan sang nhiều lĩnh vực khác, và cả trong …. cách quản lý của chính phủ. Vâng, thế giới nói tới việc làm thế nào để trở thành Linus Torvalds, còn Việt Nam chúng ta, hình như vừa rồi có ai đó đang muốn đào tạo để trở thành Bill Gates thì phải...

Hầu hết mọi người trong thế giới phần mềm tự do (PMTD) biết về luồng “Linux là lỗi thời” mà nó đã bắt đầu trên nhóm tin comp.os.minix vào tháng 01/1992, khi mà Andrew Tanenbaum, nhà sáng tạo của hệ thống Minix mà Linus đã sử dụng để học về thiết kế hệ điều hành, đã đưa lên bình luận khá khêu gợi sau đây:

Đừng hiểu tôi sai, tôi không phải là không hạnh phúc với Linux. Nó sẽ có được tất cả những người mà muốn biết Minix thành BSD Unix trên lưng tôi. Nhưng với tất cả sự thành thực, tôi đồ rằng những người mà muốn một hệ điều hành “tự do” **HIỆN ĐẠI** đang ngó quanh timfm một hệ điều hành khả chuyển, dựa trên vi nhân (microkernel), có lẽ giống như GNU hoặc thứ gì đó như vậy.

Như bản thân Linus đã lưu ý trong câu trả lời của mình:

Vâng, với một chủ đề như thế này, tôi sợ là tôi sẽ phải trả lời:

Xin lỗi những người sử dụng Minix mà họ đã nghe đủ về Linux. Tôi muốn có khả năng chỉ “bỏ qua miếng mồi này”, nhưng … Tới lúc cho một vài tranh luận nghiêm túc!

Lý lẽ này xoay quanh vấn đề kỹ thuật về liệu các vi nhân hay các nhân nguyên khối sẽ là tương lai. Nhưng một tranh luận nóng bỏng khác giữa Tanenbaum và Linus, mà đã bắt đầu vào ngày 05/02/1992, động chạm tới những vấn đề hoàn toàn khác:

Một câu hỏi thú vị là liệu Linus có thiện chí để cho Linux trở thành một “tự do” đối với sự kiểm soát của anh ta hay không. Có thể mọi người sửa đổi nó (hủy nó chăng?) và bán nó chăng?

Bài thử này tới khi một nhóm lớn những người muốn tiến hóa Linux theo một cách mà Linus không muốn.

Ngày hôm sau, Tanenbaum đã tổng kết mọi thứ trong một đôi hình ảnh đáng nhớ:

Tôi nghĩ việc phối hợp 1,000 phụ nữ quý phái hàng đầu sống trên khắp thế giới sẽ là dễ dàng như việc nuôi đám mèo vậy.

...

Most people in the free software world know about the famous “LINUX is obsolete” thread that began on the comp.os.minix newsgroups in January 1992, where Andrew Tanenbaum, creator of the MINIX system that Linus used to learn about operating system design, posted the following rather incendiary comment:

Don`t get me wrong, I am not unhappy with LINUX. It will get all the people who want to turn MINIX in BSD UNIX off my back. But in all honesty, I would suggest that people who want a **MODERN** "free" OS look around for a microkernel-based, portable OS, like maybe GNU or something like that.

As Linus himself noted in his response:

Well, with a subject like this, I'm afraid I'll have to reply.

Apologies to MINIX-users who have heard enough about Linux anyway. I'd like to be able to just "ignore the bait", but ... Time for some serious flamefesting!

The argument centred around the technical issue of whether microkernels or monolithic kernels were the future. But another heated discussion between Tanenbaum and Linus, which began on 5 February 1992, touches on quite different matters:

An interesting question is whether Linus is willing to let LINUX become "free" of his control. May people modify it (ruin it?) and sell it?

The test comes when a sizeable group of people want to evolve LINUX in a way Linus does not want.

The next day, Tanenbaum summed things up in a pair of memorable images:

I think coordinating 1,000 prima donnas living all over the world will be as easy as herding cats

Nếu Linus muốn giữ quyền kiểm soát phiên bản chính thức, và một nhóm những con hải ly hăm hở muốn đi theo một hướng khác, thì vấn đề y hệt sẽ nảy sinh. Tôi không nghĩ vấn đề bản quyền thực sự là vấn đề. Vấn đề là việc điều phối mọi thứ. Các dự án như GNU, MINIX hoặc Linux chỉ được giữ cùng nhau nếu một người có trách nhiệm. Trong những năm 70, khi việc lập trình có cấu trúc đã được giới thiệu, thì Harlan Mills đã chỉ ra rằng đội lập trình phải là có tổ chức như một đội phẫu thuật - một bác sĩ phẫu thuật và những trợ tá của anh hoặc chị ta, không giống như một đội bán thịt lợn - trao cho từng người một cái rìu và để cho họ chặt chúng.

Với các câu hỏi của Tanenbaum, Linus đã trả lời:

Chỉ làm sao để không một ai nắm lấy gợi ý của anh ta cho toàn bộ sự thật, tôi đứng ở đây để “giữ kiểm soát”, trong 2 từ (hay là 3 chăng?): Tôi sẽ không.

Ông sau đó đã thực hiện một vài bình luận thừa nhận về cách mà ông quản lý dự án Linux:

Chỉ có sự kiểm soát mà tôi giữ một cách có hiệu quả đối với Linux là việc tôi biết nó tốt hơn bất kỳ ai khác, và tôi đã tiến hành những thay đổi của tôi sẵn sàng đối với các site truyền tệp... Những gì đã trở thành các phiên bản chính thức có hiệu quả, và tôi không mong đợi điều này thay đổi khi nào đó: không phải vì tôi cảm thấy tôi có một số quyền đạo đức đối với nó, mà vì tôi đã không nghe quá nhiều chỉ trích, và nó sẽ là một đôi tháng trước khi tôi mong đợi tìm ra những người mà họ có cùng “cảm nhận” đối với những gì xảy ra trong nhân.

Vâng, sự điều phối là một vấn đề lớn, và tôi không nghĩ Linux sẽ đi khỏi tôi như một “nhà phẫu thuật hàng đầu” khi nào đó, một phần vì hầu hết mọi người hiểu về những vấn đề này. Nhưng bản quyền /là/ một vấn đề: nếu mọi người cảm thấy tôi làm một công việc tồi, thì họ có thể tự mình làm lấy.

If Linus wants to keep control of the official version, and a group of eager beavers want to go off in a different direction, the same problem arises. I don't think the copyright issue is really the problem. The problem is coordinating things. Projects like GNU, MINIX, or LINUX only hold together

if one person is in charge. During the 1970s, when structured programming was introduced, Harlan Mills pointed out that the programming team should be organized like a surgical team--one surgeon and his or her assistants, not like a hog butchering team--give everybody an axe and let them chop away.

To Tanenbaum's questions, Linus replied:

Just so that nobody takes his guess for the full truth, here's my standing on "keeping control", in 2 words (three?): I won't.

He then went on to make some perceptive comments about how he ran the Linux project:

The only control I've effectively been keeping on Linux is that I know it better than anybody else, and I've made my changes available to ftp-sites etc. Those have become effectively official releases, and I don't expect this to change for some time: not because I feel I have some moral right to it, but because I haven't heard too many complaints, and it will be a couple of months before I expect to find people who have the same "feel" for what happens in the kernel.

Yes, coordination is a big problem, and I don't think Linux will move away from me as "head surgeon" for some time, partly because most people understand about these problems. But copyright / is / an issue: if people feel I do a bad job, they can do it themselves.

Còn đáng chú ý hơn so với thực tế là Linus đã có khả năng cung cấp một đánh giá rõ ràng như vậy theo cách không bình thường mà sự phát triển của Linux đã làm việc rất sớm trong cuộc sống của nó là thực tế rằng gần 20 năm sau, nó phần lớn vẫn là đúng.

Linus *vẫn* không có quyền lực chính thống, không cơ chế nơi mà ông có thể làm cho có hiệu lực cho những quyết định của ông về nhân. Vẫn là trường hợp rằng “quyền kiểm soát duy nhất” ông có là việc ông biết mã nguồn “tốt hơn bất kỳ ai khác”, và rằng nếu ông làm “một công việc tồi”, thì ai đó khác có thể tự làm nó - nghĩa là rẽ nhánh mã nguồn.

Linux đã tránh được số phận đó vì Linus đã phát triển những gì tính tới một cách mới để quản lý nhữn dự án phạm vi rộng có liên quan tới số lượng khổng lồ những người đóng góp nằm rải rác theo khu vực địa lý. Mặc dù những quyết định cuối cùng ở lại với ông, thì ông lấy chúng trong sự tư vấn với một dải rộng lớn các lập trình viên. Ông luôn tham gia vào các cuộc tranh luận trong những danh sách thư chủ chốt mà chúng cho phép các vấn đề quan trọng sẽ được nảy sinh bởi bất kỳ ai. Cuối cùng, rồi thì, ông dẫn dắt một phần bằng khả năng cảm nhận những gì sự hợp tác của cộng đồng phát triển Linux là trong những vấn đề đặc biệt, và bằng việc không bị lạc lối quá xa khỏi nó.

Bây giờ, chỉ còn có một Linus, nhưng tôi tin tưởng rằng tiếp cận chung là việc bắt đầu đi vào những môi trường khác. Một phần, đó là vì những thích nghi của phương pháp phát triển nguồn mở - dựa trên một mô hình phát triển hợp tác, phân tán, theo module - đang được áp dụng trong ngày một nhiều hơn các lĩnh vực, từ nội dung cho tới khoa học và ngay cả chính phủ. Tiếp cận đó mang lại với nó một nhu cầu cho một dạng khác của quản lý: từ trên xuống chỉ không làm việc trong những hoàn cảnh này. Và vì thế, ngay khi mô hình kinh doanh mới này mà phần mềm tự do ngụ ý, được tranh luận trong bài viết mới đây của tôi, thì nó cũng đã tạo ra một cách mới hoàn toàn để quản lý mọi thứ.

Bằng chứng rằng đây không phải là một số ý tưởng trừu tượng có thể thấy được, tôi nghĩ, trong một nơi khác là khác thường: thế giới của microblogging. Mặc dù tôi chỉ mới tham gia vào văn hóa này một năm rưỡi, tôi đã ngạc nhiên về sự năng động mà tôi đã mô tả ở trên dường như cũng để hoạt động ở đây. Ví dụ, khi tôi đang chọn liệu có hay không việc đưa thứ gì đó lên các tài khoản của tôi (được đồng bộ hóa) trên identi.ca và Twitter, thì tôi luôn nhận thức được về cộng đồng không nhìn thấy của những người đi theo sau tôi, những ý kiến, tri thức và những mối quan tâm của họ.

Even more remarkable than the fact that Linus was able to provide such a clear-sighted assessment of the unusual way Linux development worked so early on in its life is the fact that nearly 20 years later, it remains largely true.

Linus *still* has no formal power, no mechanism whereby he can enforce his decisions about the kernel. It's still the case that the “only control” he has is that he knows the code “better than anybody else”, and that if he does “a bad job”, someone else can do it themselves – that is, fork the code.

Linux has avoided that fate because Linus has developed what amounts to a new way of managing large-scale projects involving huge numbers of geographically-dispersed contributors. Although the final decisions rest with him, he takes them in consultation with a wide range of coders. He is constantly involved in discussions on key mailing lists that allow important issues to be raised by anyone. Ultimately, then, he leads in part by being able to sense what the collective will of the Linux development community is on particular issues, and by not straying too far from it.

Now, there is only one Linus, but I believe that general approach is starting to move out into other spheres. In part, that's because adaptations of the open source development methodology – based on a modular, distributed, collaborative development model – are being applied in more and more fields, from content to science and even to government. That approach brings with it a need for a different kind of management: top-down just doesn't work in these circumstances. And so, as well as the novel business model that free software implies, discussed in my last column, it has also engendered a radically new way of running things.

Proof that this is not some abstract idea can be found, I think, in a rather unusual place: the world of microblogging. Although I've only been immersed in this culture for a year and a half, I've been amazed at how the dynamics I've described above seem to operate here too. For example, when I'm choosing whether or not to post something to my (synchronised) identi.ca and Twitter accounts, I'm always aware of the unseen community of my followers, of their opinions, knowledge and interests.

Ngay cả dù những người đã quyết định đi theo tôi, thì tôi cũng không cảm thấy tôi là “lãnh đạo” của họ theo bất kỳ nghĩa nào, hoặc rằng tôi có thể đưa tư liệu mà theo cách nào đó nằm ngoài những mong đợi của họ (hoặc, ít nhất, không quá xa, hoặc quá thường xuyên). Trong nhiều trường hợp tôi ở cái điểm của việc viết về thứ gì đó, chỉ để dừng lại và tự hỏi: liệu những người đi theo sau tôi họ nghĩ gì? Đôi lúc tôi đưa bài lên, nhưng trong những trường hợp khác tôi đã nghĩ rằng nó sẽ không thể “đúng” đối với họ, và đã xóa nó. Theo một nghĩa nào đó, thì những mẫu bài viết của tôi được kiểm soát - mặc dù có nét phảng phất - bởi sự hiện diện nền tảng lờ mờ của những cá nhân nằm rải rác khắp thế giới.

Lý do vì sao tôi không gửi lại sự mất quyền lực tò mò này là việc những người này là một ban lãnh đạo xung quanh tuyệt vời cho việc thửu nghiệm những ý tưởng đủ lông đủ cánh hoặc ngay cả chỉ bay như một con diều - việc thả sớm và đưa ra phiên bản thường xuyên. Phản hồi có xu hướng gần như ngay lập tức và bộc trực một cách tàn nhẫn - chỉ những gì tôi cần. Quả thực, tôi thấy những lần khi số lượng người đáng kể đi theo tôi không đồng ý với những gì tôi đã viết sẽ là có lợi nhất, vì sự phân kỳ đó về quan điểm gọi ý rằng mọi thứ là phức tạp hơn và phong phú hơn tôi tưởng.

Kết quả cuối cùng là việc tôi thường có khả năng hiểu những vấn đề phức tạp tốt hơn, và nhanh hơn, so với tôi có thẻ có mà không có được dạng bình luận và sửa lỗi này. Một cách hiệu quả, những lỗi trong “mã nguồn” tinh thần chạy trong não tôi được phân bổ và bị hạn chế nhờ sức mạnh tổng hợp của những con mắt của những người đi theo tôi được huấn luyện trên những khách hàng microblogging của họ.

Mối quan hệ đáng ngạc nhiên là trực tiếp, ngay cả thân thiết này với hàng ngàn người, hầu hết trong số họ tôi chưa bao giờ gặp, là khá bối rối, nhưng cũng thú vị lạ lùng. Có lẽ vì chúng ta có ít những thứ sống còn gần gũi nhất sẽ cho ta cảm giác nó sẽ giống như việc quản lý của Linus - và đang được quản lý bởi - dự án lạ thường mà nó là Linux.

Even though people have kindly decided to follow me, I don't feel that I'm their “leader” in any sense, or that I can post material that somehow lies outside their expectations (or, at least, not too far, or too often). On numerous occasions I have been on the point of writing about something, only to stop and ask myself: but what will my followers think? Sometimes I do post, but on other occasions I have thought that it wouldn't be “right” for them, and deleted it. In a sense, my posting patterns are controlled – however subtly – by that looming background presence of individuals scattered around the world.

The reason why I don't resent this curious loss of power is that these people are a wonderful sounding-board for trying out fully-fledged ideas or even just flying a kite - releasing early and releasing often. The feedback tends to be near-instantaneous and brutally frank – just what I need. Indeed, I find the times when significant numbers of people following me disagree with what I have written to be the most fruitful, since that divergence of views suggests that things are more complex and richer than I thought.

The end-result is that I am often able to understand complex issues better, and more quickly, than I would have without this kind of commentary and correction. Effectively, bugs in the mental “code” running in my brain are located and eliminated thanks to the collective power of my followers' eyeballs trained on their microblogging clients.

This surprisingly direct, even intimate, relationship with thousands of people, most of whom I have never met, is slightly disconcerting, but also strangely exciting. It is perhaps the closest we lesser mortals will get to feeling what it's like to be Linus managing – and being managed by – the extraordinary project that is Linux.

Dịch tài liệu: Lê Trung Nghĩa

letrungnghia.foss@gmail.com

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.