Собор и базар

Предыстория освобождения Netscape Communicator 5.0

Решение компании Netscape открыть исходные коды будущей версии своего клиентского пакета (теперь это уже нельзя назвать просто браузером) не появилось на пустом месте. Во-первых, у компании появились более серьезные источники доходов, для которых важна доля рынка, занимаемая Навигатором, а не его цена. Во-вторых, руководству компании попалась на глаза статья хакерского летописца Эрика Реймонда, известного в первую очередь по поддерживаемому им словарю "Jargon File"-подлинной энциклопедии хакерской жизни.

Статья эта, озаглавленная "The Cathedral and the Bazaar", лежит в Сети по адресу http://www.earthspace.net/~esr/writings/cathdral-bazaar/cathedral-bazaar.html

В ней руководство Netscape увидело решение многих своих проблем - сокращение стоимости разработки, расширение базы пользователей, перенос на новые платформы и, конечно, сохранение лидирующих позиций на острие прогресса. Правда, речь в ней идет не о Netscape, а о Linux.

Реймонд рассматривает причины успеха Linux - особенности предложенной Линусом Торвальдсом модели разработки, позволившие за небольшой срок сколотить целую армию добровольных разработчиков и создать систему, аналоги которой разрабатывались десятилетиями. Я остановлюсь только на выводах, сделанных Реймондом, желающие могут обратиться к первоисточнику или уговорить меня сделать перевод. Итак.

  1. Каждая хорошая программа начинается с решения проблемы самого разработчика.
  2. Хорошие программисты знают, что писать. Крутые - знают, что переписать.
  3. Готовься все выбросить, это все равно обязательно случится (Фред Брукс).
  4. Если у тебя правильное отношение к делу, интересные проблемы сами найдут тебя.
  5. Когда программа тебе уже не интересна, твой последний долг-передать ее подходящему преемнику.
  6. Отношение к пользователям как к соразработчикам - самый легкий путь к быстрому улучшению кода и эффективной отладке.
  7. Выпускай программу пораньше, и новые версии почаще. И слушай потребителей.
  8. При достаточном количестве бета-тестеров и соразработчиков каждая проблема будет быстро описана, и найдется некто, знающий ее решение. (Закон Линуса: когда достаточно глаз, все баги мельчают).
  9. Хорошие структуры данных и плохой код работают лучше, чем обратная комбинация.
  10. Если ты будешь относиться к бета-тестерам как к своему самому ценному ресурсу, они ответят тебе тем, что станут твоим самым ценным ресурсом.
  11. Уметь отличать хорошие идеи от плохих почти так же хорошо, как уметь их выдавать. Иногда это даже лучше.
  12. Часто самые неожиданные и новаторские решения происходят от понимания того, что твой взгляд на проблему был неправильным.
  13. Совершенство достигается не тогда, когда больше нечего добавить, а тогда, когда нечего отнять (Антуан де Сент-Экзюпери).
  14. Любой инструмент должен быть применим очевидным образом, хороший инструмент предлагает непредусмотренные применения.
  15. Работая над шлюзовой программой любого типа, старайся как можно меньше вмешиваться в поток данных. И никогда не выкидывай информацию, удаления которой от тебя не требуют.
  16. Когда твой язык далек от Тьюринговой полноты, проблем с синтаксисом не будет.
  17. Система безопасности не более безопасна, чем ее секрет. Опасайся ложных секретов.
  18. Чтобы решить интересную проблему, начни с поиска интересной проблемы.
  19. Если координатор разработки располагает средой связи не худшей, чем Интернет, и умеет лидировать без принуждения, много голов будут работать лучше, чем одна.

Дмитрий БОРОДАЕНКО,
Эрик С. РЕЙМОНД

Версия для печатиВерсия для печати

Номер: 

08 за 1998 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!