Chủ Nhật, 20 tháng 10, 2013

Richard Stallman nói về tinh thần của các cao thủ ở MIT


Richard Stallman on the Hacker Spirit at MIT
By Glyn Moody, Published 17:04, 30 September 13
Bài được đưa lên Internet ngày: 30/09/2013
Lời người dịch: Chuyện kể của Richard Stallman cho thấy những năm 1970 các cao thủ ở MIT đã từng có những cách nhìn rất khác về thế giới điện toán. Nhiều người trong số họ viết chương trình một cách đầy cảm hứng, kể cả những câu chuyện gián điệp lẫn nhau giữa các cao thủ viết các chương trình đó. Nó rất khác với những cách thức gián điệp ngày nay. Điều thú vị, nó kể lại lịch sử tiến hóa của máy tính và việc lập trình vào thời kỳ đó.
Tuần trước tôi đã lưu ý rằng dự án GNU đã và đang kỷ niệm 30 năm của nó. Tôi nghĩ có thể là thú vị để nghe những gì Richard Stallman đã phải nói về môi trường trong đó ông đã đi tới ý tưởng về GNU. Những gì tiếp theo là một phần của một cuộc phỏng vấn dài mà tôi đã tiến hành với ông vào năm 1999, khi tôi từng triển khai nghiên cứu về “Mã Nổi loạn” ("Rebel Code"). Hầu hết điều này đã không được xuất bản, và đưa ra những gì tôi hy vọng là một số sự hiểu thấu đáo trong văn hóa của các cao thủ ở MIT, nơi mà Stallman từng làm việc.
Vai trò của ông từng là để bổ sung cho các khả năng vào hệ điều hành cho máy tính siêu nhỏ Digital PDP-10 của Phòng thí nghiệm Trí tuệ Nhân tạo. Phần mềm từng được gọi là ITS - hệ thống Chia sẻ Thời gian Không tương thích - một sự đào sâu để thấy rõ bản chất sớm trong hệ thống Chia sẻ Thời gian Tương thích, CTSS, nó từng được sử dụng để phát triển Multics, tổ tiên của Unix.
Một trong những chương trình quan trọng nhất mà ông đã viết khi đó là trình soạn thảo Emacs. Phiên bản đầu tiên từng được viết vào năm 1975, và ban đầu chỉ được sử dụng ở MIT. Sau đó, nó đã bắt đầu lan truyền ra ngoài xa hơn, và sau đó Stallman đã bắt đầu nghĩ sâu hơn về tầm quan trọng của việc chia sẻ.
Từng có một qui tắc chung để định hình mọi thứ (tại MIT) nhưng tôi đã làm cho nó thành một nguyên tắc rõ ràng hơn những người khác đã làm. Bạn thấy đấy, tôi đã thích thú rằng thực tiễn chung và suy nghĩ về nó và nói: 'Đây là cách đúng'. Tôi từng nói về việc gửi các bản sao [của Emacs] cho mọi người mà từng không phải là một phần của cộng đồng chúng tôi và đã không có kinh nghiệm hoàn toàn về nó, và vì thế tôi đã không chắc rằng họ có thể muốn chia sẻ, nên tôi nói rằng điều này từng là cách mà chúng tôi nên làm mọi thứ.
Có những khía cạnh khác theo cách sống của chúng tôi mà những người khác trong các cao thủ các thế hệ trước nghĩ về mà tôi đã thấy truyền cảm hứng. Ví dụ, thay vì cố gắng làm việc với vấn đề về những người gây ra lo lắng trong máy tính thông qua an ninh, các cao thủ già hơn đã có một ý tưởng rất khác, nó từng là những người hiểu biết công nghệ để cảm thấy ý nghĩa về trách nhiệm.
Họ đã so sánh cách không bình thường của việc chạy một hệ điều hành máy tính được chia sẻ nơi mà chắc chắn có những người mà được ưu tiên và họ có sức mạnh đối với những gì những người khác có thể làm, và không ai khác, và họ kiểm soát những gì bạn có thể làm trong máy tính và bạn phải không cầu tới chống lại họ. Điều này từng được gọi là chủ nghĩa phát xít - đây là những gì mà tất cả các cao thủ đã gọi nó. Và vì họ đã không muốn nằm dưới một hệ thống của những người phát xít, họ đã quyết định triển khai hệ thống Chia sẻ Thời gian Không tương thích với không có an ninh. Họ đã cảm thấy rằng nếu họ đã triển khai an ninh thì họ có thể trao cho những người quản trị một công cụ để kiểm soát họ. Vì thế thay vì sử dụng an ninh để dừng mọi người bằng vũ lực khỏi làm những điều chống lại xã hội như việc làm hongr máy tính; họ đã sử dụng các kiểm soát xã hội.
Vì thế ví dụ đã có một lệnh mà bạn có thể gõ mà có thể gây ra cho hệ thống bị tắt trong 5 phút. Và không ai có thể làm điều này - đã không có quyền ưu tiên mà bạn đã phải có: bạn phải chạy chương trình khóa, và sau đó gõ '5 kill' (5 lần giết). Và điều đó đã nói: 'Bạn có thực sự muốn hệ thống bị tắt không?' Bạn có thể muốn gõ 'Có', và sau đó nó có thể nói: 'Xin gõ vào một thông điệp để gửi tới những người sử dụng khác', và có thể gõ vào một thông điệp. Và điều đó có thể là lịch cho một sự tắt máy. Và bạn có thể thấy: 'Hệ thống sẽ tắt trong 5 phút, sự tắt được chỉ định theo như thế'.
Trong khi tôi từng ở đó, một lệnh khác đã được bổ sung để hoãn một sự tắt máy. Nên nếu ai đó từng không định tắt máy đã làm thế vì lý do không tốt, thì ai đó khác có thể hoãn được nó, giả thiết là từng có ai đó khác đã đăng nhập vào. Nếu không ai từng đăng nhập vào, thì sự tắt máy có thể xảy ra. Nhưng một khi chúng ta đã có mạng Net, thường đã có ai đó đã đăng nhập vào từ đâu đó mà có thể hoãn được sự tắt máy nếu nó không vì lý do tốt. Mọi người từ đâu đó mà từng có mạng Arpanet có thể đăng nhập vào các máy tính của chúng tôi - chúng tôi đã không có các mật khẩu.
Bây giờ là năm đầu tiên hoặc tương tự đối với Arpanet, mọi người đã có các tài khoản khách (guest), họ đã nói: 'Bất kỳ ai, chỉ đăng nhập vào máy tính của chúng tôi'. Rồi thì ngay khi cách cư xử xấu nhỏ nhất đã xảy ra, ai đó khác nữa đã trả lời bằng việc tắt các tài khoản khách. Chúng tôi đã không làm. Và chúng tôi cứ đi như vậy năm này qua năm khác để bất kỳ ai đăng nhập vào trong khi ai đó khác vào cuối những năm 70 từng nói: 'Arpanet bây giờ quá lớn, bạn không thể làm thế được nữa' - chúng tôi vẫn giữ làm thế.
Chúng tôi đã có một chương trình thú vị gọi là Output Spy (Gián điệp Đầu ra) mà có thể để cho bạn theo dõi đầu ra của bất kỳ ai khác. Bây giờ nếu chỉ có ít người từng làm được điều này, thì có thể là chuyên chế. Nhưng khi bất kỳ ai cũng có thể làm điều này đối với bất kỳ ai đó khác thì điều đó là bình đẳng như nhau.
Và điều thú vị đã xảy ra rằng những người đi du lịch [những người từ bên ngoài MIT, truy cập thông qua Arpanet] đã thích chạy chương trình này. Chúng tôi các cao thủ của phòng thí nghiệm đã có công việc phải làm, chúng tôi có thể thấy nó chán việc cứ gián điệp những người khác ngoại trừ một trường hợp đặc biệt không bình thường - bạn biết đấy, nếu bạn định chơi khăm ai đó. Nhưng thường thì chúng tôi sẽ không làm điều đó, vì chúng tôi đã có những thứ khác để lôi cuốn chúng tôi.
Nhưng nhiều người du lịch gián điệp những người khác gây lôi cuốn. Đặc biệt việc gián điệp những người du lịch khác. Bạn thấy đấy, bất kỳ người du lịch nào mà cư xử không đúng từng bị những người du lịch khác tóm. Và bất kỳ ai mà từng định phá máy làm cho những người du lịch đó khá cáu giận vì họ đã đánh giá cao việc sử dụng máy đó, họ đã không muốn nó bị tắt. Nếu máy bị tắt thì bạn không thể có bất kỳ sự vui vẻ nào với nó cả. Vì thế những người du lịch đã sử dụng sự kiểm soát xã hội lẫn nhau để xử lý hệ thống với sự tôn trọng.
[Gián điệp đầu ra] từng là một cách tốt lành để học. Bạn có thể học được về những lệnh khác mà bạn có thể làm. Không chỉ thế, mà bạn còn gửi cho ai đó một thông điệp nói rằng: 'Bạn biết đấy, cách tốt nhất để làm những gì bạn muốn làm là gõ điều này'. Từng có nhiều trò vui để làm điều đó, đặc biệt khi tính năng từng mới được triển khai.
Chúng tôi đã có nhiều cách để tìm ra cách mà những người sử dụng đã sử dụng hệ thống. Bạn có thể chỉ dõi theo họ, bạn đang nói cho ai đó trong khi anh ta đang gõ và bạn có thể thấy những gì anh ta làm. Và đôi khi tôi có thể yêu cầu mọi người một câu hỏi - bạn biết đấy, tôi đang nghĩ về việc làm cho điều này thay đổi, và những gì mọi người nghĩ, thứ nào có thể là hữu dụng hơn? Và vì sao? Bạn không chỉ muốn tính số người thích và số người không thích, mà những gì bạn muốn để hiểu vì sao một số người thích nó, và vì sao một số người không thích nó, vì một nhóm có thể có một lý do quan trọng, còn đối với những nhóm khác thì có thể chỉ là một sự tiện lợi bé xíu. Vì thế từng có nhiều cách thức để học về cách mà mọi người đã sử dụng hệ thống; tính năng gián điệp từng hữu dụng hơn đối với việc chơi trò chơi với mọi người.
Đó là tinh thần của các cao thủ, bạn biết đấy, chúng tôi đã vui vẻ viết các chương trình, chúng tôi đã chơi vui vẻ độc nhập vào lẫn của nhau.
Trong bài tiếp theo của tôi, tôi sẽ đưa ra mô tả của riêng Stallman về các sự kiện kịch tính mà đã dẫn tới quyết định của ông bắt đầu dự án GNU.
Last week I noted that the GNU project was celebrating its 30th anniversary. I thought it might be interesting to hear what Richard Stallman had to say about the environment in which he came up with the idea for GNU. What follows is part of a long interview I conducted with him in 1999, when I was carrying out research for "Rebel Code". Most of this is unpublished, and offers what I hope is some insights into the hacker culture at MIT, where Stallman was working.
His role there was to add capabilities to the operating system for the AI Lab's Digital PDP-10 minicomputer. The software was called ITS, the Incompatible Time-Sharing system - a conscious dig at the earlier Compatible Time-Sharing system, CTSS, which had been used to develop Multics, the progenitor of Unix.
One of the most important programs he wrote at this time was the editor Emacs. The first version was written in 1975, and originally only used at MIT. Later, it started to spread further afield, and it was then that Stallman started to think more deeply about the importance of sharing.
It was a general rule to share things [at MIT], but I made it more of an explicit principle than most people did. You see, I had absorbed that general practice and thought about it and said: 'This is the right way.' I was talking about sending copies [of Emacs] to people who were not part of our community and didn't have the experience of it at all, and so I didn't take for granted that they would want to share, so I said that this was how we should do things.
There are other aspects of our way of life that other people there in earlier generations of hackers thought about that I found inspiring. For example, instead of trying to deal with the issue of people causing trouble on the computer through security, the older hackers had had a very different idea, which was teach people to feel a sense of responsibility.
They had compared the usual way of running a shared computer system where there are certain people who are privileged and they have power over what other people can do, and nobody else, and they control what you can do on the computer and you have no recourse against them. This was called fascism - this was what all the hackers called it. And because they didn't want to be under a fascist system, they had decided to implement the Incompatible Time Sharing system with no security. They felt that if they implemented security they would giving the administrators a tool to control them with. So instead of using security to forcible stop people from doing anti-social things such as crashing the computer, they used social controls.
So for example there was a command you could type that would cause the system to shutdown in five minutes. And anybody could do this - there was no privilege you had to have: you have to run the lock program, and then you type '5 kill'. And it said: 'Do you really want the system to go down?' You'd type 'Yes', and then it would say: 'Please type in a message to send to the other users', and you'd type in a message. And that would schedule a shutdown. And you'd see: 'System going down in 5 minutes, shutdown specified by so-and-so'.
While I was there, another command was added to cancel a shutdown. So if somebody who wasn't supposed to bring about a shutdown did so for no good reason, somebody else would cancel it, assuming that there was somebody else logged in. If nobody was logged in, then the shutdown might happen. But once we had the Net, there was typically somebody logged in from somewhere who would cancel the shutdown if it wasn't for any good reason. People from anywhere that there was the Arpanet could log in on our computers - we didn't have passwords.
Now for a first year or so of the Arpanet everybody had guest accounts, they'd say: 'Anybody, just come log in on our computer'. Then as soon as the slightest misbehaviour occurred, everybody else responded by shutting off the guest accounts. We didn't. And we went on for years and years letting anybody log in while everyone else in the late 70s was saying: 'the Arpanet is too big now, you can't do that any more' - we just kept doing it.
We had an interesting program called Output Spy that would let you watch anybody else's output. Now if there were just a few people that could do this, it would be tyrannical. But when anybody can do this to anybody else, it's an equaliser.
And the interesting thing happened that tourists [those from outside MIT, accessing via Arpanet] loved to run this program. We hackers of the lab had work to do, we would have found it boring to just keep spying on other people except on a special unusual occasion - you know, if you were going to play a joke on somebody. But normally we wouldn't do that, because we had other things to interest us.
But lots of tourists found spying on other people fascinating. Especially spying on other tourists. You see, any tourist who was misbehaving was caught by the other tourists. And anybody who was going to crash the machine made the tourists pretty angry because they appreciated using the machine, they didn't want it to be down. If the computer's down you can't have any fun with it. So the tourists exerted social control on each other to treat the system with respect.
[Output Spy] was a good way of learning. You could learn about other commands you could do. Not only that, but you send somebody a message saying: 'You know, the best way to do what you just wanted to do is to type this.' It was so much fun to do that, especially when the feature was newly implemented.
We had plenty of ways of finding out how users used the system. You can just watch them, you're talking to somebody while he's typing and you can see what he does. And sometimes I would ask people a question - you know, I'm thinking about making this change, and what do people think, which would be more useful? And why? You don't just want to count up the number who like and the number who don't, but what you want to understand why some people like it, and why some people don't, because one group might have an important reason, and for the others it might just be a tiny convenience. So there were lots of ways to learn about how people used the system; the spying feature was much more useful for playing jokes on people.
That's the hacker spirit, you know, we had fun writing programs, we had fun playing hacks on each other.
In my next column, I'll give Stallman's own description of the dramatic events that led up to his decision to start the GNU project.
Dịch: Lê Trung Nghĩa

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.