The Cathedral and the Bazaar
by Eric S. Raymond
$Date: 1998/08/11 20:27:29 $
��� ���� ���� ��� ��������� project ������ ����� (open
source), �� fechmail. ��� ���� �� ������ �� ��� ��� ���������
���� ������ ���������� ����� �� �� ��� ��������� ���������
(software engineering) ��� ����������� �� ��� ������� �� Linux.
������������ ���� ��� ������ �� ��� ���� �� ���������
���������� ��� ��������, �� �������� ������� (cathedral)
����������� �� �� ��������� ������� �� �������� ���� ��������
�� ���������� ������� (bazaar) �� ���� �� Linux. ���� ���
��� �� ������� ����������� �� ��������� ��������� ��� ��� ����
��� ����������� ������������ ���������. ���� ������ �������
��� ������������ ��������� �� ��� �������� �� Linux ��� ���
������ "������ ������ �����, ��� �� bugs ����� ���", �������
���������� ��������� �� ���� ��-��������� �������� ��
��������� ���������� ��� ����� �� ��������� �� ������� ����
��� ������� ��� �� ������ �� ���������.
______________________________________________________________________
Table of Contents
1. � ��������� ��� �� ������.
2. �� ����� ������ �� �������.
3. � ���������� �� �� ����� �������.
4. ������� ����, ������� ����.
5. ���� ��� ����������� ��� ����� �����������?
6. � Popclient ������� Fetchmail.
7. �� Fetchmail ������������.
8. ������ ���� �������� ��� �� Fetchmail.
9. ����������� ��� �� ��� �������.
10. �� ������� ������� �� ��������� ������ �����.
11. ����������.
12. ��� �������� ������.
13. ��������: � Netscape ���������� �� ������!
______________________________________________________________________
1. � ��������� ��� �� ������.
�� Linux ����� ����������. ����� �� �������, ���� ��� ���� ��
����� ����� , ��� ��� ��������� ������ ��������� ��������� ��
��������, ��� �� ������, �� ��������� hacking �� ������ ��������
��������������� ������������ �' ��� ��� �������, ������� ��� �� ��
������ ������ �� Internet;
������, ������. ��� ��� �� ������� ��� �� Linux ���� ���� �� 1993,
��������� ��� �� �� Unix ��� ��� ������������� ������ �����
[open source]��� ���� �����. ���� �� ��� ����� ���������� ���
GNU ��� ���� ��� ��������� �� '80. ��� ����������� ��� ��������
���� ������ ����� ��������� ������ ����� ��� �����,
������������ � �������������� ����� ����������� (nethack, Emacs VC
��� GUD modes, xlife ��� ����) �� ��������� �� ����� ����� ��
������. ����� �� ����� �� ���� ����� ��' ���.
�� Linux ������� ����� ��' ��� �� ����� ��� �����. ���������� ��
"��������" �� ����� �������� �� Unix, ��� ������� �������
������� ��� ��� ��������� ������������� [evolutionary
programming] ��� �����. ������, ���, ��� ������ ���
����������� ������� ����������� ��� �� ��� ����� ���������� ���
���������� ��������, ������ ����������. ������ ��� �� ���
�������� �������� (���������� �������� ��� ���������� ������
�������� ��� �� Emacs) ������ �� ������� ��� ���������� ����,
��������� ���������� �� ���������� ������� [wizards] � ������
������ �� "�����" [mages] �� �� ������ �� ����� �������,
����� �� ������������ �� beta ���� ��� ��� ���.
�� ��� �������������� �� Linus Torvalds- ������ ��� ��� �����
���������� ������� ���������, ������������ �� ���� ��, ���� ���
������ ��� ���������� ������� ��������� - ���� �������. ��� �������
�� ��������� �������� �� - � �������� �� Linux �������
���������� �� ��� ������ ����� ������ ���������� �������� ���
����������� (�� ������������ �� ���������� [sites] ��������� ���
Linux, ��� ����� ������ �� ��������� � �������) �� �� ����� ���
������ ��� ������ ������ ������� �� ������� ��� ���� �� ���
�������� ������.
�� ������ ��� �� �� ������ ������ �� ������ ��� �� ������
����, ���� ��� �������� ���. ���� � ����� ������� �� �� �������,
����� ������ ��� ��� �� ����������� projects, ���� ���
����������� �� ������� ����� � ����� �� Linux ��� ��� ��� �����
�� ���� ���� ������ �� ������� ����, �� ��� ������ �� ���
��� ����������� �� ����������� ��������� ���.
��� ���� �� 1996 ����� �� ����������. �� ����� � ������� ��
������� ��� ����� �� �� ��� ���� ��� project ������ ����� ��
�� ���������� �� ��� �� ��������� �� �� ��� �� �������. ���� ��
����� - ��� � ������ ���� ������.
��� ������� ����� ��� �� ����� �� ����� ��� ������� ��� ��
project ��� �� �� ������������ ��� �� ������� ������� ������ ��� ���
�������������� ������� ����������� ������ �����. ����� �� ���
��� �� ��������� ���� �� �� ���� �� Linux, ���� �� ���� �� ���
��� ����� ��� ��������� ����. �� ����� ���� ���� ����� ��, ��
��� �������� �� ���������� �� ������ ����� �� �� ����� ���
�������� �� Linux ��� ���� ��� ���� ���������-��� �� ��� ��������
�� ������� ��� ����� �� ����� ��� ����������._
2. �� ����� ������ �� �������.
�� �� 1993 �� ��� ���� ��� ������� ������ ��� ����� ������
�������� ��������, �� ���������� Chester County InterLink (CCIL)
��� ���� ������� ��� ���������� (����� �������� �� CCIL ���
���������� �� ��� ��� ������� ��������� bulletin-board software
--�������� �� �� ����� �������� telnet ��� locke.ccil.org
<telnet://locke.ccil.org>. ������ ����������� ���� ����� ��������
������� �� ������� �������). ���� � ������ �� �������� �������
������� ��� ����� ��� 24��� ����� ��� ��� 56� ������� �� CCIL.
in fact, it practically demanded it!
�������, ���� ��������� ���� ����� �� ����� �����������
���������. ��� ������� ���������� ���� ���� ������ �� �����
�� SLIP ��� ���������� �� �� ��� ����� �� (snark.thyrsus.com) ���
��� CCIL. ����, ������ ,�� ������� ������� ��� ������ ��
�������� (telnet) ��������� ���� "locke" ��� �� ���������� ���
����������� ��. ��� �� ����� ��� ��� ����������� �� ���� ��
����������� ���� snark ���� ���� �� ���� �� ���������� ���� ������
��� �� ���� �� ��� ������� �������������� ��� �� ������ ��������
��.
� ���� ������� ������� �� �� sendmail ��� �����, ������ �
�������� ����������� �� ��� ����� ���� ��� ����� ��� ��� ���
������� ������� IP. ���� �� ����� ���� ��� �������� �� ��
������� ��� ����� ��� �� ��� SLIP ������ �� ��� �� ������� ���
����������� �� �� ��� ������� ������. ����� ��� ������ �����������
������ ��� ��� �� ���������� �������������� ��� ��� �������� ��
������� ���(Post Office Protocol). ��� ���� ������ ������� ���
����� ���� ���3 ������ �� ���������������� ��� BSD/OS ���������
�� �������� ���� "locke".
��������� ���� ���3 client. ����, �������� ��� ����� ��� �����
����. ���� ������������� ����� ����� ��������. ������������� pop-perl
��� ����, ���� ������� ��� ��������� ��������, � �������� ��
������������� �� ��������� �� �������������� ������� ���� �
�������� ��������� [reply] �� ������ ����.
��� �� �������: �������� ��� ������� �� ������� "joe" ���� "locke"
�� ������� ��� ����� [mail] �� ������� �� ����� ���� snark ���
���� �������� �� �������, �� �������� ����������� ���������
�� ����������� �� �� ������� �' ���� "joe" �� ��� ������ ���� snark.
� ������� ���������� �� �� ���� �� �������� ���� �������� [Reply
addresses] ���� "@ccil.org" ������� ���������� ��� ������.
���� ���� �� � ����������� ������ ��������� �� ����� ��� ����.
�������, ���, �� ��� ��������� ��� clients ��� ����� ��! ��
������� ��� ���� ��� ������:
1) ���� ���� ������ ���� ���� �� �������� ������ �� ���
�������� ������ �� ��������������.
��� �� �� ������ �� ����� �������� (�� ����� ��� ������, "�
������ ����� � ������ ��� �������") ����, ��� ���, ��
��������������� ������ ��� ����� ��� ���������� ��� ���
���������� ���������� �������� �� ��� ����������� ��� ���
���������. ���, ���, ��� ���� ���� �� Linux--������ �� ������
����� � ���� ������� �� ��������� ��� Linux ����� ��� �����.
�� ��������, �����; ��� ������ ���� ���� ��� ������������ ���
������������ ���3 client ��� �� ����������� ��� ���������; ��
������ ���� ����! ����� ��� ���������� ����� ��� ��� utilities ��
��� ��� ����� ��, ��� ���������� "��� ��' ��� ����� ����������� ��
�� �� ���;".
2) �� ����� ��������������� ����� �� �� �����. �� ��������
����� �� �� ��������� (��� �� �����������������).
�� ��� ��� ��������� ��� ����� �������� ���������������, ����������
�� ����� �������. ��� �������� ������� �� �������
�������������� ����� � ������� ��� ��������. ����� ��� ����������
��� �������� ��� ��� �� ������� �� ������� ��� ��� ��� ���� ��� ��
��� ������ ������������ ��� ��� ����� ���� ����� �������� ��
������� �� ��� ������ ��� �� �� �� ������� �� �� �����.
� Linus Torvalds <
http://www.earthspace.net/~esr/faqs/linus>, ���
����������, ��� ����� �� Linux ��' ��� ���. �������� ,�������� ��
��������������� ����� ��� ����� ��' �� Minix, ��� ���� Unix-����
��������� ��� ������ 386. ������, � ������ Minix ������������ �
����������� ������--���, ���, ���� ���� ���������� ��� � �����
��� �� ����� ��, ������, ����� �� Linux.
��� ���� �����, ����� �� ��� ��� ��� ��� utility �� �� ��� ���
�����, ��� �� �� ���������� ��� ���� ��������������.
� �������� ������� ����� �� Unix ���� ����� ������ ���� ���
����������������� ����� (��' �� ��� ��� �� GNU project ������� ��
Unix ��� ����� ���������, ���� ��� ������� ������� ��������� ���
�� ���� �� ���������). � �������� �� Linux ����� ��� ���
�������� ���� ��� ���������� ��� ����. �������� �� ���� terabytes
������� �����. ����, �� �� �������� ���� ���� ��� �� ����� ���
��������� ������� ������ ���� ����� ���������� ����� �� ����
������ ������������ ���� ���� �� Linux, ���� ��������� ����.
���� ����� ��� ���� ���� �� ��������. ���� �� ��� �� �����
�������, � ������ ����� �� �������� �' ��� ����� �����
������--�� fetchpop, �� PopTart, �� get-mail, �� gwpop, �� pop-
perl, �� pimp, �� popc, �� popmail ��� �� upop. ��� �� �����������
���� ���� �� 'fetchpop' �� Seung-Hong Oh. ����� �� �������������
header rewrite �' �� �� ����� ��� ������� ����� ��������� ���
������ � �������� �� ����������� ���� ������ 1.9.
����� �������� �������, ���, ������ ���� ����� �� 'popclient'
�� Carl Harris ��� ������� ��� ��� �������. �� ��� �� 'fetchpop'
��� ������� ����� ����� ���� ����� �� (��� ��� ��������� ��
��������� daemon), ������� �� ����������� ��� ���3 ��� ����
����������� ������������� (� Seung-Hong Oh ���� ���� ������ ����
������� ��������������� ��� �� �� ��� �������������� ��
���������� ��� �������� ��). � ������ �� Carl ���� ��������,
������� ������������� ��� �������, ���� �� �� �������� �� �������
����� ��������� ��� ������ ������ ���� ��������� ��� ��������������
�� ��� ��� �� fetchpop (����������������� �� ��� ��
����������� ��).
�� �� ������� � �� �������; �� �� ��������, �� ������ �� ����� ���
����� �� ��x� ��� ������� �� ���������� ���� ��������
����������������� �����.
��� ������� ������� ��� �� �� ������� ���� � ������� �����������
�������� ��������. �� �� �������� �� ������������ ��
��������������� ��������� �� ���3 ���� �� ��� ����, ���� ��� ��
�������. �� fetchpop ��� �� ����� ����������� �� ��� �����������
���2, RPOP � APOP ��� �������, ���, �� ������� IMAP (�nternet
Message Access Protocol, �� ��� �������� ��� ��� ��� ��������
���������) IMAP <
http://www.imap.org>, ��� ��� ��� ��� ���
��������� ��.
���, ��� ���� ��� ������� ��� ��� �� ����� ���, �� �� ��
������� �� ���� ���� ����, ���� �� ����� ��� ���� �� Linux.
3)"��������� �� ��������� ������ ��������; �� �� ������, ��� �
����". (Fred Books, "The Mythical Man-Month", chapter 11)
�, ��� �� �� � �����, ����� ��� ������������� �� ������� ���� ��
������ �� ��������� ��� ���. ��� ������ ���� ��� ������
���������� ��� �� ������� �������. ����, �� ������ �� �����
����, �������� �� ������� ��' ��� ��� ��������� ��� ����.
����� (���� ���� ��� ��) �� ������� �� ����� ��� fetchpop ���� �
���� ����������. ����, �� ��������.
���� ��� �������� �� ���� ���� ��������� ������ ����� ��� ��
popclient [popclient paches] �� ������� ���� Carl Harris ���� 25
����� 1996, ������� ��� ��x� ����� �� ��������� �� ��� ��
popclient ���� ���� ����. � ������ ���� ���� �������, �� �����
bugs �� �� ����. ��� ������ ������� �� ��� ��� �������� ������� ���
��� �� ��� ����� ������ �� ������ �� ��� ���� �� ������ ��
��������.
���� ����� �� �� ������, �� project ����������. ��� ��
����������� ���� �� �������� ��������� ������ [patches] ��� ���
��������� ��� clients. �������� �� ���� ��� �' ���� ��' ����
��� �� ����� ����������� ���� ��� ��� �� ��� ����� ���, ������,
�� �������� �� ������� �������.
�� ��� ������� ��������� �� ��������� ��� �� ����� �����������
[code-sharing], ��� ����� ���� ������ ����� �������� ���
�����. �������� �� ����:
4) �� � ��������� �� ����� ����, �� ���������� �����������
����������.
� ��������� �� Carl Harris, ���, ���� ���� ��� ���������.
���������� ���
5) ���� ��� �������� ���� �� �' ���������, �� �������� �� �������
����� �� �� ��������� �' ���� ���� ������.
���� ���� �� ��������� �� �� ���������, � Carl �� �� ������ ���
����� ��� ���� ��� �� ����� ��� �������� �����. �� ���
������ ��� �� ��, ���� �� ���� ���������� ��' ��� ��� ������.
��� ���� �� �� ������ ��� ����, ��������� ���������. ������ ��
�������� �� �� ����, ���� �� ����� � ����� ��._
3.
� ���������� �� �� ����� �������.
����, ���������� �� popclient. �� ���� �������� ���� ���
���������� ��� ��� ������� ��. ����� ��� ��� �� ���� ������� ��
��� ��� ������ ������ �� ����������� ��� ������ ���, � ��� ������
���� ���. �� ������������� ���������, ������ �� �����
��������� ���� ������� ��� ��������.
��� ���� ����� ��� ��������� �� Unix, �� �� Linux ���� ��� ����
���, ����� ��� ������ ������� ����� ������ ��� hackers. ������ �
������� ������ ����� ��������, ������ �� ����� ���������������
hackers. ���� ������ ������ �� ��������� ���������� ������� ��� ���
����� �� ���� ������������ [debugging]. �� ���� ���������, ��
������� ��� �� �������� ����������, �� ��������� ��������� ��� ��
�������� ���� ������� �� �����, ��� ��� ������� �� �� �� ��
������ ���� ��� ����� �������.
6) � ����������� �� ������ ��� ��������� ��������������� ����� �
������� ���������� ����� ���� ��� ������� ������� �� ����� ���
��� �������������� �����������.
� ����� ���� ��� ����� ����� ������ �� ������������. ����
�������������, ������ �� ���� ���� ���� �� ������ �����
����������� �� �������� ���� �� ��� ������� �� ���������� ��
����� ������ �� ������� ���� ����������� �� ��������, ����
��� � Linus Torvalds ��� ������ ��� �� �������� ������ �� ����� ���
����������.
����� ��� �� ��� ����� ��� ������������� ������� [hack] ��
Linus, ��� ���� � �������� �� ���� �� ����� �� Linux ����,
������, � ������ �� ������� �������� Linux. ����, ������� ��,
������� ��� ��� ���� ������� ���������� ��� ������ ��������� ����
�� ��� �����: "������, ����� ��� �������� ������� �� �� ������
�� �� ���������� �������� �� ����� ������� ������". �������� ���
�����. �, ��� �� ����� � Robert Heinlein, ��� �������� ��� ��
������.
�� �� ������, ��� ���������� ��� ����� �� ������� �� Linux
������ �� ������� � ������� ��� ����������� GNU Emacs Lisp ��� ��
����� ����� Lisp [Lisp code archives]. �� �������� �� ��
��������-���������� ��� �� C ����� �� Emacs ��� ��
���������� ������� �������� FSF, � ������� �� ����� ��� Lisp
���� ����� ��� ���������� �� ��� �������. ������� ����� ���
���������� ������� ��� ������������ ����� � �������� ����� ����
��������� �� ��� ������� ����. ��� �� ������� ����������, ��� ��
Internet, ��� Linux, ���� ����.
����������, �� ��� ������ ������� ������� ��, ���� �� ��
fetchmail, ���� ��� �� Emacs VC mode, ��� Linux-���� ���������
��� ����������� ��������� ���� ������, �� �� ����� ��� ����
(��� Richard Stallman, ��� ����������� �� Emacs ��� ����� �� FSF
<
http://www.fsf.org>) ������ �� ������ �� ����. ���� ��� ���������
front-end ��� SCCS, RCS ���, �������, CVS ���� �� �� Emacs, ��
�������� ��������� ����� ������� "�� ��� �������" ["one-touch"].
��������� �� ��� �����, ���� ��������� sccs.el, �� ��� �����
������� �����. ��� � ������� �� VC ����, ������, �������� �� ��
���� �� Emacs, � ������ �� Emacs Lisp ������� �� ������� �������
���� �� ����������� ������� / ������� / ��������.
��� ���������, ������� ���������� ��� ��������� �� FSF ��� �����
������ ����� ���� ��� GPL ���� ���, ������ ������������ ��� ��� ���
������ ��� ��� FSF �� �������������� ��� ������ / ����������
���������, �� �� ������� ��� FSF ������� ��� ������ �� ���������
copyright �������� ��� ���� ������� ������� ���������� �� ������
������ �����, ���� �� ���������� ��� ����� GPL �� ��� ����
��� �� copyright. ���� ������� ��������� ��������� ��������������
��� ������ �� ��������� BSD ��� MIT X ��� ��� ������ ����������.
��� ��������� �� ���������� ���������, �� � ������� �� �������
�� ��� ������� �� ����������.
4. ������� ����, ������� ����.
�� ������ ��� ��� ����� ������� ���������� ������� ����� �������
����� �� ������� �������� �� Linux. �� �����������
��������������� (���������������� ��� �����) ������� ��� ��
����� ��� ���� �������� ��� ��������� �� �� ���������� projects,
������ �� ������ ������� ����� ���� �� ������ ������� bugs ���
�� ��� �� ��� �������� ����� �� ��������� ��� ������� �� ������
��.
���� � ���� ����� ��� ������ ������ ��� "���������" �����
��������. �� � ����� ���� ����� �� ������� �� ������� ��� ��
����� ������� bugs, ��� ����� �� �������� ��� ���� ���� ��� �����
(� ��� ������� ���) ��� ���� �� ������� ������ (like a dog) ���
�� ���������� ��' �� bugs; � ������ �� Emacs C �������� �' ��
��� ����. �� ��������, � ���������� Lisp ���, �� ����� ������
������ ������ ����� Lisp �� ��' ��� ����� �� FSF, ��� �����
������� ������ �� ��������� ��� �� ���� ���� ������� �� �����,
���������� ��' ��� ����� ������ �� Emacs.
� ��� ��������� ��' ���� ��� ����������, � elisp �� ����,
��������� �� ����� ��� ����� ��' �� �������������� �� ��������
������ ��������� �� Linux. ���� ����� �� ��� ���������
���������� ��� ��� �� �� ������, � ��� �� �� ������� � ������ ���
�� ��������� ��� �� ������� �� "���������" ������� ��������
�� FSF. ����� ��� ������ ���������� �� ��� 1992 �� ���������
������ ����� �� ����� �� ���� ���� ������� ���������� �� Emacs
Lisp. ����� �� ��������� �������� ��� � ������ �� ���� ������.
���, ��� ���� ����, ���� �� Linux ������ ������ ����, �����
�������� ��� ���� ��������� ��� ��������� ��������. �� �����
������� �������� �� Linus ���� �� ���� �������� �� "���������"
�������. ������ ��� ������� ��� �� ���������� sunsite ��� tsx-11
���� ��� ��������� ��������. �� ��' ��� ��������� �� ���
��������� ������ ������ �� ����� �� ���������.
� Linus ����������� ��� ������� �� ��� ��-��������������� �� ���
������� ���� ����:
7.������� ����, ������� ��� ��� ��� ��� ������� ��.
� ���������� �� Linus ��� ���� ��� �� (���� ������ �������� ���
��� ���� ���� ���� �� Unix), ���� � �������� �� �� ���� ��
�������� ��� ������������ ��� ���� ������� ��������. ������ ��
������ (���� �� 1992) ��� �� ���� ������ � ������� �� ������� ���
����� ���� ����! ���� � ���������� ���� ������ �������� ��� ����
�� ��-�������������� �� ��� ������������� ��� ����� ��
Internet ��� ��������� ��� ���� �� ���� �����.
���� �� �� �������; ��� ���� ���� �� ������� �� ����� �
�������� �� ������ �������� ���� �� Linus Torvalds;
� Linus ���� ���� ��� ���� hacker (���� �� ���� �� �����������
���� ��������� ������� ����� ���������� ���������;). �� Linux
��� ���� ������ ������ ���� ���� �� �����. � Linus ��� ����� (� ���
����) ����� ������ ��� �� �������� ���, �� ����, � Richard
Stallman � � James Gosling (NeWS ��� Java). ����� �� �������� ��� �
Linus ����� ���� ���� ���������������, �� ��� ���� ������� ��
������� �� bugs ��� ���������������� �������� ��� ����� ������� ��
��� ������ ���� ��' �� ������ � ���� �� ������ �. ����������,
�������� � �������� �� Linux �������� ��� ��� ������� ���
��������� ��� ��������� ���������� ��� ������������ ���������� ��
Linus.
��, �����, �� �������� ������� ��� � ������ ����� �� Internet ���
���� ���� ������� ���� ����������� ���� ��� ������������� ��
Linus, ���� ���� � �������� ��;
��� �� �� � ����, � ������ ��������� ��� ���. � Linus ������� ��
hackers/������� ���� �� ���������� ��� ��� ���������-�� ����������
��� �� project � ���������� ��� ������� ������� ��� ���� ������
��� ��� ��������� �� ��� ������� (���� ���� ����) ������� ���
������� ���.
� Linus ����� ����� ���� ������������� �� ������ �������� ����
��������� �� bugs ��� ���� �������, ���� ��� �� ����� ����� ���
�������� �� ����� � ��� �������� ��� ����� �� ������ ��, �� ���
����� bug ����������� �������. � Linus ����������� ��� ��
������ ��� ����:
8. ��������� ��� ������� ����� ��������� beta ���
��-��������������, ���� ���� ������� ������� �� ���������� �� ���
fix �� ����� ��� ������� ��.
� , ������� �����, "������ ������ �����, ��� �� bugs ����� ���".
�� ������ ��: "� ���� �� Linus".
� ����� �� ���� ���� ���, ���� ������� "�� ����� ����� ��
�������". � Linus �������� �������� ���, �� ����� �� ������������
��� �������� �� ������� ��� ����� �������� � ����� �� ����� ��
���� �� ������������. "������� ������� ��� �������", ����, "���
������� ����� �� ������������. ��� � ������� �� ����������� �����
� ��������� �������". �� ������, ���, ���� ��� ��� �� �� �������
�� �������� ������.
��, �����, ��� ��������� � �������� ������ �� ������������ �� ��
��� ��������������, �� �������� ��� �� ��� �������. �� ���
���� �� ��������� ��������������, �� bugs ��� �� ���� ����������
�������������� ����� ���������, �����, ����� ��������. �����������
����� ���������� �������� �� ������� ��������� ������� ��� ��
����������� ������� �����. ��' �� ��� �� ������ �����������
����� �� ������ ��� � �������� ���������� ���� �� �������
����, �� ��� ���� ����������, ��� ����� �������.
��' ��� ���� �� �� "��� �������" ��������������, �� bugs �����
������ �������� ��������-�, ���������, ��������� �� �����
�������� ���� ���������� �� ������ �������� ��-���������������
�� ������� ���� ��� ������. ����, ������ ���� ������� ��� ��
��������� ����������� ��������� ��� ��� �������� ������, ����
������� �� ������ �� ����������� ������ ������������ �����������
�� � "���� �� Linus" ����� ���������, ��� ���� ������ �� �����
��� ��������� ��� � ������ �� Linux, �� "����������� " �� ���
�����, �� ������ �� ��������� ��� �� �� ����� �� ��������� ����
�������������� ��� ���� ������� bugs. ��, �� ��� ���� �����
����, ������ ������������� ��� ������ ������ bugs �� �� Linux.
�� ���� ��, ��� �� ������ �� �������� �������. �� �����������
���� �� ����� �������� ��� � ���� ���� ��� ���� ��������
������ (� �������� ������) ���������� ����� ���� ����������
�������� �� ������ ��� �������� ���� ���������� ����������.
��� ����������� "�������� �� ����". �������� ���, �� ��
�������� � Linus ����� ��� �� �������� �� ������� ������� ����
���������� �� bugs �� ��� ��������� ������ - ��� �� ��������
�� ���� ������ �� ������� ��� ���������������� �����������, ����
��� ��� ������� ������������ ��� ����� ���������� ���������.
����� ���������� ���� Jeff Dutky (
[email protected]) �� ��������
��� � ���� �� Linus ������ �� ���������� �� "� ��������� �� Bugs
������ �� �������������". � Jeff ��������� ���, �� ��� � ��������� ��
bugs ������� �� ���� �� �� ������������� �� ���������� ��
������� ����������� ��������������, ��� ������� �������� ��������
����� �� ����. ����, � ��������� �� bugs ��� ����� ���� ������
��� ����� ������������� ������������ ��� ���� management ��
�������� ��� ����� �� �������������� ���� ������� ������������.
���� �����, � �������� ������ ������������������ �������� ��
����������� ��� �������� �� �������������� ��� ��� ��������� ��
bugs ���� ���� ��� �������� ��� ���� �� Linux. ��� ����������
��� "��������� ��� ��� ����� ������" ����� � �������������
������ ����������� �� ��� ������� ����������� [fed-back] ������� ��
��������.
� Brooks ����� ��� ���������� ������ �� ������ �� Jeff: "�� ������
����� ��������� ��� ���� ��������������� ������������ �����,
�����, �� 40% � ��� ���������� �� ����� ��������� ��. ��� ��
����� ����������� ��� �� ��� ����� �� ������. �����������
������� ������� ���������� bugs".
����������� ������� ������� ���������� bugs, ������ � ��������
���������� ������ ��������� ����������� ����������� �����
������ �� ������������. ��� �� �������� �������� ���� ��
������� ����� ��-���������������. ���� ��������������� �����������
��� ������� ������������ �� bug �� ����� ���������� ����������� ��
�������� ��������, �� ���������� ����, �� ������� �� �����. ��
"�������� �� ����" �������� �� ��� ���� ������ �������� ����
��� ���������. ��� ������� ��� ���������� �� bugs � �������� ���
������ ������ �� ������ ��� ���������� ��� �����������.
����, � �������� ���������� ��������� ��� ��� ������ ���
����������� �� ������ bug, �� ��� ������ �� ��������������,
������ ��� ��� ��������� ��� �� �������� ������ �������������� ��
��������� �� �� ������� �� ������ ���� ���� �� bug �� ����������
�������� ��' �� �� �����.
� Linus, ���, ������ ��� �� ��� ��. �� �������� �� ������
������ bugs, � ������ �� ����� ���������� �� ������ ���� ���� ��
������� �� ����� �� ���� �� �������� ���� ��� ����������� ���
��������� "��������" ������� � �� �������� �� bugs ��� �� ��������
��� ��������������. ���� � ������� ��� ������� ������� ������� ����
hackers �� Linux, ���� ��� �� ������. �� ������ ��� ��� �� ��
�������� ����� ���� ������� �� ������ ��� ����� ���������._
5. ���� ��� ����������� ��� ����� �����������?
������� ��������� ��� ��������� �� Linus ��� ��������� ��� ������
��� ��� ��� �� ���� ������, ���� ��� ������ ����� �� �������
��� ������ �� ��� ��� �� ����� (��� ������� ��������� ���
�������).
���� �� ���� ������ �� ����� ���� �� ������ �� ��� ��� ��
��������� ��� ��� popclient. � ��������� �� Carl Harris ���� ���
���� ���� ��������� ��� �� �������� �����������, ����� �� ������
��������������� C. ������������� ��� ����� ��� �� ����� �� ������
��� ��� ����� �������� ��� ���������� �� �����. �� ���������� �
������ �� ����� ������ ���� �� ����� �������� ����������� ad hoc
��� ������ ������ (��������� ���� �� �� ����� ������� ��� ��
����� LISP hacker).
��� �� ��� ���� �������� ���� ���� ��� �������� �� ����� ��� ���
������� ��� ����� �� �������� ��� ���������� �� ����� ���
��������. ���� ���� ��� �� ������ �� ���� �� ����������� �����.
��� ����� ������������ �� ���� ��� ���� ��� ������ �� bugs �'
��� �������� �� ��� �������������.
��� ���� ���� ��������� ��� ��������� �� ������ �������� ��
Carl. � ���� ������ ������ �� ����� ���� �� ����� ���������� ���.
��� �� ����� �� ��� �� ��� ������� �� �������� �' ���� �����
driver ��� �� ����� ������� ����� (��� ���2, ���3 ��� ���). ����
��� � ���������� ������ ����������� ��� ������ ��� �� ����� ���
�� ��� ���� �� �� ���������������, ��������� �� ������ ��� � C
�� �������� ��� �������� ������� ������������.
9. ����� ���� �������� ��� ���� ������ ������ ������� ��' ��
���������.
Brooks, ������� 9: "�� �� ������� ��� ����� �� ��� ����� ���
���� �� �������� ��, �� �������� �� ����. �� �� ������� ���
���� �� �������� ��, ��� �� ������� ��� ����� ��. ������ ��
��� ���".
���� ������������� � Brooks, ���� ������� ��������, ��������� ��
"����������� ����" ��� "�������". ��������������, ���, �������
���� ���������� /������������ ����������, ����� ���� �� ����.
�' �� �� ������ (���� ��������� 96, ��� ����� �� ��� ��� �����)
����� �� �������� ��� ��� ������ ������� ��� ����� ��������-���
��� ��� �����, ��� ���� ��� ���� ���� POP client. �������, ���,
������ ������ ���� ������� ��� ���� ������ ��������. � ������ ��
popclient �� ������ �� ��������� ���� ��� �������.
���� � ��������� ������ ������ ���� �� fetchmail ����� �� �� ������
�� ����������� ������� ���� ��� SMTP. �� ����� ��' �� �� ����.
���� ���������� ��� ��� ��������� �� ������������ �� �� �����
��� �� ������� ��� ����� �� ������ �� ��� ������ �� Linus
Torvalds. ��� �� ����� �� ����:
1. ������� ���� ��� ��� (��������� ��� ���� ���� ���� �����. ���
�������� ������ ������ ��������������, ���� ����).
2. ������� ��� ����� �� ��������� beta ������������ �' ��� ����
���� �� ����������� ���� �� ��� �� fetchmail.
3. ������� ������� ����������� ��� ���� ��� ������ ���� �� ����
������, ������������ ��� ���� �� ����� ����� ��� ��������.
4. ����� ��� ���������� ��, ������������ ������� ��� ��� ���
�������� �� ��������, ���������� ��� ���� ���� ��
��������� �� �������� ���������.
�� ���������� ��� �� ���� ����� ���� �����. ��' ��� ��� ��
����� �������� ������� ��� bugs, ��� ������ �� �����������
��������������� �� ������ �� ����� ��� �� ���, ��� ��
������������� ����� ���������. ������� ����������� �������,
������������� �������, ������ ���������. ��' ��� �������� ���:
10. �� ������� ���� ���������� �� ��� �� ����� � ��� ������� ����
��, �� ������������ ��� � ��� ������� ���� ��.
��� ����� ��� ������� �� fetchmail ����� �� ������� ������� ���
������ �� ���������, �� ���� �� fetchmail. ���� ������� ���
249 ���� ��� ������������ �� � ����� ���� �������.
��� ��������� ��� ���� ��� 1997, � ����� ����� �� ����� �� ��
������ 300 ���� ���, �� ����� ��� � ���������� ������ ���, ���
���� �������� ���. ������ ������� �� ������� �� ��� ������� ��
��� ����� ������ �� fetchmail ����� ��� ���� ��' ���� �� ���
����������� ����� �� ����� ��� �����! ���, ���� ������ ����� �����
�� ������ ���� ��� ���� ����� ����� �� �������� �� ���
"�������".
6. � Popclient ������� Fetchmail.
�� ��������� ������ ������ �� ����� ���� ���� � Harry Hochheiser
�� ������� �� �������� �� ����� �� ��� ������� ��������� ����
��� SMTP �� ���������� �� �� ���������� ��� client. ���� �����
�������� ��� ��� ���� ��������� ��� �� �������������� ��
��������� ���� ���� ������ ��������� ��������� ����������.
��� ������ ��������� ������� ��� fetchmail ��� ��� ��� ��� ���,
�������, ����� ��� �� interface ����� ���� ����� ���� ����
�����������, ����� ��� �� ���� ����� ����� options �� �� ����. �
������� ��������� �� ��������� �� ��� ��� ��������� ���
����� mailbox � ���� ������� ����� �� �������, ���� ��� �����������
�����.
��� �� ����, ���� ������� ��� ������� ������� ��� SMTP, ����
��� � popclient ���������� �� ����� ���� ����� ��������. ���
��������� �� ����� ��� �������� �������� ��������� (M�) �� ���
�������� ������� �������� ��������� (MDA). �� ��� ������� SMTP
�� ������� �� ��������� ��' ��� ��������� MDA ��� �� ����� ��� ���
MTA, ����������� �� ������� �� ���� �����������, ��� ������
��������, ��� ������ �� sendmail.
����� �� �������� �� �������� ���������� ��� �������� ��������
��������� � �� ����� ��� ��������� lock-and-append �' ���
mailbox, �� ������ �� � ��� 25 �������� ������ �� ���� �������
�� ���������� TCP/IP ��' ��� ���; ��������� ���� �� �������� ���,
� ����������� �� �������������� ������� ������ �� ��� �������
��������� SMTP �� �������������� ��' ��� ���������, ������ �� �����
����� �� �� ������.
�� �������� �� ����� �����. �����, ��� � ���� �������� ��� SMTP
���� �� ������������ �� ������� ��' ��� �������� ���������� �� ��
������� ��� ������ �� Linus. ���� ������� �� ���� ��� ���
��� ���� ����-�� �� ������ �� ��� ���� �� ������� ��� ���������.
11. �� ��� ������� ���� �� �� �� ���� ����� �����, ����� ��
����������� ��� ����� ����� �� ������ ��. ������� ����� ��
�������� ����� �������.
������ �� ���������� ���, �� ����� ������ ���������� ��� �� ���
������ ���� ����� ��� ������ ����������, � ����� �� ��
������������ ��� �� ����� ���� �� � ������� ��� �� �����
���������� ��� ��� ���� ���� ��. ���� ������� �� ���� ���
���� �� ���������� ��� ��� Linus!
(���� ���� �� �� ������� �� ��� ������� �� ���� ��� Perl ���
������� �� 1997, � Larry Wall �������� ���� ���� ������. ������
�� ������ ���� �������� ����� �� ������, �� ��� �����������
��������� [religious-revival style], "�����, �����, �����!". ���
�� ���������� ������ , ������ ������ ��� �� ����� �� ���� ������
��� ��� ��� ������� ��� Perl.)
���� �� ����� ��������� ��������� ��� ����� �� �� ���� �����
����� �� ����� �������� ������� ��� ��� �� ��� ������� ��,
���� �� �� ����� ������� �� ������ ��' ���. ����� ��� �����
������ �� ��� �� Email, ������� ����� �� ��������� ���� ���� ��
���������� �� � ��� ������ ��� ��� :-)
���, �� ������ ���� �� �������� �� �������� ��������, ��
���������� �� ���� ����� ��������.
12. ����, �� ��� ������� ��� ������������ ����� ����������� ����
������� ��� � ������� �� ���� ��� �� ������� ����� �����.
���������� �� �� ����� ������� �� �� �� ����� �� ������� ���
popclient ��� ��� ������ MTA/MDA, �� ��� �� ���� ����� �������
�������� ���������. ������ �� ���� ���� �� fetchmail ��' ���
���, ��� ��� ����� MT�, ��� ����� �� �������� SMTP Internet
���������.
���� ������� �� ��������-���� �������� ��� ���������� �� ������� ��
������ patch-��� ����� ����� �� ������� ��� �� ���� ��� ����
��������, ���� �� ���� ��� ���� ������. ��� ������ �� �� �������
�� ���������� �� ���.
��� �� �����. ��������, �� �� ������ �� ��� ���� (1) �� �����
���������� �������� SMTP ���� ����� driver, (2) �� ��� ����� �� ��
������ ��������� ���, (3) �� ������� �� ���� ��� ����� ����������
��������, ��������� ��� ��������� �� ������� �� ����� ��� ���
���������� ���� ������� �����.
���������� ��� ���� ��� ������ (3), ��������� �� �������� ���
������� �� �������������� ��� ������ �������� popclient ��� ����
����������� ��' ��� ������������ ��������� ���������. ��������,
�� �������� �� ���������� ��� ����� .forward � ��� non-sendmail
�������� ���, ��� �� ��� �� ���� ����������. ���� �����, �
�������� ��� ������� ����������.
����, ���, �� ������� �� ������ ���������� ������. �� ���������
���� �� driver ������������. � ������ ����� ������
���������-����� � ��������� ��� �� MDA �� ��������� ��� �� mailbox
�� ������, ����� ���� ������� ��� �� ��� �� ��������� ��������
����������� ������� �� ����� [file locking].
������, � ���� ����� �� ������ ������� �����������. �� ����
������ � �������� �� ������� �� ������������ �' ��� ����� �� �
������ ����� �������, �� ������� �� ��������. ��� ��� �������� ��
��� ������� ��� SMTP, ������ � SMTP listener ��� �� ��������� ��
����� ��� �� ������� ��������� �, ���������, ���� ���� �����
��� �������� ������ ���� ������.
����, ��������� � ������ (�� ��� ��� �� �� �������� ������ �� ���
���� ����� �� ������������). ��� ���� ��� �������� ������ ���� ���
������� ���� ��� �� ��������� ������ ����� ���������.
�������, ������ �� ����� ��� �������� �� ������� ��� ���
������ MDA ����������� �� ��� ������, ���� �� ������� ��� �����
������ �������� ���������� ������ �� ��� dynamic SLIP. �����,
���, ���� ��� ��� ���� ��� �� �� ���.
���� �������; ��� ��������� �� �������� �������� ��������������
���� ������� �� �� ������ ����� ������� ���� �����������������. �
������ �����-����� (�� ���� ������ ��� ��������� ��������, ����
��� ����� ������� ������ ��� ������) ��� ���:
13. � ��������� (���� �������) ����� ����� ��� ���� ��� ������
���� ��� �� ����������, ���� ������ ���� ��� ������ ���� ��� ��
���������.
���� � ������ �� ������� �������� ��� ����������, ��� ������ ���
����� ����. ��� ���� ������ �� fetchmail �������� ���� ��
�������, ���������� ��' ��� ����� �� popclient.
���� ��� ��� ��� ������ �� �������. �� ��� �������� �������
���������� �' ��� ���� sendmail �� ������� � ����� poclient. ���
�� �� ����� MTA, ���� ���� �� �� sendmail ������ ��� �������� ��
���������, � ���� popclient ��� �����. ����, ���� �� �� �����
���������� ����� ������, ��� ������ fetchmail.
7. �� Fetchmail ������������.
�� ���, �����, �' ��� ������������ ��� ��� �������, �' ���� �����
�� ����� ��� ������������� ���� ������ ��� ������������� ���� ����,
��� ��� ����� ��������� �� �������. �������� ����� �� ����������
��� ��� ����� ����� ������� ���������� ������� ������������� ��
��� �� ���� �������� ��� ������� �������. ��� ��� ����� �� ���
�������� �� ���� hacker �� Unix ��� ������ SLIP/PPP ��������� ��'
�������.
�� �� ������������� ��� �������� ��� SMTP, �� �������� ����� ����
���� �������� �� ����� � "������" ��� ���������� ��, ����� ���
������ �������� �� ������� ��� ���� ��� ���� �� ������������
���� �� ����������� ���� �� ����������� ��� ����������� ���� ����
���������.
����� ������ �� ���� ������ ������������. ������ �� ������� �'
��� �� �� �� ��������� ���� ����� ��� ����� ����, ��� �����, ��
������������ �� ��������� ��������, ������. � ���� ����� ��� ��
���� ������� ����� ����� �� ���� ������ �����-� �� ���� ���
���������� ����� �� ������� ��� ����� ����� ���� ������ ���� ��'
�� ������ �� �� ��������� ��� �� �������� �� �� ��������.
� Andrew Tanenbaum ��� ��� ����� ���� �� ����������� ��� ���
����� ������ Unix ��� 386, ��� �� �� �������������� ��� ��������
��������. � Linus Torvalds ����� ��� ���� �� Minix ��� ���� ��' ���
Andrew. �� ��� ���� ���� (�� ��� �� �������� �������) ���� �������
����� �� Carl Harris ��� Harry Hochheiser ��� ��� ����� ��� ����.
������ ��� ��� ���� "������" ������.
�� ������������ ���� ��������-���� ������ � ������ �� ����
��������������� �������! � ������ ��� ������� ��� ������ �� ���
�� ������� �� �������. ��� �� ��� �� fetchmail ��� ��� ������ ���
������ �� �����, ������ �� �� ��������� ��� ��� ��� ��� ����� ��
�������, ���� ������ �� ��������� ��� �� ��������� ��������������
������� ��� �����, �� ��� �� ��� ���� �� �����. �� �� �� ��
��� ���������� �� �������� ��� ��� ���.
�� ���� ��� ��� �������� �������������, �� ����������� ���� ��'
��' ���, ���� � ���������� multidrop-� �������� ��������� ��
��������� �� �� mailboxes �� ��� �������� ��� �� �������
���� ������ ������ ��� � ���������� �� ���� �������� ����
��������� ��.
�������� �� ��� ������ �������� ����������� multidrop ������
������� ������� �������������, ���� ���� ������ ����� ��� ��
���������� �� ��������� �� ����� single-drop ������������ �� ��
������ ���������� �� ��� ���������� �������������� /
���������. �� ���� ����������. ���� �� RFC 822
<
http://www.internic.net/rfc/rfc822.txt> ��� � ������� ���� ���
��������� ���� ��������� �� ���������� ����� ����, ��� ������ ��
������� �������� ��� ����� ������, ���� ������ �������� ��� ��
�� ���������������� ��� ��������� ������������.
���, � ������������� multidrop �������� �� ����� ��� ��� ����
���������� �����.
14. ���� �������� �� ������ �� ����� ������� �� ���� ����������
����, ���� ��� ���������� ������� �������� ���������� ��� �������
�� ���� ��� �� ���������.
� ��������� ����� �� multidrop fetchmail ����� � ��������
���������� ���� ������ ������������ (mailing lists) �� ����������
���� ����� �� client ��� ������� SLIP/PPP, ��� ������� �' ���
��� ����� � �������� �� alias. ��� �������� ���, ������� ��
������������ ���� ������� ����������, ��� ��� ���������� ��
������� ISP, ������ �� ��������� ��� ����� ������������ ����� ��
�������� ���� ��� ������� �� ��� ����� ������ �� ISP.
��� ���� ���������� ������ �� ��������� �� ���������� ���� �
���������� ���������� 8-bit MIME. ��� ���� ����� �� �� ���,
������ ��� �������� �� �������� ��� 8-bit ����� �����. ��� ������
�������� ��� �������� ��' �� �� �������������, ���� ������
���������� �� ���� ���� �����:
15. ���� ������������ gateway �������� ����������� �����,
���������� �� ��������� �� stream �� �������� ��� �� �����
�������-��� ���� ��� ����� ���������� �� �� ���������� �� ��� ��
���������!
�� ��� ������ �' �� ��� ����� � ���������� 8-bit MIME �� ����
������ ��� ������ bugs. ��� ���� ���, �� �� ������ �� ��� ����
�� ������ �� RFC 1652 <
http://www.internic.net/rfc/rfc1652.txt> ���
�� ������� ���������� bits ��� ��������� �������.
$������� ������� ������� �� ������� �� ������� ��� �������
���������� �� ������ �� ������� �� ������������ �� ���� �����
�� fetchmail (���� �� ������ �� ����� ������� ��� ��� ������
�������� �����). ����������� �' ��� ��� �������� ��� �����
����, ��� ��� ���� �� � ��� ����� ��������� ��' ��. ���� ����
������ ��� ��� ���� ������ �' ���� ��� ������� ��-�� ���
������� ������ ��� �� ������� �� �������.
8. ������ ���� �������� ��� �� Fetchmail.
���� ���������� �� ������ ������ ������������ ��������
���������, ������ ���� ������ �������� ��' ��� �������� ��
fetchmail ��� �� ����������.
� ������ �� ����� rc ������������ ������������ ���������� ������
"�����" [noise keyword] �� ��������� ����� �� ���
��������������. � ������ ������� ��� �� �������� ����� ��� ���
��������� ��' �� ����������� ���� ���� ���� ��������� ����� ��
������� ������ ���� ��������� ���� ��� ���������� ������.
��� ����� ��� ��� �������, ���� ������ ��� ��� �� �����������
�� ����� rc ������ �� ������� ��� ������������ ����� �����.
(���� ����� � ���� �� ������ ��� ����� ��������� ���� ��
popclient �� "server" �� "poll").
�� ������� ��� �� ���������� �� ��� ��� ��� ������������ �����
����� �� ������� �� �� ������� �� ������ ��� ������. ���, �� ���
����� ��������� ����� ��� ����� �������� �� ���������� "������
��� �����", ��� ��� ��������������� �� Emacs � HTML ��� ������
������ ����� ��������, ��� ����� �������� ����� ��� �������
������� ���.
�� ������������ ��������������� ������� �� ����� ������ ����� ��
����� ��� ������� ��� ������� ��� ��� ���� ����� ��������
����������. ��� ����� ��� ����������� ���������� �� ��� ���� ��
�� ���� �� ���������� ���� �������, ���� � ������ �� ������ ��
����� ��� �� ����� ��� ����� �� ����. �� �������, �� ������ 50%
������� ���������, ������� ��� ��� ���������� �������.
��� ����� ��� � ���� �� ����� ��� ������ ������� ���. ���
����� �� ��� ��� �� ��� ��������. ������� ������ ����� ���
����� � ���������� ��� �� ������ �� ����� ��������. ������,
����� ��� �������� � ����� �� ����� ������ ��� ��� ������� �� ��
�� ����� ����� ��� ��� �����������.
������, ���, ������� ���� �� �������. ����, ����� �� �����
�� ��������� � ��������� �� �������� ������-������ ��� ����� ��
������ ��� ��� ��������� ��� ������ �� ����� ���� bugs ��� �����
�� ������. ���� ����� ����� ���, ����������� �� ������ ��� �����
������� �� ������� �� ������� ��� ���������� �� "�������" �� ����
��� �� ������ ������ �� ���� ����� ����, ��� ���� �
���������� �������� ���� ��� ������ ����� �� ����� ��� ������
��� ������ �� ����� ���� ����������� ������. (��� �� ������ ������
�� ������ ��������� ������ �� ������� ��������� ��� �����
�������� ��� ��� �������� ������ "�������� ������".
� ������ ����� �� fetchmail �������� �� ������� ��� ��
����������, ������ � ����� �������� ��� ������ �� ����� ���
�������������. ��� ����� ��� ������ �����. �� �������� �� ����
��� ��� ����� ��� ������������, ���� ������ ����� ���������
����� ���� ��������� ����� ��� ����� ������� ��� ��������
��� ��� ����������� ������ �����. �� ������ ������ ���������:
16. ���� ��� ����� ��� ����� ������ ���� Turing (Turing-complete),
��� � ������� ��� ����� � ��������� �����.
��� ���� ������ ����� ��� ��� ������ ��� ��������. ������� �������
�� fetchmail �� ������� �� ��� ������� ��� �������� ���� ��
��������� �������������� ������ ��� ����� rc, ���� �� ���
������ �� ��� ��� ���� �� ����������.
��� �� �����, ������ ���� ������ ��� �������� �������. ������������
��� ����� �� �������� �� ����� rc �� ������ �� �������������� ��
fetchmail-�� �� ����� ��� ����� ��� �� ������ �� ��������� ���
�������������� ���� �� ��� ���� ��� ����� �� fetchmail.
����� ����������� ����� ��� ����� .fetchmailrc �� �� ����������
����� ��� �������� ������� ��������. � ������ ������ ����� �
����:
17. ��� ������ �������� ����� ��� ������ ��� ����� ��� �� �����
��. ������ ��� ����-������.
9. ����������� ��� �� ��� �������.
�� ����� ��������� ��� �� ������� ������ �������� ��� ���
����������� ��� ���� ��������� ������������� �� ��� �������,
����������������� ��� �� ������� �� �������� �� �����������,
��� ��� ��� ��������� �� ����� ���� �� ������ �� �������, ������,
������ ��� ���������� �������� ���� ������ ��-��������������.
����� �������� ��� ������ ��� ������, �� �� ���������� ���, ��
����������� ����� �� �� ������ ��� ���������� ���. ������ ������
�� ���������, �� �������� ��� �� ����� debug ������ �����, ���� ��
���� ��� ������ �� ����������� �� ��� ��� project �' ��� ��
������. ��� �� ��� �� � Linus �� ����������. � �����
�������������� �� ���� ������������ ��� ������ ���� �� �����
��������������� ��� �����������, ��� �� ���������.
���� ������ ������ ��� ��������� ��� ������ �������������� ������ ��
�������� �� ����������� ���������� ���������. �� �������� ��� ���
���������� �� ������ ��������� ����. ������ �� ����� ���, ���
bugs, ������ ��� ��� �����������. ���� �� ��� ������ �� �������
����� �� ������� ��� ������� ��-��������������� ��� ��� ������ ��
�������� �� ���� �������� ���� ��� �������� ������.
�� Linux ��� �� fetchmail ���������������� ������ ������, �������
�������. ������ ������� �� ��������� �� �� ������� �� �������
��� ��� ���������, ��� ����� ������ ��� �� �� ������� ������
��� ��������� ��� ��������� ��� ����� ����� �������� � ���������
�� ����� �� �������� ���������� ��������� �� ����.
$���� � Linus ���� �� ����� �� �� �� Unix. �� ���� �� ���� ��
����� ��' �� popclient (�� ��� ������� �� ������ ���� ��� ���
���������� ��������� �� �� Linux). ������, �����, � ���������,
���������� ���� ����������� ���������� ��� �� ��� ���������
��������� �������, � ������ �� �������� ��������� �� ���������
������� ����;
��� ����� ��� ����� �������� � ���������� �� ������ �� ���������
����� ����������� �����, ���� ����� ����� �������� �� ������ ��
���������� ��� ����� ����������� ����� ����.
��� �� ��������� �� project �� Linux ��� �� fetchmail. � Linus,
�� ��� ���� (��� ������ ��� ����) ���� ������� ���������, ��������
�������� ��� �� ���������� �� ���� ����� ��� �� �� ���������� ����
����� �� Linux. �� �� ��� ��������� �� � ��� ���� ����������
���� ��� �� fetchmail (������, � ������� ��� SMTP) ������� ��
������� ����.
�� ����� ��������� ��� �� ������� �� �������� �������������
��� �� ���������� �� �������� ��� ���������� ��������� �����
���������� ���, ������ ������ � ����� ������ �� ��� ���, ����,
��� ��� ��������. ��� �� �� �������. � �������� �����
������ � ������� �������� ��.
�� �������, ���, ���� ������ ����� ���� ���� ������� ���������
����� ���� ���� ������ ������ �� ������� �������-������� �� ������
�������� ��������� ���� �� ������ �� ����� ����� ��� ����. �����
����������� ���������� ������ ����� �� �� �����, ���� �� ������
��� fetchmail.
�����, �����, ��� �� project �� fetchmail ���� �� ����� ������
������� ��� ���� �� �� ����� ������. ���� ������ ������ ��
�������� �� ��� ���������� ��������� �� ����� ������ ��� ���
��������� ���������� project. �������� ��� � Linus ���������� ��
����� ��������� ����������� ���� �� �������� �� ��������������.
�������� ������� ��� � ������ �� �� ������� �' �� ��� ���� ��
���� ������� ��� ��������� ;
��� ����������� ������� ����������� ��� ����������������� ���������
����� ����������, ������, ���� ������ ��� ���� ���� ��������� ������
�� �������� �� ��� ������ ������� �� ����� ��� ��� ��' �� ��
�������. � �������� ����� ��� ��������� ������ ����� �����
������ ������� ���� ������� �� ��� ����� �����������������
����������� ��� ������ ��� ������ �� ���������� �� �� �����. ��
��� ��� � ������ ����������.
������ �� ��� ���� ����� ��������� �� �������� ��� �������� �� ���
������� ��������� � �����, �����, ����� ��� ��������� ��� ��
���������� project ��� ��� � ���������� ����-��� ��� ����������.
���� ���������� ������ ����� ������ �� ��� ����� ��������� ���
��������� �����������.
��� �� ��������� ��� ����� �������������� ������ �� ������ ���
�������, �� ����������� �� ��������� ��� �� �,�� ������ ��� ��
��� ��������� ��� ��������� ��� ��� ������� �������� �� �����.
�� ������ ��������������� �� ����� ����� ����� ��� �� ��
���������, ���� ��� ����� �� �� ���� ���. � ����������� ��
��������� ��� �������.
��� ����� ������ �� � Linus ����� ��� ����� ��� ����� ���
������� �� ����� �� ��� ��������. ��� ����� ���� �� ����� ����
���������� �������� ���� �� �� ������ �� ������ �� �����.
��� �� ��� ������������ �� ���������� �������, ������� �� ������� ��
����������� �� �������� �������.
10. �� ������� ������� �� ��������� ������ �����.
��� �� ���� ����� ���: �� �������� ����������� ��� ��������
[hacks] ������� ��� ��������� ����� ��� ���������� ���������� ��
�������������� �� ����������� ������ ��� �������� ����� ��� ������
����� ������. ��� ��� ���������� ��� ���� �� ����� (1), ��
������ �� �������� �� ��� ������� ����:
18. ��� �� ����� ��� ��������� �������, ���� ��� ������� �� �����
��������� ��� ����.
��� ����� �� ��� Carl Harris ��� �� ���� popclient, �� ����� ���
�� ���� ��� �� fetchmail. ���� �� ��� �� ���� ���������. ��
��������� ������, �� ������ ��� ����� �� �������� �� Linux ��� ��
fetchmail �������� �� ������� �� ��������� ���� ���, ����� ��
������ ������-� ������� �� ��������� ������� ���� ������� ���
���������� ��������� ������ ��� ��-��������������.
��� ������ �� "The Mythical Man-Month" � Fred Brooks ��������� ���, �
����� �� �������������� ��� ����� ������������. � ��������
�������������� �' ��� ������������ project ��������� �� ���������
����������. ��������� ���, �� ����� ��� ������������ ��� ���
����������� ��� project ��������� ���������, �� � ������� ��
������������ �������� ����������. ���� � ���� ����� ����� ��� "�
���� �� Brooks" ��� ������������ �� ������ ��� ���� ������
��������. ���� �� � ���� �� Brooks ������� ��� ��� ����� �� Linux
�� ���� ������ �� �������.
�� ������ ������� "� �������� �� �������������� �� ����������
����������", �� Gerald Weinberg, ��� ����� ��� ����� ������ ���
����� �� Brooks. ���� ������� �� ��� ��� "����� �����"
������������� � Weinberg ��������� ���, �� �������� ��
��������������� ��� ������� "������ ���������" ��� ��� ����� ���
��� ��������� ����� ������� �� ���������� bugs ��� �������
���������, � ������� �������� ��������� ���������� �� ���������
����.
�� �������� ��������� �� ����� � Weinberg ��� ��������� ��� ������
�� �� �������� ��� ������ �� ��� ������-������� �� ���������� ����
����������� �� hackers �� Internet ��� "����� �����". ����
����� ��� �� �������� �� ������� ������ ���������� �����������
�� ����.
� ������� �� Unix �� ������ �� ��� ��� ������������ ��� �,��
��������� ��' �� Linux (��� ��� ��� �� �� ����������, �����������
��� �� �������� ������� ���� ������ �������� ��� ������ ��
Linus). ���, ������, �� � ������ ����� ��������� ��� �����
������� ������������, �� ���������� ����� ����������������� ��������
���������� ���� ��������������� � ������ ��� � ���������� ����� ���
������. � ��������������� �� ������������ �� ��� �� �� ���� �
��� �' ��� ������ project �� ������ ��� ��' ��� �������������� ��
����� �� �� ����������� ��� �����, ��������� ������� ��� ����� �
��������� �� bugs ��� � ������� �������� ����������� ��
����������� ������.
���, � ����������� ����� �� Unix ����������� ���� ���������� ��
�� ������ ��� ��� ���������� ���� ������ ��� ���� �� ������
����������. ������� ���� �� ������� ����������� ����� �����
������ ��������� ���������, ������������� ������ ��� �� ��������
��������. ���� ����� ���� ��� �� Internet ��� ���� ���� ������
���.
���� �� ��� ����� �� ����� Internet ������ ������� ��������
�������� ������ �� ����� � ������� ��������� ��� "�� �������"
������������� �� Weinberg �� ���� ��������������� ������� �����
������� �� ���������� ������ ������ ����������� ���
���������������. �� Bell Labs, MIT AI Lab, �� UC Berkeley ������
����� ������ ���������� �� ����� ���� �� ��.
�� Linux ���� �� ���� project �� ����� ��������� ��� �������
����������� �� ����������� �������� � ����� ��� � ���� �� ��������
�������. ��� ����� ��� ����� ������ ��� � ����� �������� ��
Linux ���������� ��� ���� ������� �� ������ ��� �������� ��
�������� ���� (World Wide Web-WWW) ��� ��� �� Linux ���������� ���
������� �� ������ ���� ��� ������� 1993-1994 � ����� ���� ���
�������� ��� ���������� ������ �������� Internet (ISP) ��� ���
������� �� ������ ������� ������������ ��� �� Internet. � Linus
���� � ����� ������� �� ����� �� �� ������ �� ��� ���� ������
�� ���������� �� Internet.
�� �� ���� Internet ���� ��� �������� ������ ��� ��� ������� ��
������� Linux, ����� �� �� ��� �� ��� ���� ��� ������� ������.
���� ���� ����� ���������� ���� � ������� ��� ������� ��� ��
��� ���� ���������� ������� �� �������� ����
��������������� �� ���������� ��-��������������� ��� �� ����������
��� ������� ��.
�� �����, ���, �� �� ������ ��� ��� �� ��������; ��� ������ ��
���������� �� ������ �������-���� �� �� ��������, � �������������
������ ��� ������ �� ���������� �� ������������ �� �����������. �
Weinberg ��������� ��� ����������� �� ����� ����������� ��������,
��� ������� �� 19� ����, "�� ���������� ��� ����������".
"������� �������� �� ��� ���������� �� ��� ���� ���������� ���
������������ �������� ��� �� ��, ��� ���� �� ���� ��� ����� ��,
�� ����� ������ ���� ����������� �� �� ���������, �� �������, ��
�������, ��� ��' ���. ���� ����, ������ ����, ������ ��
��������� ������� ����������� ��� �� ������� �� [��������]
�������, ��� ���� �� �������� ����� ������� �� �������� ��
������� ���������, ����� �� ����� ��� ������ ����� ��� ������
����� �� ��� ��� ������� ��� ��� ��������� ��� ��� ������ �����
��� ���� ��� ������ ���������. �� ����� ���������� ������� ��
��� ���������� ��������, ���� ��� ������ �� �������� ���� ����������
�� ��� � ���� ������ �� �������� ��� �� ��� ������ ����������
����� ��������� �������"
� "������ ���������� ����� ��������� �������" ����� ������ ��
�� ������� �� project �� Linux-��� � "��� ��� ��������" �����
������� �� ��������� ����� ��������, ���� ���� ������ ���������
�� ������� Internet. ��� �� ����������� ��� ����������
��������������, �� ��������������� �� ����� �� ������ ���
���������� project ������ �� ����� �� ����������� ��� ��
����������� ��������������� ������ �������������� �� ��� ���� ��
��������� � "��� ��� ���������" �� ��������. ������ �� ����� ��
������������ ��� ��� �� Linus.
������� ��������� ��� "�������� �� ����" �� ��� ������ �������
�� ��� �� Linus. ������, ���, �� ����� ��������� ��� ��
����� ��������� �� ����������� �������� ���� �������� ��� ���
���������. � ����� �� Linux ������������ �� ������ ����� ���
��� ������� ����� � ��� ����������, ��� ��� ����� ��������
������ �� ��������� �� �������������� ��� ������� � �����, ����
����������, ��������� ��� ��-��������� ������� ���� ����������
�������� ��� �������������� �� ���� ������ �� ������ �� ��������
����������� ������� �������� ��������. ����, �' �� �� ������
������ �� ����������� ��� "��� ��� ���������".
� "������� ���������" �� ��������� �� �������������� ��
��������������� Linux ��� ����� ���������� ���� ��� ������������
����������� �� �� ��� ��� ����� ��� ����� �� ����
��������������. (������� ������ �� �������� �� ������ ���
"����������", ���� �� ������ ��� � ��������� ����� � ����� �����
��� ���� ������������ �� �� �� ���������). � ����������
������� �� ��������� �' �� ��� ���� ���� ������������� �����
����������. ��� ���� �������, ���� ����� �������� �� ��, �����
�� ������ ��� ������������� ��������� ��, �������� �� ���
��������������� ���������� "��� �������� �� ��" (��� ���������
��� ����� ������ ����� ���� �����) ��� �� ����� ������� ��� ��'
��� ���������� ������������.
������� �� ������ ����� ��� ��� �� ��� ���� �� ������ ��
project ���� �� ����� � ������� �� ��������� ������� �� ����� ���
������������ �� ��������� ��� �� project ����� ��� �� �����
�������������, � Linus �������� ��� ������� ������� ��� "����
��� ������ ���������" �� ��������. ���� � ���-���������� ��� ��
���� �� Linux ��� ��������� �� ��������� �� ��������� ��� �
��������.
������� �� ���� ��� ������ �� Linus ��� ��� ���� ������� ��
������ �� ������� �������������� ��� �� ����� ��� ������ ��
������� ����, �� ������ �� �������� ��� �� ������������
���������. �� �� project �� fetchmail �������� (������� ��
�������� �������) ��� ��� � ������� ������ �� ���������� �� ����
������������. ��� �� ������� ���� ��� �������� ��� ���������� ��
�������.
������ ������� (��������� ������� �� �������� �������� ������ ���
�������� ������) �� ��������� �� ��� ������� ��- ���������
���� �� ����� ������������, ������, ������, ������� �� ������.
����� �� ����������, ���, ��������� �� ��� ���������� ��������,
������� ��� ����� ��� ���������� �� Linux, ��� �� ����� ���
����������. �� ��������������� ����������� ��� ���������. ��,
���, �� ��������������� �� Linux ������� ��� ���; ������, �
������� ����� ��� Linux ������ ��������� ����, ����������
��������� �� ������ �� ������ ��������������� ����������
�������� ���������� �� �������� ��������� ������.
��� �� project �� ����� �� fetchmail ��� ��� �� Linux ������
���, ������������� ��������� ��� ��������������� ���� ����
���������������/���������� ������ �� �������������� �� Internet ���
�� ������������ �� ���� ���� ��� ������ ��������������� �����,
�������, �� ������������ �� project ���� �� ��� �������
����������. ����, ���� ��� Brooks ����������� �� ����:
19. �� ��� ��� � ���������� ��������������� �� ��� ��� �����
��������� ��� ��� ��� �� Internet ��� ���������� �� �� ������
����� ���������, ����� ���� �������� �������� ������� �� ���.
����� ���, �� ������ �� ��������� ������ ����� ������ ��� ���
���������� ���� ������� �� ����� �� �� ������ �� ������� ��
Linus, �� ������� �� ����� ��� ��� �� �������� ��� ��
���������� �� ��� �������. �' �� ��� ������� ��� � ���� ��� �
���� �� ������ ��� ��� �������. ���� ������ ���, � ���� ��
��������� ������ ����� �� ������ �� ������� �� ������� ��' ���
������� ���� �� ���� ��� ���� ��� ������ �� ��� ��������������
��������� ���������� ����� ����� ������������.
��� ��� ��� ��� �� ������ �� ��������� ������ �����. �������
��������������� ������� ����� ������ �� ���������� ��� ��� ��
������� �� � �������� �� Linux ������ �� ���������� ��� ���
������ ������ �����������. ������ ����� ������ �� ������������
��� ��������� ����� ������� �� ��� �������� ������, ���
���������� ��� fetchmail!
���, ��� �����, � ������� �� ������ ����� ���������� ���
������ � ��������� ����� ����� ���� � � "�����" �� ��������� �����
����� ���������� (������ ��� �� ������� �� �� ��������), ����
���� ������ � ����� �� ������� ����� ��� ������ �� �������� ����
��������� ���� �� ��� ��������� ������ �����, ��� ����������
�� ������� ���� ��� ��� ������ ��� �����������.
11. ����������.
��� �� ������� ��������� �������� �� �� ������ ����� ������,
�� �������� ���� ���������� ��. ������� ��������� ��� Jeff
Dutky <
[email protected]> �� ������� ��� ����� "�� �����������
����� �������������" ��� ������� ���� ����������� ��� ������� ��
�������� �� ���. ������, ������ ��� Nancy
Lebovitz<
[email protected]> ��� ��� ������ ��� ��� �������
��� Weinberg ������������ ��� ��������. ����� ������� ������� �
Joan Eslinger <
[email protected]> ��� � Marty Franz
<
[email protected]> ��� ������ General Technics. � Paul Eggert
<
[email protected]> ���������� ��� ������� ����� �� ������ ���
�� GPL �������. ����� ����� ��� ���� �� PLUG, ����� ������
Linux ��� ����������, �� ����� �������� ��� ���� ��������� ��
�������. �����, �� ���� �� Linus Torvalds �� �������� ��� ��� ��
�������� � ����� ���������� ��.
12. ��� �������� ������.
�������� ����� ������� �� ������ "The Mythical Man-Month", ��
Frederick P. Brooks. ����� ������� ��� ������ ��� 25 ������� ��
��� ������� Addison-Wesley (ISBN 0-201-83595-9) ���� ����� ���
��������� �� ������� �� 1986 "No Silver Bullet".
� ������ ����� ������������ �� ��� ���������� 20����� ��������, ����
����� � Brooks ���� ���������� ��� ������� �� ����� ������� ��
����� ��� ������ ��� ��������� �� ����. ������� ��� ���� ���� ���
�������� ���� ��� ��������� ������ ��� �� ������� ��� ���������
���� ��������� ��� � Brooks ������� ��������� �� ���������� ���
���� Microsoft!
�� "The Psychology of Computer Programming" �� Gerald M. Weinberg
�������� ��� ������ ���� ��������� ������� �� "��������������
����� �����". �� ��� ��� ���� � ������� �� �� ��������� ���
��������� ��� "���� ��� �������", ���� ��� � ����� �� ���������
��� ������� �� �� �� ������, ��������� �� ��������� �� ���
������� ���������.
� Richard P. Gabriel ��������� ��� ������� �� Unix ���� ���-Linux
����, �� �������� ������� �� ��� ������ ��� �������
���������� ��� ��� ������ �� "Lisp: Good News, Bad News, and How
To Win Big". �� ��� ����� �� ������� �����, �� �� �������
������ ��������� �� ��� ������ �� Lisp (����� ��� �� ��
�����). ���� ����������� �� ��������� ��� �� ������� �� �����
"Worse Is Better" ����� ��� ������ ��� �� Linux. �� �������
�������� ��� Internet, <
http://www.naggum.no/worse-is-better.html>.
�� ������ Peopleware: Productive Projects and Teams (New York; Dorset
House, 1987; ISBN 0-932633-05-6), �� De Marco ��� Lister, ������ ��
��� ��������� ��� �� ��������, �� ����� �� ��������� ���� �� ��
��������� ���� �������� �� � Brooks. �� ��� ���� ��' ��� ���� ��
�������� �� ����� �������� ��� Linux � ���� ����� �����, �
����� ���� ��� ��� ��� ��������� ������� ��� ���������� ������
����� �������� �� ������ ��� ���� ���� �� ��������� �� �������
������� ����� �� ������� ������� ��� ������� ��������.
�����, ���� �� ������� ��� ��� �������� �� �� ������� ���� "�
��������� ��� � �����", ��� � ��������� ���� �������� ��� ��������
������ ���� ������� ������ � ��� ������ ���� ��������. ��
������ �������� ��� �� "������� ��������" �� Marc Miller ��� Eric
Drexler, ������������ ��� ����������� �������� �� �������
������������ �������� �� �������� �� ����������� �� ����
�������� ��� ������� �������� ���� ������� �� ������ ����� ��
Linux, �� ����� ��������� ����� ����� �������. ���� �� �������
���������� ��� Internet, <
http://www.agorics.com/agorpapers.html>.
13. ��������: � Netscape ���������� �� ������!
����� �������� �� ������ ��� ������ �� ������ �������...
���� 22 �������� 1998, ������ ��� ����� ���� ��� ���� ���������
��� �� �������, � Netscape Communications, Inc. ��������� ���
������ ����� ���������� ��� ����� �� Netscape Communicator
<
http://www.netscape.com/newsref/pr/newsrelease558.html>. ���� ���
����� ��� ���������� ��� ������ ��� �� ������ ���� ������.
� Eric Hahn, ����������� ��� �������� ���������� ��� Netscape ��
�������, ����� ����, �� ���� �����: "��� ����� ��� ��� ����
Netscape, ��� �� ��� �������� �� ��� ��������� �� ������� �����
�' �� �� ������. �� ������ ��� �� ������ ��� ���� ���������
��������� ��� ��� ����� ���".
��� ������ �������� ���� ���� Silicon Valley, ���� �� �������� ���
Netscape ��� ��� ������� (���� 4 ��������� 1998), ���� �� ������
������ ��� �������. ��������� ��� ���������� ������� �� �����
��� ��� ������ ��� ��������������� ������ ���� ����� �� ��������
��� ������ �� ��� ��������� ��� ������� ��������� ���� ��������
�� ������ �����. ����� ��� ���� ��� �� �� �� ������������. ��
����� ��������� �� ������ ������.
� Netscape �������� �� ��� ��������� ���� ������� �������� �������
��������� �� ���������� ������� ���� ������� ����. � �������
�� ������ ����� ��� ������������ ��� ������: �� �� ����� ���
Netscape ������, � ���� �� ������ ����� �� ����������� ��� �
�������� ����� ��� �� ��� ���������� ��� ���� ��� ��������.
�� ��� ����, �� ����� ��� ��������� �������. � ����� ���������
�� ������������� ���� ����������� ������. ������������ �� �����,
������. �� � Netscape �������� �������� ������� ������ �� ��� ���
������ ��� �������� ��� ������������ ���������� ���� ���������
����������.
�� ������ ���� �� ����� ��� �������� �� ���������.