07.0 (Конспект) FreeSoftware
Основания свободной дистрибуции. Изначально профессия разработчика программного обеспечения была узкоспециализированной профессией и это соответствовала той эпохе, когда software и hardware особо не различались (строился компьютер, к нему чего-то припаяли и к этому чего-то пропрограммировали). Когда программы разрабатывались в университетах, люди, которые этим занимались относились к своей деятельности как ученым взысканием, в которых важно, что ты сделал что-то первым , но результаты работы никому не известны. Позже появились более компактные компьютеры, которые могли быть приобретены частными лицами. В них был интегрирован популярный на то время языка программирования БЕЙСИК. Софт, как и до этого передавался “через ленточки”. Из-за этого Билл Гейтс написал письмо, в котором назвал “Ворами и паразитами” тех, кто копирует софт, в который были вложены деньги и усилия. Позже появилась идея о том, что программное обеспечение — это тоже такой объект владения, на который распространяются права собственности. У этой идеи было два последствия: первое это появление хорошей бизнес модели на извлечение прибыли буквально из воздуха, второе это удар по традициям разработки, которые были созданы в университетах. То есть произошла изоляция работы на проектами так как раньше каждый мог быть привлечен поучаствовать в разработке, теперь допуск имеют те, кого выбрали. Также это привело к информационной закрытости так как чем больше информации просочится конкурентам, тем меньше компания заработает. Поскольку законодательная реформа по защите прав собственности программистов не была такой страшной, она была довольно быстро проведена. Оно хорошо вписалось в такие понятия как авторское право и copyright (право на дальнейшие распределение). Для того чтобы извлекать бонусы из тиражирования программного обеспечения необходима централизация прав собственности – тогда механизм управления сильно упрощался. Copyright это право устанавливать политику дальнейшего распространения. Тут никто не запрещает модифицировать и распространять продукт, однако, решение можно ли это делать или нельзя принимает владелец копирайта.
Стало совершенно очевидно что при повышении информационной связанности общества и научного сообщества удобство совместной разработки очень сильно повышается (github, git, пере кочевание документации из книжек в веб это следствие десятилетий повышения информационной связанности которая в первую очередь сказывается на совместной разработке людей находящихся в различных уголках земного шара). Понятное дело что закрытая система разработки всему этому противоречит. Позже пришла идея о том, что для свободного программного обеспечения нужна также своя лицензия, то есть чтобы при разработке кода, этот код сопровождался некоторой лицензией, где бы объяснялось какие право у человека, который получил этот код. Свободная лицензия состоит из четырех прав: 1) Право запускать команду. 2) Право изучать и изменять исходный текст для своих нужд. 3) Право распространять копии программы. 4) Право публиковать изменения в исходном тексте программы. Также есть идеология open source.
В чем проблема с распространением классического права собственности на нематериальный объект? Почему нематериальный объект не очень хорошо ложится в экономическую сетку прав собственности основанных на материальной собственности? Когда создается материальный объект, имеется большие материально-расходные статьи (более того создание материального объекта требует твоих личных затрат). Что касается нематериальных объектов – это экономически вредно (мы не понимаем, как это померить). Например, на 100 горшков мы потратили 100 дней, а на 100 программ мы потратили столько же сколько и на одну. Появляется идея что, если копирование программы не наносит ущерба (то есть из одного объекта сделали два) это точно не может быть классифицирована как кража.
Наиболее популярная из капиллярных свободных лицензий это GPL. Типичная разрешительная лицензия — это лицензия BSD.
Чем хороши пакеты? В нем есть зависимости, которые позволяют одним движением исправлять, обновлять целые компоненты системы, в нем есть диспетчер пакетов которые ходят в хранилище, оттуда скачивает пакеты в зависимости от того какой из них новее, и установщик который умеет устанавливать, удалять и обновлять. Для того чтобы работала тема с репозиторием нужно довольно большое сообщество людей, которые согласны брать на стороне программный продукт, модифицировать его и складывать в репозиторий. Этот человек, который берет софт и оформляет его в принятом в данном комьюнити виде называется мейнтенер (человек, который следит за качеством пакета).
Мы еще не поговорили о том, как работает bottom half, то есть разработка и согласование.
Есть такое понятие как сборка пакетов. В linux по историческим причинам сборкой пакетов занимается та же программа, которая и устанавливает. Для того чтобы проще собрать пакет или собрать новый пакет на базе старого к каждому пакету прилагается такая штука как описание (spec).
Сборничница – это сборный ресурс сообщества. Ситуация, когда новая сборка портит какие-то пакеты (то есть эти пакеты становятся не совместимыми при появлении новой версии), решается пересборкой всех тех пакетов, которые нужны библиотеке.