Архивы: по дате | по разделам | по авторам

Три кита свободного софта (окончание)

АрхивМнения
автор : Илья Шпаньков   06.10.2005

Может показаться, что авторское право свободному софту не нужно. На самом деле, это не так. Авторское право неплохо уживается со свободой и открытостью, не давая миру свободного софта скатиться в анархию.

Окончание статьи. Чтение лучше начать с первой части.

Открытость

Этот принцип имеет много общего со свободой, но на самом деле, это не совсем одно и то же. Речь идёт об открытости исходных кодов программного обеспечения, возможности сколь угодно глубокого их изучения и модификации.

Нередко причиной закрытости кода программ становится желание разработчиков сохранить в тайне собственные программные технологии или, если речь идёт о драйверах, конструктивные особенности выпускаемых данной компанией устройств. Оправданий множество, и они часто имеют право на существование. Бывает, что компания-разработчик открывает исходные коды своего продукта для ограниченного круга лиц, но сам продукт при этом остаётся коммерческим и не подлежит свободному распространению. Получается, что исходники могут быть открыты (хотя бы и с некоторыми ограничениями), но программа остаётся несвободной, и наоборот, свободно распространяемые программы могут не иметь открытых исходников. "Свобода" и "открытость" описывают различные принципы работы с программным обеспечением.

Какие же преимущества даёт принцип открытости пользователям и разработчикам? Для пользователей это - гарантия честности производителя и безопасности использования программ. Если код открыт, то теоретически есть возможность проверить, что в него не встроены какие-нибудь "шпионские" закладки. Используя в работе ПО с закрытым кодом, приходится верить на слово производителю программы. Но как можно доверять человеку, который изначально от тебя что-то скрывает? Величина выплаченных сумм за приобретение "супернадёжного" ПО совершенно не гарантирует этой самой надёжности. Кроме того, предлагая пользователю открытый код своей программы, разработчик менее всего склонен подсовывать некачественный "товар": если вы можете спокойно пройти на кухню и посмотреть, из каких ингредиентов готовится блюдо, ни один повар не рискнёт использовать подпорченные продукты.

Cвою выгоду из открытости извлекает и сам разработчик. Открытость кода зачастую позволяет производителю более оперативно получать сообщения об обнаруженных ошибках и, следовательно, исправлять их в максимально полном объёме и короткие сроки. По сути, каждый пользователь автоматически становится бета-тестером продукта и благодаря открытому коду не только может самостоятельно исправить найденный баг (при соответствующей квалификации), но и сообщить способ решения проблемы собственно разработчику. Точно так же сторонние программисты, использующие продукт в своих проектах, смогут самостоятельно вносить улучшения и исправления в его код, экономя разработчику время и деньги.

Но, пожалуй, одним из главных преимуществ, которое достигается сочетанием свободности распространения и открытости кода, является возможность заимствования уже готовых элементов для создания собственных программных продуктов. Получая от других разработчиков исходный код, вы можете вносить в него любые изменения для достижения наилучших результатов для вашего проекта. Как правило, сегодня большинство функций, необходимых любому современному программному продукту, уже реализовано и довольно успешно, так зачем начинать всё с начала? Гораздо разумнее взять то, что уже есть, и добавить к нему свои собственные идеи. Это быстро, удобно и продуктивно. Это позволяет значительно ускорить весь процесс создания конечного продукта, а также существенно удешевить его, затратив минимум человеко-часов отнюдь не копеечного труда программистов.

Естественно, как вы можете пользоваться наработками других разработчиков, так и они станут заимствовать ваш код для своих программных продуктов. Это страшный сон для любой коммерческой компании, привыкшей хранить свои секреты в строжайшей тайне. Рушится вся система, теряются все преимущества перед конкурентами, а ожидаемые прибыли от продаж уникального ПО стремительно растворяются в мечтах, так и не став реальностью. Но погодите отчаиваться. Если ваш конкурент взял ваш код и дополнил его своими разработками, то... вы можете использовать его обновлённый вариант в полном объёме для дальнейшего совершенствования опять же своего проекта согласно принципам свободного ПО. И этот взаимообмен может продолжаться бесконечно, а каждый его участник будет добавлять в продукт новые функции. В конце концов, если даже ваши продукты будут абсолютно идентичны (что маловероятно), вы просто станете совместно разрабатывать одну и ту же программу. И у вас, и у вашего конкурента будет своя клиентская база, поступающие от продажи продукта прибыли будут меньше, чем вы рассчитывали, но ведь и доводили проект "до ума" вы не самостоятельно, а с помощью конкурента! Он, как ваш "коллега", получит свою долю прибыли. На самом деле, полной идентичности ПО практически не встречается, каждый из конкурирующих проектов будет обладать некоторыми особенностями, позволяющими точнее ориентироваться на определённую долю рынка. И здесь ваши прибыли напрямую будут зависеть не столько от программного кода, сколько от грамотного маркетинга, а это, согласитесь, совсем другая история.

