Предыстория освобождения 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 - особенности предложенной Линусом Торвальдсом модели разработки, позволившие за небольшой срок сколотить целую армию добровольных разработчиков и создать систему, аналоги которой разрабатывались десятилетиями. Я остановлюсь только на выводах, сделанных Реймондом, желающие могут обратиться к первоисточнику или уговорить меня сделать перевод. Итак.
- Каждая хорошая программа начинается с решения проблемы самого разработчика.
- Хорошие программисты знают, что писать. Крутые - знают, что переписать.
- Готовься все выбросить, это все равно обязательно случится (Фред Брукс).
- Если у тебя правильное отношение к делу, интересные проблемы сами найдут тебя.
- Когда программа тебе уже не интересна, твой последний долг-передать ее подходящему преемнику.
- Отношение к пользователям как к соразработчикам - самый легкий путь к быстрому улучшению кода и эффективной отладке.
- Выпускай программу пораньше, и новые версии почаще. И слушай потребителей.
- При достаточном количестве бета-тестеров и соразработчиков каждая проблема будет быстро описана, и найдется некто, знающий ее решение. (Закон Линуса: когда достаточно глаз, все баги мельчают).
- Хорошие структуры данных и плохой код работают лучше, чем обратная комбинация.
- Если ты будешь относиться к бета-тестерам как к своему самому ценному ресурсу, они ответят тебе тем, что станут твоим самым ценным ресурсом.
- Уметь отличать хорошие идеи от плохих почти так же хорошо, как уметь их выдавать. Иногда это даже лучше.
- Часто самые неожиданные и новаторские решения происходят от понимания того, что твой взгляд на проблему был неправильным.
- Совершенство достигается не тогда, когда больше нечего добавить, а тогда, когда нечего отнять (Антуан де Сент-Экзюпери).
- Любой инструмент должен быть применим очевидным образом, хороший инструмент предлагает непредусмотренные применения.
- Работая над шлюзовой программой любого типа, старайся как можно меньше вмешиваться в поток данных. И никогда не выкидывай информацию, удаления которой от тебя не требуют.
- Когда твой язык далек от Тьюринговой полноты, проблем с синтаксисом не будет.
- Система безопасности не более безопасна, чем ее секрет. Опасайся ложных секретов.
- Чтобы решить интересную проблему, начни с поиска интересной проблемы.
- Если координатор разработки располагает средой связи не худшей, чем Интернет, и умеет лидировать без принуждения, много голов будут работать лучше, чем одна.
Дмитрий БОРОДАЕНКО,
Эрик С. РЕЙМОНД
Горячие темы