- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Собор и Базар - Эрик Рэймонд
Шрифт:
Интервал:
Закладка:
По-моему не очень существенно, способен ли координатор на оригинальный дизайн. Однако, совершенно необходимо, чтобы лидер проекта был способен отличить хороший дизайн от всех остальных.
И Linux, и fetchmail показали очевидность этого утверждения. Линус – отличный разработчик, который к тому же показал свое умение распознавать хороший дизайн и встраиваить его в ядро Linux. А я, в свою очередь, уже описывал, как единственная наиболее мощная идея в разработке fetchmail (SMTP forwarding) была получена со стороны.
Прежние читатели этой статьи отмечали, что я склонен недооценивать первоначальный дизайн в проектах базара, так как сам я отлично с ним справляюсь, и, поэтому принимаю это как должное. Возможно, в этом есть доля правды, дизайн, в отличие от кодирования и отладки, – мой конек.
Проблема первоначального дизайна заключается в том, что вы начинаете проект, усложняя себе задачу, в то время как следует оставлять ее простой и понятной. Некоторые мои проекты проваливались из-за того, что я совершал эту ошибку, и поэтому я старался не допустить ее при разработке fetchmail.
Итак, я уверен, что fetchmail удался, потому что я ограничил свою изобретательность. Давайте рассмотрим Linux. Предположим, что Линус Торвальдс стремился убрать основные изобретения в дизайне операционных систем, разве получили бы мы такое мощное и стабильное ядро?
Конечно, определенные знания в области дизайна, а также навык кодирования необходимы, но мне кажется, что каждый, кто всерьез думает о такой разработке, превосходят требуемый минмиум. Репутация внутреннего рынка открытых программ оказывает давление, которое предостерегает недостаточно компетентных людей.
Существует другое важное качество, не менее важное для успеха проекта в стиле базара. Координатор такого проекта должен иметь хороший опыт общения с людьми.
Необходимость этого очевидна. Для создания сообщества разработчиков, вам необходимо как-то привлечь людей, заинтересовать их тем, что вы делаете.
Техническая часть, конечно, очень существенна, но и ваша личность имеет немаловажное значение.
Линус не случайно является симпатичным парнем, который нравится людям, и которому люди с удовольствием помогают. Также не является совпадением то, что я – очень энергичный экстраверт, которому нравится работать в команде.
Если вы знаете как понравиться людям, это очень сильно поможет вам в разработке модели в стиле базара.
10. Социальный контекст открытых программ.
Верно сказано: лучшие программы начинаются с решения проблем автора, с которыми он сталкивается каждый день, и расширяются, потому что эти проблемы оказываются типичными для большого класса пользователей. Это возвращает нас к первому правилу, которое можно сформулировать более точно:
18. Чтобы решить интересную проблему, найдите проблему которая вас заинтересует. Это произошло с Карлом Харрисом и его родовым popclient'ом, это произошло со мной и fetchmail'ом. В этом нет ничего нового, гораздо интереснее другое. История с Linux'ом и fetchmail'ом указывает на следующую стадию в эволюции программного обеспечения – активное сообщество пользователей и разработчиков.
В «The Mythical Man-Month» Фред Брукс рассматривал различные зависимости времени разработки. Он показывает, что сложность проекта и его коммуникационные издержки квадратично зависят от числа разработчиков, в то время как проделанная работа зависит только линейно. Это утверждение называется «закон Брукса», и большинство признает его правильным. Однако, если бы дело было только в законе Брукса, Linux не мог бы существовать.
Пять месяцев назад, Джеральд Венберг в «Психологии программирования» предложил теорию, которую мы можем рассматривать, как жизненную поправку к закону Брукса. Обсуждая «неэгоистичное программирование» (egoless programming), Венберг замечает, что если разработчики не являются безраздельными владельцами исходников программ и приветствуют, когда другие люди помогают искать ошибки и предлагают различные улучшния, программа прогрессирует намного быстрее.
Возможно, терминология Венберга не способствует тому, чтобы его утверждения приняли. Многие люди улыбаются при описании хакеров Интернет как «неэгоистичных». Однако, я думаю, что его аргументы лучше всего соответствуют сегодняшней ситуации.
История UNIX подготовила нас к тому, что мы узнали от Linux (и тому, что я проверил на небольшом проекте, копируя методы Linux'a). В то время как кодирование является в основном индивидуальной деятельностью, гениальные хаккерские решения приходят от всего сообщества. Разработчик, который работает в замкнутом проекте и пользуется только своей головой, уступает разработчику, создающему открытый проект, в котором участвуют сотни людей, занятых поиском ошибок и предлагающих различные улучшения.
Однако, в традиционном мире UNIX этот подход не является единственным. Одна из причин – это коммерческие и торговые секреты, ограничения различных лицензий и т. д. Другая причина заключается в том, что Интернет недостаточно хорошее средство общения.
Прежде чем появилась дешевая связь через Интернет, существовало несколько географически компактных сообществ, традиции которых поощряли «неэгоистичное программирование», и разработчики сотрудничали друг с другом. Bell Labs, MIT AI Lab, UC Berkely стали родиной легендарных и до сих пор мощных изобретений.
Linux – это первый проект, который пытался собрать таланты по всему миру. Я думаю, что период зарождения Linux неслучайно совпал с появлением World Wide Web. Линус был первым, кто понял, как играть по новым правилам, которые стали возможными благодаря Интернет.
Дешевый Интернет является необходимым условием для развития модели Linux, но, как мне кажется, недостаточным. Другие жизненные факторы – это стиль руководства и традиции, побуждающие разработчиков искать сотрудников для достижения максимального эффекта.
Что же это за стиль руководства и каковы эти традиции? Они не могут быть основаны на принуждении, потому что тогда бы мы не получили таких результатов.
Ранее я ссылался на эффект Delphi, как возможное обЪяснение закона Линуса.
Также для этого безупречно подходят аналогии с адаптивными системами в биологии и экономике. Мир Linux во многих отношениях ведет себя как свободный рынок или как экологическая система. Это похоже на множество заинтересованных агентов, которые пытаются максимизировать полезность. В конечном итоге система, где эти агенты действуют независимо, оказывается более эффективной, чем та, в которой происходит централизованное планирование.
Функция полезности, которую максимизируют хаккеры Linux, не является классической для экономики. Она зависит от их самоудовлетворения и репутации среди других хаккеров.(Можно было бы назвать их мотивацию альтруистической, однако альтруизм сам по себе является средством самоудовлетворения альтруиста.) Добровольные сообщества, работающие по этому принципу встречаются довольно часто. Я долгое время участвовал в сообществе любителей научной фантастики, которое, в отличие от сообщества хаккеров, признает «egoboo» – улучшение репутации среди других фанатов – как единственную движущую силу добровольной работы.
Можно рассматривать метод Линуса, как способ создать эффективный «egoboo» рынок. То есть соединить заинтересованность отдельных хаккеров и задачу, которая может быть решена только в сообществе. В проекте fetchmail я показал (в меньшем масштабе), что эти методы могут давать хорошие результаты.
Возможно, я даже сделал это более систематически.
Многие люди (особенно те, которые не доверяют свободным рынкам по политическим причинам) ожидают, что подобное сообщество эгоистов будет расточительно, скрытно и враждебно настроено. Однако эти ожидания обманываются, что подтверждается одним ярким приером. Этот пример – ошеломляющее разнообразие, качество и глубина документации Linux. Известно, что программисты ненавидят писать документацию. Почему же тогда документация Linux столь обширна? Очевидно, что в этом случае свободный рынок Linux работает эффективнее, чем производители коммерческих программ.
Fetchmail и Linux показали, что опытный координатор может использовать Интернет для связи между разработчиками, не опасаясь, что проект превратится в хаос. Поэтому закону Брукса можно противопоставить следующее: 19. Если у координатора разработки есть средство связи, по меньшей мере такое как Интернет, и он умеет лидировать без принуждения, то лучше пользоваться несколькими головами, чем одной.
Я думаю, что будущее свободного программного обеспечения принадлежит людям, которые знают как играть в игру Линуса, которые оставляют стиль собора и разрабатывают проекты в стиле базара. Это не означает, что индивидуальность не играет больше никакой роли. Наоборот, впереди окажутся те, кто начинал с индвидуального мастерств, а потом расширил его через эффективное создание добровольных сообществ.