В чем соль открытого программирования
АрхивГлава из книги Линуса Торвальдса и Дэвида Даймонда "Ради удовольствия. Рассказ нечаянного революционера", выходящей в издательстве "ЭКСМО" в этом месяце. Эксклюзивная реализация книги через Интернет: магазин "Болеро".
Глава из книги Линуса Торвальдса и Дэвида Даймонда «Ради удовольствия. Рассказ нечаянного революционера», выходящей в издательстве «ЭКСМО» в этом месяце (любезно предоставлена издателем). Эксклюзивная реализация книги через Интернет: магазин «Болеро».
IBM знаменита своей хваткой. Она разбогатела, заграбастав кучу клиентов и надежно оградив их от чужих посягательств. Да и большинство компьютерных компаний действовало так же. Многие и сейчас так живут. Потом IBM разработала PC и нечаянно раскрыла свою технологию, так что каждый мог ее копировать. Именно это в первую очередь привело к PC-революции, которая, в свою очередь вызвала Информационную революцию, Интернет-революцию, Новую экономику - или как там еще принято называть массовые изменения, которые происходят сейчас по всему миру.
Это лучшая иллюстрация безграничных преимуществ, которые несут принципы открытых исходников. Хотя разработка PC не была открытой, потом эту технологию смог клонировать, совершенствовать и продавать любой желающий. В идеале модель открытых исходников позволяет каждому участвовать в разработке или коммерческой эксплуатации проекта. Очевидно, что наиболее успешным примером тут является Linux. Зародившись в недрах моей неряшливой берлоги в Хельсинки, она стала крупнейшим коллективным проектом в истории человечества. В начале была идея - которую разделяют многие программисты - о том, что компьютерные программы должны распространяться свободно, в сочетании с Универсальной общественной лицензией - антиподом авторского права. Со временем эта идея легла в основу непрерывной разработки самой лучшей технологии. В итоге Linux завоевала огромный успех на рынке, как показывает ее повсеместное распространение на веб-серверах и неожиданно успешное акционирование Linux-компаний.
Модель открытых исходников, возникнув под влиянием идеологии, утвердила себя в качестве технологии и подтвердила свою работоспособность на рынке. Теперь открытые исходники выходят за рамки технической и деловой областей. На юридическом факультете Гарвардского университета профессора Ларри Лессиг (сейчас он работает в Стенфордском университете) и Чарльз Нессон перенесли открытые исходники в область права. Они организовали проект открытого законодательства: добровольцы из числа юристов и студентов юридических факультетов посылают свои мнения и исследования на сайт проекта, чтобы выработать аргументы и резюме для борьбы с Законом США о продлении срока авторских прав. Предполагается, что самые серьезные аргументы будут выработаны, если к проекту присоединится наибольшее количество юристов и за счет всеобщего обмена посланиями вырастут горы информации. Сайт изящно резюмирует отличия от традиционного подхода: «Потерю секретности мы рассчитываем компенсировать за счет глубины источников и широты обсуждения». (В ином контексте это звучит так: под приглядом миллиона глаз все ошибки в программах будут устранены.)
В течение многих лет по этой схеме проводились академические исследования, но она применима и к другим областям. Представьте только, как такой подход может ускорить, например, разработку лекарств. Или как могла бы окрепнуть международная дипломатия за счет участия лучших умов. По мере «уменьшения» размеров мира, ускорения жизни и бизнеса, а также развития новых технологий и появления новой информации люди начинают понимать, что скаредность до добра не доводит.
Концепция открытых исходников крайне проста. В случае операционной системы исходники - команды программы, лежащие в основе системы - свободны. Каждый может их улучшать, менять, использовать. Но все эти улучшения, изменения и реализации должны быть тоже доступны всем бесплатно. Налицо аналогия с «дзен». Проект не принадлежит никому и одновременно принадлежит всем. Когда проект открыт, происходит его быстрое и непрерывное совершенствование. Параллельная работа нескольких групп приводит к более быстрым и успешным результатам, чем работа за закрытыми дверьми.
Именно так и было с Linux. Только представьте: взамен небольшой группки, работающей в обстановке секретности, в вашем распоряжении оказываются безграничные возможности. Потенциально в проекте могут принять участие миллионы лучших умов мира, и при этом их работа идет под неусыпным контролем коллектива, которому нет равных.
Каждому, кто впервые слышит об этом подходе, он кажется абсурдным. Поэтому потребовались годы, чтобы он завоевал признание. Модель открытых исходников утвердилась не за счет идеологии. Она начала привлекать внимание, когда стало очевидно, что это лучший метод разработки и усовершенствования технологии высочайшего качества. Теперь эта модель завоевывает рынок, что еще больше укрепляет ее авторитет. Оказалось, что можно создавать компании для оказания разнообразных дополнительных услуг или использовать открытые исходники для популяризации технологий. Денежный поток - очень убедительный аргумент.
Самый загадочный вопрос в этом деле - как такая прорва хороших программистов соглашается работать абсолютно бесплатно? Тут нужно поговорить о мотивации. В условиях общества, где выживание более-менее гарантировано, деньги - не самый лучший стимул. Хорошо известно, что лучше всего работает тот, кто одержим страстью. Кто работает ради удовольствия. Это так же верно в отношении драматургов, скульпторов и предпринимателей, как и в отношении программистов. Модель открытых исходников дает людям возможность удовлетворить свою страсть, получить удовольствие, сотрудничать с лучшими программистами мира, а не только с теми, кто оказался в штате той же компании. При этом разработчики стремятся завоевать авторитет среди своих коллег, и это оказалось превосходным стимулом.
Похоже, Билл Гейтс этого не понимает. Осознал ли он неуместность риторического вопроса, заданного им в 1976 году? «По существу вы препятствуете созданию хороших программ. Кто может себе позволить выполнять профессиональные обязанности бесплатно?» - написал он в послании программистам открытых исходников.
Понять феномен открытых исходников помогает аналогия с тем, как наука воспринималась религией столетия назад (а иными и сейчас воспринимается так же). Исходно наука представлялась чем-то вредным, опасным и антиобщественным - именно так многие софтверные компании рассматривают открытые исходники. И точно так же, как наука не родилась для подрыва религиозных устоев, так и движение открытых исходников не направлено на разрушение софтверной отрасли. Его задача - производить хорошие технологии и смотреть, что из этого получится.
Сама по себе наука не приносит денег. Богатство возникает как побочный эффект развития науки. То же самое верно и в отношении открытых исходников. Они дают возможность создавать вспомогательные отрасли, которые бросают вызов существующим предприятиям точно так же, как побочные продукты развития науки бросали вызов церкви. У нас на глазах небольшие компании вроде VA Linux, воспользовавшись преимуществами открытых исходников, начинают соперничать с могучими корпорациями. Стоя, как говорил Исаак Ньютон, на плечах гигантов.
И еще: по мере того, как открытые исходники начинают играть все большую роль в развитии мировой экономики, их разработчики получают признание и становятся все более ценными и желанными сотрудниками для работодателей. Компании просматривают списки с благодарностями за вклад в разработку, которые по традиции прилагаются к продуктам, созданным в рамках модели открытых исходников, в поисках наиболее активных участников проекта. А потом дают команду своим отделам кадров предложить потенциальным работникам тачку денег и опционов на акции. В предыдущем абзаце я утверждал, что деньги - не лучший стимул. И с тех пор не изменил своего мнения. Но должен сказать, что деньги - неплохое вознаграждение за тяжелую работу. Они бывают очень кстати, когда мне нужно заправить «BMW» бензином.
Как и в науке, побочные эффекты открытых исходников бесконечны. Возникают возможности, которые до недавнего времени казались немыслимыми. Открываются неожиданные новые рынки. Используя Linux или другие проекты с открытыми исходниками, компании могут создавать собственные версии и вносить собственные изменения, что невозможно ни при каких других условиях. Меня греет мысль, что всего случившегося с Linux нельзя было даже предвидеть, когда мы начинали. А сейчас процесс дошел уже и до Китая. Раньше разработка программного обеспечения в Азии обычно сводилась к локализации американских и европейских продуктов. Теперь и в этой части света есть специалисты, которые с помощью Linux разрабатывают собственные программы. И я очень горд тем, что на выставке Comdex ко мне подошел человек, чтобы показать бензиновый насос, работающий под управлением Linux. Это был опытный образец бензинового насоса. Идея была в том, чтобы клиенты бензоколонки могли выйти в Интернет и посетить CNN.com за те три минуты, что заполняется их бензобак. Стоя на плечах гигантов.
Это просто круто, что люди используют технологии вроде Linux просто для усовершенствования бензонасосов. Такого сорта изобретения были бы невозможны в рамках одной компании, потому что компания, которая выводит Linux на рынок, в первую очередь займется наиболее очевидными нишами: в настоящее время это серверы и навороченные ПК. Но открытые исходники позволяют компаниям делать именно то, что им хочется. Отсюда возникает Linux на встроенных устройствах. Поэтому Tivo использует Linux, Transmeta Web Slate работает под Linux и телефонные системы применяют Linux. Вот так и создаются миллиарды долларов с помощью открытых исходников.
Вы просто предоставляете мир самому себе. Не контролируя технологию, вы не ограничиваете ее использование. Вы предоставляете ее в общее распоряжение, и люди сами принимают решение использовать ее как платформу для своих продуктов и услуг. И хотя большинство из этих решений с глобальной точки зрения не имеют смысла, практически они работают хорошо. Я вовсе не пытаюсь помогать распространению Linux. Достаточно было сделать ее общедоступной, и она сама стала распространяться. И это относится не только к Linux. То же самое применимо к любому открытому проекту.
Открытые исходники - это вещь.
Люди не сомневаются в необходимости свободы слова. Они защищают ее ценой жизни. Свободу всегда приходится защищать ценой жизни. Но выбрать ее с самого начала не очень просто. То же самое и с открытостью. Важно принять решение придерживаться ее. Занять эту позицию довольно трудно, но в итоге она дает больше стабильности.
Проведите аналогию с политикой. Если бы возражения, выдвигаемые против открытых исходников, применяли к государствам, то у нас всегда была бы однопартийная система. Очевидно, что однопартийное правление намного проще, чем существующее у нас многопартийное - открытая политическая система, которая используется в большинстве стран. Если партия всего одна - можно не беспокоиться о достижении согласия с другими людьми. В защиту однопартийности можно было бы сказать, что управление государством слишком серьезная вещь и нельзя тратить время на компромиссы, которых требует открытость. Люди почему-то видят ложность этого рассуждения применительно к политике, но не к бизнесу. Удивительно, но в бизнесе открытость вызывает раздражение.
Аргументы, которыми компания ограждает свои технологии от раскрытия, звучат очень убедительно. Так никто не делает, говорит администрация. И это пугает. Люди боятся перемен - ведь неизвестно, к чему они приведут. Сохраняя статус-кво, компания с большей точностью может прогнозировать свое будущее, а это часто кажется более важным, чем достижение огромных успехов. Многие компании предпочитают небольшие прогнозируемые успехи очень крупным, но непрогнозируемым удачам.
Для корпорации непросто сделать открытым уже имеющийся у нее продукт. Возникает масса сложных проблем. Например, на протяжении месяцев или лет, ушедших на разработку продукта, компания накопила множество знаний. Эта внутренняя интеллектуальная собственность - основа благосостояния компании. Ей не хочется выпускать из рук эту интеллектуальную собственность, которая держит ее на плаву. И в то же время само существование этих знаний служит барьером для посторонних. Отбивает охоту участвовать в проекте.
Но я видел компании, которые переходили от закрытого к открытому.
Одним из примеров может служить финская компания Wapit, предоставляющая инфраструктуру обслуживания и поддержки для различных интерактивных устройств. Для этого компания использует собственный «телефонный» веб-сервер. Решение предоставить свои программы во всеобщее пользование было для них весьма логичным. Они хотят расширить обслуживание, но для этого нужно вначале создать инфраструктуру, что требует написания кучи программ. Это неизбежное зло. Поэтому они не считают, что таким решением предоставляют всем свою интеллектуальную собственность. Они подходят к этому с другой стороны: на разработку программ уходит масса времени специалистов, но компания не получает никакой выгоды, когда жестко удерживает эти программы.
Несколько факторов благоприятствовало Wapit. Во-первых, проект был не очень масштабный. Во-вторых, решение открыть исходники было принято на ранней стадии существования компании. Руководство решило, что, хотя у компании есть ресурсы для самостоятельной разработки продукта, нужно постараться создать что-то большее, чем позволяют собственные возможности. Кроме того, было решено, что открытые исходники помогут утверждению Wap как стандарта, используемого другими компаниями.
Они с самого начала обратились ко мне за советом, и я сказал, что нужно отказаться от привычки принимать все решения внутри компании. Посоветовал им пустить посторонних на собрания, где принимаются решения (если такие собрания проводятся). Сделав процесс принятия решений внутренним делом компании, они оттолкнут сторонних участников, которые не смогут продраться сквозь сеть внутренних взаимоотношений компании. Это одна из главных проблем при организации открытого проекта на базе корпорации. На словах объявить проект открытым несложно. Но при этом может совершенно ненамеренно произойти разделение на два лагеря: Мы и Они. Многие решения принимаются просто за столиком в кафетерии: сотрудники обсуждают различные варианты и приходят к консенсусу, даже не ставя вопрос на всеобщее обсуждение. А после того как решение принято в столовой организации, мнения посторонних попросту игнорируются.
Именно эта проблема многие месяцы преследовала Netscape после того, как весной 1998-го она приняла широко разрекламированное решение открыть исходники своего браузера следующего поколения (названного Mozilla). Прошло много времени, прежде чем проект реально стал открытым. Существовал клан сотрудников Netscape, которые не принимали небольшие «заплатки» от посторонних. Все сотрудники были между собой знакомы и принимали решения если не за физическим, то за виртуальным столиком кафетерия. Вместо того чтобы прославиться как первая корпорация, сделавшая свой крупный коммерческий проект открытым, Netscape вызвала шквал атак в прессе. Когда инертность компании получила огласку, ее репутация пошатнулась. Тогда они решились по-настоящему открыть проект для посторонних. Сейчас он, кажется, развивается гораздо более динамично.
У всех, кто впервые слышит о возможности сделать открытым уже существующий коммерческий проект, возникают одни и те же вопросы. Во-первых, каково будет сотрудникам компании, если кто-то посторонний выполнит работу лучше них и все об этом узнают. Мне кажется, они должны радоваться. К тому же они получают деньги, а основную работу делает кто-то другой. С этой точки зрения открытые исходники - вообще что бы то ни было открытое - вещь беспощадная. Они ясно показывают, кто чего стоит. Тут не спрячешься за управляющими.
Открытые исходники позволяют лучше всего использовать таланты посторонних. Но при этом компания должна выделить сотрудника, который будет следить за ее потребностями. Ему необязательно быть руководителем проекта. Для компании может оказаться выгоднее, если кто-то со стороны возьмет на себя руководство и будет выполнять его бесплатно. Это прекрасно, если он лучше справляется. Беда только в том, что посторонний человек может направить проект в русло, не отвечающее потребностям компании. Поэтому компания должна сама о себе позаботиться. За счет открытости разработки организация может сократить использование локальных ресурсов, но это не значит, что она сможет вообще обойтись без них. Проект может разрастись и стать гораздо масштабнее, чем был бы в рамках одной компании. Привлечение внешних ресурсов позволяет достичь более дешевой, завершенной и сбалансированной системы, но тут есть и оборотная сторона: расширенная система может принимать во внимание не только потребности компании, но и интересы потребителей.
Именно это может раздражать больше всего: потеря контроля и необходимость признать, что посторонний может лучше разбираться в вопросе. Еще одна трудность связана с поиском внутри компании сильного технического руководителя. Этому человеку должны доверять на двух уровнях: на уровне специалистов и на уровне администрации. В случае чего он должен быть готов признать, что в проекте с самого начала были ошибки. Лидер должен не прятаться от проблем такого рода, а суметь убедить всех, что нужно начать сначала. Хотя при этом придется многое выбросить на помойку. Такая новость никого не обрадует. Но от человека, которого все уважают, люди смогут ее принять.
Учитывая специфику типичного внутрикорпоративного механизма, техническим руководителем должна быть сильная личность. Он должен любить работать по мейлу и уметь сохранять нейтралитет. Я хотел бы избежать слова «посредник», потому что оно подразумевает наличие двух лагерей: внешнего и внутреннего. А этого быть не должно. Технический руководитель будет получать от компании деньги за то, что занимается открытыми исходниками. И сам он и все остальные должны знать, что ему платят не за согласие с сотрудниками компании, а за выполнение проекта. Очень опасно, если такой лидер будет слишком тесно связан с компанией. Ему могут доверять в технических вопросах, но не доверять в остальных.
Нужен настоящий дипломат.
Помните в песне: «Мне нужен один честный человек»?
Вот почему все эти годы я изо всех сил старался держаться подальше от Linux-компаний. Это особенно важно сейчас, когда дело запахло деньгами. Когда вокруг столько денег, все начинают интересоваться твоими мотивами. Мне помогает то, что меня всегда воспринимали как лицо нейтральное. Вы не представляете, как важно для меня сохранять нейтралитет. У меня от этого просто крыша едет.
Ладно, вы правы: пора кончать эту проповедь. Открытые исходники годятся не для каждого человека, проекта или корпорации. Но чем больше выгоды получают люди от успеха Linux, тем больше они понимают, что это не пустые слова восторженных неряшливых юнцов.
Стоит сделать что-нибудь открытым, и сразу возникают разнообразные возможности. Я говорю об открытых исходниках с тех пор, как журналисты принялись меня о них расспрашивать - то есть, по существу, последние пять лет. Раньше приходилось всем снова и снова объяснять, чем же они хороши. Казалось, этому не будет ни конца, ни края. Как будто по болоту бредешь.
А сейчас до людей стало доходить.
Пер. с англ. канд. физ.-мат. наук Натальи Шаховой
под ред. Евгения Радченко и Сауле Туганбаевой