|
Исходно открытый
Open Source (“открытые исходники”) — это метод разработки и лицензирования программ, при котором каждый желающий имеет право на свободное распространение (или продажу) приложения, свободную модификацию (сохраняя в коде информацию об авторах программы), свободную публикацию собственных улучшений и свободный доступ к его исходным кодам (такое определение дает сетевая энциклопедия Wikipedia).
Как ни странно, Open Source-проекты появились раньше, чем проприетарные программы. Точкой отсчета в истории открытых исходников принято считать рождение сети ARPANET (Advanced Research Projects Agency NETwork, 1968 год), основанной примерно на тех же принципах, что и Open Source. Следующей вехой в истории этого явления стала вторая версия ОС UNIX (это была самая первая многозадачная и многопользовательская операционка), написанная в 1969 году программистом Кеном Томпсоном (Ken Thompson) из Bell Labs, которая стала очень популярной во многом благодаря тому, что ее исходники распространялись свободно.
В 1973 году сотрудники агенства DARPA (Defense Advanced Research Projects Agency), Боб Кан (Bob Kahn) и Винтон Серф (Vinton Cerf), создают протокол TCP/IP, ставший впоследствии одним из краеугольных камней сети Интернет. Чуть позже, в 1979 г., университет Беркли (Калифорния) выпускает BSD UNIX (Berkeley Software Distributions), созданную в качестве ответа на инициативу компании АТ&T перевести UNIX на платную основу. Корпорации DEC (Digital Equipment Corporation) и Sun объявляют о начале коммерческого распространения BSD UNIX, но вскоре AT&T и Sun договариваются об объединении своих версий UNIX, способствовав тем самым созданию Open Software Foundation. Сейчас на UNIX работает подавляющее большинство почтовых серверов интернета.
|
Говоря об опасности открытых программ, Microsoft в то же время делает прямо противоположное — открывает... исходный код своих программ. Речь, конечно, идет об открытии кода только ограниченному кругу лиц (сторонним разработчикам, госструктурам и экспертам в этой области), но сам факт не может не удивлять. Гениальный ход — бить врага (т.е. движение Open Source) его же оружием.
Pro
Как видите, разработчики проприетарного программного обеспечения достаточно серьезно воспринимают угрозу со стороны Open Source и не сидят сложа руки. Да, Open Source породил такие известные проекты, как браузер Mozilla, web-сервер Apache, язык программирования Perl, технологию PHP, но является ли он панацеей от всех бед, как об этом твердят его ортодоксальные поклонники? Почему о тотальном переходе на Open Source в последнее время говорят все чаще и чаще? Что это — мода или свидетельство того, что это движение набирает силу? Каковы плюсы и минусы приложений с открытыми исходниками?
Преимущества этих программ очевидны, и о них мы уже говорили выше: это, прежде всего, — свобода распространения, свобода модификации кода, свобода публикации собственных улучшений, отсутствие затрат на приобретение лицензий и наличие большого огромного количества дополнительных модулей
|
Марк Андриссен, основатель Netscape Communications и вообще весьма известная в софтовом мире личность, озвучил в начале этого года на конференции Open Source in Government ряд причин, которые, по его мнению, приведут к победе Open Source уже в ближайшем будущем. Далеко не со всеми его аргументами можно согласиться, но ознакомиться с ними стоит:
1) интернет основан на открытых исходниках;
2) открытые исходники распространяются именно через интернет;
3) создание программ, основанных на Open Source, было бы невозможно без интернета;
4) софт, основанный на Open Source, лучше защищен, чем закрытое программное обеспечение;
5) Open Source — это позиция на плечах гигантов (по аналогии с известным изречением Ньютона; имеется в виду, что открытое ПО основано на уже существующих наработках);
6) Open Source подпитываются за счет антиамериканских настроений (крупнейшие софтовые компании сконцентрированы в США, поэтому во многих азиатских странах продукцию той же Microsoft отвергают по идеологическим причинам);
7) бесплатная Linux, чьи исходные коды открыты, ничуть не хуже, чем дорогое серверное ПО;
8) благодаря Open Source можно сократить расходы на перенос многих программ на все типы компьютеров;
9) идеологической основой Open Source служит уважение к чужим достижениям;
10) за счет Open Source увеличивается число фирм, разрабатывающих софт, даже если это не является основным направлением их деятельности;
11) все больше компаний начинают поддерживать Linux.
Contra
Минусы Open Source куда менее очевидны, чем плюсы, да и упоминают о них намного реже. Посему поговорим о них подробнее.
|
Первый фактор, выделяемый Мишель, — пренебрежительное отношение разработчиков к интерфейсу. Авторы Open Source-программ пишут их в первую очередь для себя и для других специалистов, им неведомы мучения обычных пользователей, которые “не в теме” (особенно если приложение распространяется бесплатно). Софтверные компании не могут позволить себе такого, поскольку их продукты рассчитаны на массового пользователя и, хоть плачь, должны иметь максимально удобный и интуитивный интерфейс.
Вторая проблема приложений с открытыми исходниками — неграмотно составленная или очень краткая документация (а то и вообще — отсутствие таковой). Корни этой проблемы следует искать в том же самом месте, что и в случае с предыдущим фактором, — программисты, создающие Open Source-проекты, плохо представляют себе, чем живут рядовые пользователи, для них главное то, что программа работает, а все остальное — дело десятое. Отсюда проистекает третья проблема — чрезмерный акцент на функциональность программы в ущерб всему остальному.
Но больше всего Open Source вредит четвертый фактор: принципиальное нежелание многих разработчиков перенимать опыт коллег, работающих над проприетарными программами. Аргументация презабавная: “Они плохие, потому что они
|
Есть и другие факторы, о которых Мишель не упомянула. Во-первых, все защитники открытых исходников почему-то постоянно забывают о том, что большое количество людей, работающих над Open Source-программой, еще не есть гарантия ее качества. Самый яркий пример — Linux, в разработке которого, как я уже говорил выше, участвовало 40 тысяч человек. И где, спрашивается, результат? Да, эта ОС имеет сильные позиции в сфере серверного ПО, но для рядовых пользователей она как была, так и осталась “вещью в себе”, непонятной и недружелюбной программой. Создать по-настоящему конкурентоспособную операционную систему или пакет офисных приложений можно лишь при наличии единого руководства, четкого плана, большого бюджета (исчисляемого десятками миллионов долларов) и грамотной маркетинговой политики — чего у большинства разработчиков программ с открытыми исходниками никогда не было и нет.
Во-вторых, считается, что закрытое ПО защищено намного хуже, чем Open Source-программы. В качестве примера обычно приводят Windows, уязвимости в которой обнаруживают едва ли не ежедневно, и Linux, “дыры” в котором действительно находят намного реже. Убедительный, казалось бы, аргумент. Но Юджин Спаффорд (Eugene Spafford), крупный специалист в области безопасности и защищенности операционных систем, считает иначе. По его мнению, Linux не менее уязвима, чем Windows, а столь частое обнаружение “дыр” в последней объясняется лишь ее популярностью. “Дыры” ищут целенаправленно, ведь для многих специалистов по безопасности обнаружение очередной уязвимости — это шанс заявить о себе (а какой резон искать “дыры” в “пингвинах”?). Linux тоже далеко небезупречен (подтверждением этого является частый выход патчей для него), и будь он столь же распространен, как и Windows, в нем бы находили ничуть не меньшее количество “дыр”.
|
Третье заблуждение заключается в непонимании многими людьми разницы между freeware и Open Source. Между словосочетаниями “открытый софт” и “всегда бесплатно” так часто ставят знак равенства, что порой и сам начинаешь сомневаться — а вдруг это действительно так? Такая точка зрения действительно имеет право на существование, если придерживаться той трактовки понятия Open Source, которую дают апологеты движения GNU. Но на самом деле одно вовсе не подразумевает другое: тот же Linux, например, вполне успешно продается RedHat, Debian и другими компаниями. На разработку серьезного софта требуются серьезные деньги (расходы на оборудование, софтверные, оплата труда программистов и т.д.), а прогнозы тех, кто возвещает скорое пришествие эры freeware, следует воспринимать не просто скептически — их надо поднимать на смех. Кстати, если Microsoft (надо отдать ей должное) хоть как-то, но совершенствует Windows, постоянно изобретая что-то новое и тратя на это большие деньги (вспомните-ка, сколько денег она направила на одно только распространение Service Pack 2 для Windows XP), то некоторые Open Source-разработчики (не будем показывать пальцем в сторону RedHat) не стесняются продавать уже готовые наработки Linux-коммьюнити, взимая за это весьма солидные деньги (плату, правда, берут только с тех, кому нужна техническая поддержка, но тем не менее).
Еще один распространенный миф — сказки о гораздо более широкой функциональности Open Source-программ. Дескать, любая инновация может внедрена в рекордные сроки. На самом же деле, тем же самым могут похвастаться и проприетарные программы — если, конечно, их авторы позаботились о поддержке плагинов (внешние модули, добавляющие в приложение новые функции). Плагины для тех Internet Explorer или Adobe Photoshop (закрытых, между прочим, программ) выходят постоянно, а все потому, что они распространены намного шире, чем открытые программы. У Open Source-разработчиков же, как ни прискорбно, на реализацию даже самых простейших функций, которые давным-давно есть в проприетарном софте, уходят месяцы, а иногда и годы. К тому же, плагины сами по себе намного безопаснее, ведь они не вносят изменения в исходный код основной программы, тогда как кривой апдейт для Open Source-софта может попросту “убить” приложение. Стоит ли говорить о том, что в апдейт какой-нибудь злоумышленник может запросто встроить троян или шпионскую программу?
Не менее странно выглядят и заявления о “бессмертии” Open Source-проектов. Да, действительно, если автор забросил многообещающий проект, его могут поддерживать другие люди, если они забросили — подберут другие, и так до бесконечности. То же самое вполне применимо и к миру проприетарного софта — примеров, когда у одной и той же закрытой программы сменилось несколько владельцев, более чем достаточно.
Многие разработчики не хотят открывать исходники своих программ не потому, что они против Open Source, а потому, что они просто боятся воровства. Представьте себе, вы открыли исходники своего проекта, а какой-то умник взял да и использовал твои многолетние наработки в своей программе, причем с закрытыми исходниками. Попробуй потом докажи свою правоту.
Взгляд изнутри В анализе перспектив Open Source сторонним наблюдателем по определению должна присутствовать некоторая доля необъективности, поскольку человек, который “не в теме”, может не понимать вещи, которые кажутся очевидными “инсайдерам”. Поэтому мы решили обратиться к одному из российских Open Source-разработчиков, дабы получить взгляд “изнутри”. Встречайте: Роман Иванов, участник проекта WackоWiki (http://wackowiki.com)
Роман Иванов ([Р.И.]): Во-первых, мой основной открытый проект, WackoWiki, — это своего рода наследник проекта WakkaWiki, который перестал развиваться. Соответственно, лицензию мы просто унаследовали. Во-вторых, если бы программа не была открытой, она бы не завоевала такой популярности — многие веб-студии и даже некоторые наиболее крупные компании рунета используют WackoWiki в качестве среды для ведения своих проектов и накопления знаний. Опять же, зарубежных инсталляций у него не меньше, чем в России, что позволяет налаживать контакты с другими исследователями и разработчиками. [И.]: В чем преимущества Open Source перед закрытым софтом и каковы его недостатки? [Р.И.]: Для меня основное преимуществ открытого софта заключается в том, что я всегда могу подправить его под себя. Вот, скажем, есть замечательный аутлайнер Wikidpad. Но мне не нравятся его шорткаты и его wiki-разметка. Если бы он был открытым, я бы исправил это для себя за 20 минут. А так — жду уже полгода, пока автор сделает его настраиваемым в достаточной мере. Второе важное преимущество — то, что большая часть вот таких адаптаций под себя уже кем-то сделана. Если есть хорошее сообщество, то обменяться этими апдейтами очень легко. На днях в Живом Журнале (www.livejournal.com) образовался такой микропроектик — собрать в одном месте все правки и настройки, которые полезно сделать в системе Mantis Bugtracker, чтобы его можно было использовать с куда большим удобством. Третье преимущество в том, что брошенные автором проекты продолжаются другими людьми, если проект был достаточно хорош. См. выше, про происхождение WackoWiki. Недостатки? Прежде всего то, что ресурсоемкие области не могут быть охвачены свободным ПО без крупных инвестиций со стороны корпораций или государств. Например, открытого OCR (ПО для распознавания отсканированных текстов) удовлетворительного качества не существует. Точно так же, как и крупных игровых проектов с открытым кодом. [И.]: Многие считают, что открытый софт защищен намного хуже, чем проприетарный, а значит, и более уязвим. Согласны ли вы с этим мнением? [Р.И.]: Любопытное заявление. Я слышал прямо противоположные вещи. Но неважно. Понимаете, security by obscurity (попытка добиться безопасности ПО, закрывая исходные коды — прим. авт.) — самый плохой способ обеспечения безопасности. Одна из самых громких историй, доказывающих неправильность этой позиции, — история про секретный “вход” в базу данных Interbase, который оставался незакрытым много лет — до тех пор, пока корпорация Borland/Inprise не решила открыть код проекта. Кто знает, кому было известно про существование этого “входа”? Кто знает, кто им пользовался и какие данные он смог украсть? [И.]: Почему, по вашему мнению, движение за открытые исходники до сих пор проигрывает схватку с разработчиками закрытого софта (например, уже много лет говорят об усилении позиций Linux, но он по-прежнему остается малораспространенным)? [Р.И.]: Это смотря где. На серверах, особенно интернет-серверах (веб, DNS, роутинг и т.п.) открытые ОС имеют очень сильные позиции. Linux и десктоп — тема настолько острая, что я бы лучше воздержался от комментариев. А вообще, нельзя сказать, что открытый софт однозначно проигрывает закрытому. Как и о том, что выигрывает. Надо смотреть на конкретные проекты. Например, невзирая ни на что, доля браузеров на движке Mozilla Gecko постоянно растет (спорное утверждение — по данным на начало июня доля Internet Explorer составляла 93,9%, в то время как доля Mozilla — всего 2,1%. В прошлом году “ослику” принадлежал чуть больший кусок браузерного “пирога” — 95%, но говорить о сокращении его доли нельзя: причиной таких незначительных колебаний может являться всего лишь погрешность измерений — прим. авт.). Или вот пример: больше половины моих знакомых пользуется Miranda IM вместо закрытой ICQ — и не потому, что “Миранда” открытая, а потому, что она действительно лучше. [И.]: Каковы перспективы Open Source в обозримом будущем? Кто выйдет победителем из противостояния разработчиков проприетарного софта и Open Source? Или они и дальше будут существовать параллельно? [Р.И.]: Да нет никакого противостояния. Есть противостояние между конкретными продуктами. И то далеко не во всех областях. Думаю, в ближайшее время победа одной из двух моделей нам не грозит. |
* * *
Может показаться, что мы выступаем против открытых исходников. Это не так. Open Source — это несомненное благо и усиление позиций данного движения будет лишь подстегивать конкуренцию, способствуя появлению более качественного ПО и ослаблению влияния крупных софтверных корпораций (в первую очередь Microsoft, имеющей свои рычаги буквально повсюду). Важно лишь понимать, что в ближайшем будущем открытые программы усилят свои позиции (прежде всего — за счет стран Азии, где Open Source развивают главным образом в пику Microsoft в частности и Америке вообще) и, возможно, достигнут паритета с проприетарным ПО; но полной и безоговорочной победы Open Source, о которой на каждом углу твердят адепты этого движения, можно даже и не ждать. И это правильно — ведь свои достоинства и у тех, и у других.