|
![]() ЛУЧШЕЕ ИЗ ЛУЧШЕГО
![]()
- Knoppix - ДЛЯ ДЕЛА: ПРОФИ
- Debian - ДЛЯ ДЕЛА: ЛЁГКИЕ
- Moblin - ЗАЩИТА
- BackTrack/WHAX - МУЛЬТИМЕДИЯ
- ASork Studio - ПРИЛОЖЕНИЯ
- OpenDisc - ДЛЯ ЗАБАВЫ
- Линукс Геймер - ЭКСПЕРИМЕНТ
- GoboLinux - РОДНЯ
- OpenSolaris -
![]()
(2003 - 2010) ![]() ![]() ![]() ![]()
ПИНГВИН В КАРМАНЕ ![]() ![]() ![]() ![]() ![]() ![]() корректор ![]() |
Чем дальше в XXI век, тем чаще звучит приставка «свободное» применительно к программному обеспечению и интеллектуальной собственности вообще. Ещё в конце 90-х свободный софт был заповедной нивой кибернетических романтиков и экзотической конфеткой для жадных до всего перспективного инвесторов. Сегодня свободные программы везде: свободой пестрят софтверные архивы, свободными нарекаются иконки, заставки и рингтоны, свобода — ключевое слово в компьютерных рекламных объявлениях, свободу вспоминают с поводом и без. Но рискну утверждать, под внешним лоском абсолютного приятия таится всё то же настороженное отношение, что и десять, и двадцать лет назад. Положа руку на Библию по модернизации персоналок, скажите честно: когда вы встречаете слово «свободный», разве не задаётесь вы вопросами: а что мне это даст и чем я рискую? Разве не ощущаете вы в глубине души страх, словно столкнулись с чем-то неизвестным? Не бойтесь признаться себе, а главное помните — вы не одиноки! Свобода применительно к интеллектуальной собственности — совсем непростая штука. И, как следствие, путаются в ней не только рядовые пользователи, но и те, кому по рангу положено знать наверняка: разработчики и издатели. Так давайте же поставим очередную точку, пунктик за пунктиком разобрав все аспекты компьютерной свободы, сделав акцент на программном обеспечении. А начать путешествие к полюсу свободного софта, как ни странно, лучше всего с противоположной точки — несвободных программ. Или, как их ещё называют, проприетарных (от англ. proprietary — собственнический). Такие программы создаются для того, чтобы зарабатывать на их продаже. Представьте, что вы написали замечательную утилиту, чем-либо выгодно отличающуюся от других аналогичных разработок. Пусть ваш продукт будет быстрей конкурентов или решает поставленную задачу лучше. Возможность продавать утилиту по более низкой цене — тоже хорошее отличие на первых порах. В любом случае, покончив собственно с программированием, вы должны будете решить ещё две проблемы. Во-первых, постараться максимально увеличить получаемую прибыль. Во-вторых, помешать конкурентам заглянуть в нутро вашей утилиты и позаимствовать её устройство, либо попросту модифицировать вашу программу и выдать её за свою. Убить двух этих зайцев одним выстрелом можно, если вы снабдите свою утилиту набором правил по её использованию, а согласие с правилами сделаете обязательным. Покупатель должен будет согласиться с вашими правилами, либо потеряет право на использование программы. Такой набор правил называют пользовательским соглашением или лицензией. Содержимое лицензии в данном случае вы легко перечислите сами. Здесь, к примеру, стоит прописать запрет на установку одной копии программы более чем на один компьютер: для того, чтобы пользователь, расширивший свой компьютерный парк, пополнил и ваш кошелёк. Здесь стоит прописать запрет на перепродажу программы, чтобы никто не вздумал наживаться на ваших трудах. Стоит запретить изучение внутренностей вашей программы и её модификацию с любыми целями. Короче говоря, не стесняйтесь: чем больше запретов вы пропишете, тем больше принесёт вам ваш продукт, особенно если он популярен. Отсюда и итог: лицензии на несвободные программы содержат в основном запреты. Не нужно далеко ходить и за примерами: всем известная корпорация, операционные системы и офисные пакеты которой работают на подавляющем большинстве компьютеров мира, следует перечисленным принципам в точности.
На полпути от несвободных программ к свободным находятся программы бесплатные. Отличие их от несвободных сородичей лишь в том, что достаются они пользователям — кто бы мог подумать :-) — за так. Кроме того, иногда разработчики бесплатных программ делают некоторые послабления в лицензии, предоставляя пользователю чуть больше прав. Так, бесплатную софтинку часто можно использовать на нескольких компьютерах сразу, или переписывать друзьям/коллегам. Однако важнейшее свойство, присущее несвободным программам, остаётся в силе и здесь: вы не имеете права перепродавать и модифицировать бесплатную программу. Таким образом фактически бесплатная программа тоже несвободна. И, наконец, свободные программы. Опознать их очень легко: лицензии для свободных программ почти не содержат запретов, зато декларируют несколько основных прав пользователя (ещё называемых свободами). Самой известной свободной лицензией на сегодня является GNU General Public License v2 — Универсальная общественная лицензия версии 2, разработанная проектом GNU. Чаще название сокращают до GNU GPL или просто GPL. Вот перечень основных возможностей, которые предоставляет GPL: пользователь вправе запускать программу без каких-либо ограничений, вправе изучать и модифицировать исходный текст программы с любыми целями, вправе копировать программу и предоставлять её оригинал или модифицированную копию другим пользователям бесплатно или за деньги. Всё это предоставляется с одной оговоркой: человеку, который получит программу от вас, вы должны передать тот же набор прав, а значит — должны укомплектовать копию программы её исходными текстами и лицензией GPL. Плюс, если вы собираетесь продавать программу, не забывайте о торговых марках, на которые действие лицензий не распространяется: если разработчик программы запретил использование своей торговой марки, вы по-прежнему вправе модифицировать его программу и распространять её, но все торговые марки из программы придётся вычистить (изменить название и т.п.). Либо выбирайте такие свободные программы, которые избавлены от «запретных» торговых марок: мне импонирует Debian Linux. Свободных лицензий придумано десятки, если не сотни — для всех видов контента (для программ, текстов, графики и т.д.). Подчас они ещё более либеральны, чем GPL: к примеру, лицензии семейства BSD не требуют раскрывать исходных текстов модифицированной программы. Но GPL вырвалась в лидеры благодаря Linux. С того дня в начале 90-х, когда Линус Торвальдс опубликовал исходники ядра своей операционной системы под GPL v2, по всему миру разошлись миллиарды её копий и на GPL теперь равняется весь свободный софт. Вспомните, как устроен типичный линуксовый дистрибутив: его основа — ядро, поверх навешаны системные утилиты, прикладные программы и дополнительный контент. Поэтому вся обвеска, как правило, тоже опубликована под свободными лицензиями, которые не противоречат GPL.
Такова теория. А теперь давайте обратимся к практике и посмотрим, какие фактические преимущества может дать по-настоящему свободный софт в повседневной жизни. На первом месте стоит свобода запуска. С помощью программ и утилит, входящих в любой популярный дистрибутив Linux можно обустроить весь документооборот и дома, и в офисе. Вам не придётся думать о тратах на обновление программ или покупке новых копий в случае расширения компьютерного парка. Заметьте, весь софт, работающий теперь на ваших компьютерах, лицензионно чистый. Вам не о чем беспокоиться в случае, если вы построили на нём свой бизнес и — увы, российские реалии — нагрянула проверка. На втором месте — свобода модификации. Вы имеете право прочесть исходники свободной программы и изменить их как вам заблагорассудится. Не думайте, что эта свобода нужна только программистам: может случиться так, что разобраться в программе и внести изменения вручную будет быстрее и эффективней, нежели просить сделать это разработчиков (и надеяться, что они это сделают). Так было у нас, на форуме Knoppix.ru. Построенный на свободном движке phpBB, он оснащён защитой от автоматических регистраций, блокирующей вход для роботов-спамеров. Однако phpBB — популярный продукт, и стандартная спам-защита давно взломана. Чтобы исправить эту проблему, я внёс в исходный текст форума несколько изменений от себя, поменявших работу защиты — и таким образом решил проблему. Если бы форум был построен на несвободном движке, изменение программы означало бы нарушение лицензии и (по крайней мере в России) нарушение закона. Со всеми потенциально вытекающими последствиями. На третьем месте — свобода распространения, в том числе и возмездного. Вряд ли этой свободой воспользуются многие из вас, но чтобы вы смогли почувствовать весь её потенциал, оцените такой факт. Большая часть содержимого знаменитой Википедии опубликована под свободными лицензиями. Представьте, как здорово было бы издать такую энциклопедию в бумажном виде! Будет ли бумажный вариант иметь успех — отдельный разговор, для нас важнее другое: каждый желающий вправе сделать это. Как вправе выпустить собственный офисный пакет на основе OpenOffice.org, или свою операционную систему на основе ядра Linux. И не поддавайтесь искушению осуждать тех, кто продаёт свободные программы, якобы, наживаясь на чужих трудах. Всегда вспоминайте Линуса Торвальдса, который считает, что Linux «добилась всего в жизни» только потому, что сам Линус разрешил другим людям и компаниям свою операционку продавать (опубликовав под GPL, о чём мы говорили раньше). Свободные программы привлекают предпринимателей, которые могут строить на них свой бизнес, вместо того, чтобы начинать с нуля. А результаты в виде исходных текстов возвращаются в сообщество пользователей и разработчиков, обеспечивая таким образом нескончаемую спираль прогресса. Последнее преимущество свободного софта — гарантия бессмертия перспективного проекта. Если разработчик свободной программы в какой-то момент прекратил её развитие (не важно, по каким причинам), пользователи смогут продолжить выпуск новых версий сами, взяв проект в свои руки. Живой тому пример — свободный 3D-скринсейвер MatrixGL, созданный шесть лет назад авторами сайта Knoppix.ru, а сегодня развиваемый её бывшим пользователем, Винсентом Ланчбери. Будь MatrixGL несвободным, проект давно бы заглох.
Вот, пожалуй, и все основные преимущества, которые даёт свободное программное обеспечение рядовому пользователю. В конце хочется призвать к осторожности в тех случаях, когда разработчик, сначала называя свой продукт свободным, позже противоречит сам себе, ограничивая права пользователя. Из последних примеров такого рода можно вспомнить историю шрифта ПТ Санс. Создатель этого шрифта, российская компания Paratype, декларирует возможность распространения его под одной из свободных лицензий. Однако в дискуссии с заинтересованными пользователями звучит уже формулировка «шрифты бесплатные, нельзя продавать их за деньги», что, как вы понимаете, принципиально ограничивает одну из базовых свобод. Вероятно в данной ситуации подобное расхождение — всего лишь оговорка, в попытке объяснить, что разработчик желает запретить распространение шрифта под своей торговой маркой. Но и здесь, и во всех других случаях прежде, чем использовать якобы свободный продукт, стоит добиться от разработчика чёткого, однозначного разъяснения, что же понимает он под сладким словом свобода. ------------------------------------------------------------------------------------------------------------
Блю-рэй. Как много в этом слове! Небесно-синий диск, пришедший на смену DVD, не только выглядит круче, но круче и по своей физической сути. Наконец-то оптический носитель защищён от царапин: разработчики стандарта отдельной строкой обязали покрывать диск специальным слоем, устойчивым к механическим повреждениям. Наконец-то четыре гигабайта — не предел: на двуслойный BD помещается в двадцать пять раз больше. Выше скорость чтения и записи, беспрецедентно выше качество изображения издаваемых на BD фильмов. И, кстати, жёстче контроль за тем, как пользователь может эти фильмы просматривать. Дружат ли Linux и Blu-ray? Да — пока речь идёт о незащищённых дисках: многие фильмы, коллекции программ, BD-матрицы, записанные вами и вашими друзьями — всё это будет крутиться без проблем, если у вас есть BD-привод и сравнительно свежий дистрибутив Linux. Однако часть «голубых дисков» (в основном с фильмами) защищена от бесконтрольного просмотра. Выложив за такой диск деньги, вы не сможете посмотреть его под Линуксом, потому что издатель фильма считает, что просмотр должен вестись только на оборудовании, соответствующем определённым требованиям. Приложив усилия, защиту можно обойти и воспроизвести почти любой BD-диск — но, к сожалению, такой финт потребует некоторых навыков и, по крайней мере в России, будет незаконным. А помните, как просто всё было с DVD? Бесценное содержимое «фирменных» видеодисков закрыто всего-то одним механизмом под названием CSS. Чтобы воспроизвести такой диск, у программы-проигрывателя должен иметься криптографический «ключ» (несколько десятков чисел, используемых для расшифровки). Получить ключ можно, лицензировав его у ассоциации производителей, контролирующей DVD-стандарт. Однако в основе CSS - довольно слабый криптографический алгоритм, и даже тупым перебором вариантов на современной персоналке он вскрывается за несколько секунд. Поскольку свободным плеерам легальный ключ «не светит» (кто купит его для Xine или Mplayer?), они пользуются набором «отмычек», либо пытаются сгенерировать свой ключ на ходу. В Линуксе такая задачка штатно решается библиотекой libdvdcs*. Та же участь постигла и значительно менее известный механизм защиты CPPM, который использовался для дисков DVD Audio. Законно ли это? На Западе против разработчиков и пользователей libdvdcs* обвинений не выдвигалось. В России пока тоже. Впрочем, к вопросу законности мы ещё вернёмся.
С «голубыми дисками» всё похоже, но намного сложней. Даже пользовательское меню, которое на DVD состоит всего лишь из заранее подготовленных фрагментов видео, на BD представляет собой Java-программу. Что же до защиты, то здесь она реализована в несколько слоёв, каждый из которых заслуживает отдельного упоминания. Прежде всего это система доступа к контенту AACS. Разработанная при участии таких титанов медиа как Disney, Warner Bros и Microsoft, она предназначена для контроля всего процесса обработки данных, начиная от считывания с диска и заканчивая воспроизведением. Именно AACS делает возможными такие трюки как запрет воспроизведения фильма на несовместимых дисплеях (либо снижение качества изображения), запрет на пропуск рекламных вставок, запрет на копирование фильма и т.п. Как и в CSS, в AACS имеется набор уникальных ключей, предоставляемых программам и устройствам, работающим с BD. Другой механизм защиты BD-дисков носит название BD+. Это настоящая виртуальная машина, «компьютер в компьютере», исполняющий считываемые с BD-диска программы на специальном языке. Такая виртуальная машина встраивается в каждый фирменный плеер, а программы для неё способны выполнять целый ряд проверок с целью выявления попыток обойти защитные механизмы BD. Если вы «пропатчили» плеер для отключения каких-нибудь защитных функций, подменили криптоключи, каким-то образом вмешались в процесс обработки зашифрованного потока данных — BD+ обнаружит вторжение. Точно так же, с новыми дисками, могут поставляться заплатки для устранения слабых мест в защите BD-проигрывателей. Наконец, есть метка BD-ROM: криптоключ, хранимый на диске отдельно от основных данных, но необходимый для их расшифровки. Впрочем, прочесть метку BD-ROM не проблема, проблема — её записать, поскольку для этого нужно специальное оборудование. Таким образом издатели дисков надеются воспрепятствовать бесконтрольному тиражированию лицензионных BD-дисков. Рядовому пользователю метка помешает только в одном случае: скопировать защищённый BD-диск на BD-матрицу в домашних условиях не получится.
Но зачем вообще ограничивать доступ к диску, за который покупатель уже заплатил? Всё просто: медиабизнес может быть очень прибыльным и издатели хотят контролировать его до мельчайших деталей. Устанавливать разные цены на один и тот же диск в зависимости от региона (в Европе народ явно побогаче, чем в Африке), помешать делать копии и тем самым увеличить продажи лицензионных дисков, заработать на продаже лицензий и т.д., и т.п. Как видите, покупатель, заявляющий о своих правах на честно приобретённый диск — досадная помеха, с которой нужно бороться. Но, конечно, и сами покупатели не сидят сложа руки. В Линуксе, где пока нет ни одной лицензионной программы-плеера для воспроизведения BD, многослойная защита «голубых дисков» не без труда, но снимается. Механизм AACS обходится с помощью инструмента DumpH*. Виртуальная машина BD+ имитируется экспериментальным отладчиком BDVM Debugge*. Применение этих утилит требует от пользователя определённых навыков, а результат — места: расшифрованный BD-диск хранится на винчестере и занимает десятки гигабайт. Но решив задачу техническую, мы сталкиваемся уже с юридической задачкой. Дело в том, что (по крайней мере) российское законодательство запрещает и использование программ, нарушающих авторские и смежные права, и их рекламу. Вот почему в сегодняшней заметке я не называю полностью названий утилит. Если вас не смущает факт нарушения закона — пользуйтесь теми программами, что разработаны для обхода защиты BD. Тем более, что защиту DVD-дисков вы наверняка ломаете несколько раз в неделю, пусть сами того не замечая (libdvdcs* ничем не лучше своих BD-отпрысков). Либо надейтесь на лучшее и ждите, пока для Линукса появятся программы, проигрывающие BD-диски легально. Всё необходимое для легальной работы с BD в линуксовом ядре уже есть (стараниями Линуса Торвальдса, отстоявшего право разработчиков софта на самоопределение: если разработчик считает, что программа должна ограничивать пользователя в чём-то, значит так тому и быть!). Осталось дождаться, пока разработкой линуксового BD-плеера заинтересуется Большой бизнес. ------------------------------------------------------------------------------------------------------------
В эти дни в Веллингтоне, Новая Зеландия, проходит Linux.conf.au — одна из крупнейших конференций, посвящённых свободному программному обеспечению. Сотни энтузиастов и представителей бизнеса со всего мира собрались здесь, чтобы обсудить проблемы и перспективы open source в самых разных областях человеческой деятельности. Среди актуальных тем числится и выпуск очередной версии линуксового ядра: релиз 2.6.33 запланирован на начало марта. Ветка 2.6 ведёт свою историю с 2003 года, за это время в Ядро было внесено много интересного (к слову, количество строк в исходниках выросло вдвое). Но есть основания полагать, что мартовский релиз будет выделяться на фоне предшествующих. Дело в том, что львиная доля модификаций, внесённых в 2.6.33, приходится на вшитый в ядерный код экспериментальный свободный графический драйвер Nouveau — настоящую конфетку для обладателей видеокарт на чипах Nvidia. Давайте сделаем экскурс в историю отношений сообщества пользователей свободного софта и производителей компьютерного железа. Для того, чтобы любая «видяшка» заработала в Linux, ей необходим драйвер, программа-посредник между видеокартой и Ядром. Идеальным вариантом считается драйвер с открытым исходным кодом, так чтобы его можно было свободно распространять с любым дистрибутивом, а в случае необходимости менять код (например, для исправления ошибок). Однако по ряду причин, производители не стремятся выпускать драйверы с открытым кодом. Почему? Из-за нежелания раскрывать секреты своих чипов. Поэтому сложилась следующая ситуация: для «видяшек» конкретного производителя существует официальный проприетарный драйвер (свободная дистрибуция запрещена, код закрыт) от производителя, и неофициальный драйвер с открытым кодом, развиваемый пользователями. Как правило, официальный драйвер поддерживает больше функций видеочипа, нежели его свободный аналог. Но есть и подводные камни.
Проблема в том, что интересы производителя и пользователя пересекаются лишь частично и очевидно зависят от толщины кошелька последнего. Пример? В официальных драйверах для видеокарт производства и ATI, и Nvidia, присутствуют несколько давно известных, хорошо воспроизводимых и чрезвычайно неприятных ошибок. Драйвер ATI «рушится» при смене графических режимов. Драйвер Nvidia испытывает трудности с расширенным управлением питанием («засыпание» компьютера). Оба бага делают жизнь очень многих пользователей невыносимой, вынуждая искать альтернативные варианты. Будь драйверы свободными, с открытым кодом, энтузиасты давно исправили бы недоработки самостоятельно. Однако код в руках производителей — и ни та, ни другая компания до сих пор не вычистили ошибки из своих программ. Есть у официальных закрытых драйверов и другие недостатки. Так, три года назад в драйвере Nvidia была обнаружена уязвимость, позволявшая злоумышленнику перехватить управление компьютером. На разработку «заплатки» у компании ушло несколько месяцев. А несовместимость официальных драйверов с новыми версиями свободных программ? Пользователи вынуждены ждать, пока производитель отреагирует и соизволит доработать закрытый код. Это неудобно и пользователям, и разработчикам прикладного софта. А когда очередная модель видеокарты признаётся устаревшей и поддерживать её становится нерентабельно, производитель перестаёт сопровождать её драйвер. Так что и годы спустя несчастным владельцам устаревшей «видяшки» приходится довольствоваться древним драйвером, с оставшимися в нём ошибками, без поддержки новых функций современного софта. Из той же оперы риск банкротства, в случае которого производитель унесёт все свои секретные наработки в могилу. Наконец, несвободные драйверы нельзя распространять на тех же условиях, что и дистрибутивы Linux. В результате пользователь, получив дистрибутив, включающий только свободные программы (таков, к примеру, Debian), вынужден скачивать официальный драйвер отдельно.
Неудивительно что очень быстро нашлись энтузиасты, затеявшие разработку собственных полнофункциональных свободных видеодрайверов. К сожалению, производители скрывают не только исходники, но и полные спецификации чипов. Поэтому «прямым» путём — изучая документацию от производителей — изготовить полноценный драйвер невозможно. Вот почему популярный свободный драйвер nv для карт Nvidia не поддерживает 3D-функции (даже несмотря на то, что написан он с участием самой компании). Примерно та же ситуация и с картами ATI. Так что же, тупик? К счастью, есть исследовательский метод, который позволяет обойтись без помощи производителей: чистое реверсивное проектирование (clean room reverse engineering). Вместо грубого вторжения в машинный код официального драйвера (простой реверс-инжиниринг — естественно, незаконный), энтузиасты задействуют специальную программу, которая заставляет видеокарту выполнить какое-либо действие и сравнивает состояние видеочипа до и после. Таким скрупулёзным образом, команда за командой, теоретически можно выяснить все функции видеокарты — и, заметьте, не нарушая законы. После остаётся лишь написать собственный драйвер. Именно так и был создан драйвер Nouveau (читается как «нуво» - франц. новый). Разочарованные качеством первого свободного драйвера для карт Nvidia, энтузиасты потратили три года на создание достойной замены. Nouveau быстрее и лучше своего предшественника отображает 2D-графику, предоставляет частичную поддержку трёхмерных функций, а также даёт надежду на то, что 3D-графика с его помощью будет выводиться быстрее, чем с помощью драйвера официального, от самой Nvidia. Плюс, благодаря тому, что драйвер свободен, его можно распространять в составе любого линуксового дистрибутива. К настоящему моменту Nouveau имеется в Fedora, Ubuntu и нестабильной ветке Debian. Впрочем, в скором будущем, вместе с ядром 2.6.33, он появится в каждом Линуксе. Включение драйвера в Ядро позволит добиться ещё некоторых преимуществ в плане скорости и качества изображения. Nouveau безоговорчно заменит старый свободный драйвер nv, но пока что не может считаться полноценной альтернативой драйверу официальному, несвободному. Помочь проекту достичь поставленных целей по силам каждому из вас: сбор данных, необходимых для реверс-инжиниринга — задача несложная, для этого в рамках проекта разработаны простые в обращении инструменты (в частности, утилита ReNouveau). Пора приступать и к экспериментам с самим драйвером: релиз-кандидат нового ядра давно доступен (ищите на kernel.org). Успехов вам! ------------------------------------------------------------------------------------------------------------
| ||||||||||||||||||||||||||||||||||||
|
материалов cайта ссылка на Knoppix.ru обязательна (c) Knoppix.ru 2003 - 10 |
|||||||||||||||||||||||||||||||||||||