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.