Вышеописанный процесс является именно заимствованием, ни о каком присвоении (воровстве, другим словом) кода не может быть и речи. Никто ни у кого не может украсть его разработку, так как на страже ваших интересов стоит...

Авторское право

Общедоступный - совсем не означает "ничей". Свободное программное обеспечение развивается отнюдь не в условиях анархии, и ни один программист не может сказать, что "этот код создан мной", если на самом деле это не так. Если углубиться в исходные коды любой свободной программы, то можно обнаружить текстовый файл, в котором подробно указано, кто, когда и что конкретно добавлял в программу. Этот список ведётся с самого первого дня существования программного продукта. Нередко те, кто начинали разработку, уже давно заняты в других проектах, но их имя по-прежнему сохраняется в исходниках. Поэтому никто никогда не сможет присвоить себе славу автора, таковым не являясь.

Для чего это делается? Причин несколько. Это удобно. Если в коде обнаружена ошибка, то логичней всего сказать о ней тому, кто этот код писал. Если код "именной", то уменьшается возможность внедрения в программу вредоносных добавок, авторы которых не любят себя афишировать. Внося в различные программы свои добавления и указывая свои личные данные, программисты тем самым создают своеобразный портфолио, который может оказаться весьма полезным при устройстве на работу. Также ставя свою "подпись", программист, тем самым, стимулирует самого себя на создание качественного кода: никому не хочется, чтобы над его работой кто-нибудь посмеялся, обнаружив откровенные ляпы или неаккуратность. Конечно, данная практика не ведёт напрямую к получению денег за то, что твоим кодом кто-то пользуется, но, как уже было сказано выше, в мире свободного ПО продают не код, а готовые решения, созданные с применением кода.

Впрочем, авторское право действует в мире свободного ПО не совсем так, как это принято в коммерческой среде. Во время своего появления ещё в докомпьютерную эпоху оно стояло на страже того, что какое-либо авторское изделие не будет копироваться, использоваться или изменяться без контроля со стороны самого автора. Свободное же авторское право лишь сохраняет авторство без последующих ограничений. Более того, в начале становления движения за свободное программное обеспечение появился термин "copyleft" - "авторское лево", смысл которого и заключался в том, что никто не имел права каким-либо способом ограничивать свободное распространение ПО. Таким образом, одновременное сосуществование обоих понятий в мире свободного программного обеспечения позволяет соблюдать авторство, но при этом не допускает нарушения принципов свободы распространения и использования.

На первый взгляд может показаться, что авторское право в условиях свободного ПО становится бесполезным. На самом деле это не так. Если отказаться от авторства, то сочетание свободы распространения и открытости кода приведёт именно к анархии, при которой каждый будет "тянуть одеяло" на себя, пытаясь выдать за собственные успехи достижения своих коллег. Никто не будет в ответе за качество программных продуктов, ведь в случае обнаружения ошибок или "закладок" некому будет предъявить претензии. Пусть и в слегка изменённом виде, но авторское право не только неплохо уживается со свободой и открытостью, но и служит своеобразным стабилизатором, не позволяя процессу разработки, распространения и использования свободного ПО превратиться в хаотичное перераспределение программного кода между участниками рынка.

Заключение

Конечно, разработка по принципам свободного ПО не является панацеей от всех бед и совершенно не претендует на звание "единственно верной". Каждый человек, начиная новый проект, должен взвесить все "за" и "против", чтобы выбрать тот способ работы, который окажется наиболее практичным и целесообразным в данном конкретном случае. Принцип свободности, безусловно, обладает многими положительными чертами, но и многолетнюю историю традиционной коммерческой разработки тоже не стоит забывать: не исключено, что именно такой способ окажется наиболее прибыльным. Целью же данной статьи было объяснение основных принципов Free Software, позволяющих использовать в работе иные, не доступные при традиционной разработке ПО, ресурсы. По большому счёту, любой производственный процесс, одним из видов которого является создание программного обеспечения, имеет одну главную цель: приносить его участникам вполне заслуженное вознаграждение, как моральное, неизбежно порождаемое созидательным характером труда, так и финансовое, позволяющее интегрировать участников процесса в жизнь окружающего общества на достойном уровне.

Четвертьвековой опыт развития свободного ПО доказывает, что данной цели можно достигать не только благодаря традиционным коммерческим схемам разработки, но и используя принципы свободы и открытости программного обеспечения.

© ООО "Компьютерра-Онлайн", 1997-2019
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.