Юридическая и практическая стороны свободы ПО
В среде линуксоидов при определении некого ПО как свободного, принято довольствоваться исключительно лицензией. По распространенному в среде сторонников СПО мнению, необходимо и достаточно навесить на поделку столманоугодную лицензию из трех букв и с цифоркой побольше. В последнее время стало модно ещё перед названием лицензии добавлять буковку A (анальная). Но вот если я скажу, что винда дает пользователю больше свобод, фананики линукса начнут обвинять в опровержении очевидного и неадекватности, виндузятники же могут согласиться, впрочем, это скорее лишь интуитивное согласие.
Итак, возьмем столманоугодное определение свободы ПО:
Свобода запускать программу в любых целях (свобода 0). Свобода изучения работы программы и адаптация её к вашим нуждам (свобода 1). Доступ к исходным текстам является необходимым условием. Свобода распространять копии, так что вы можете помочь вашему товарищу (свобода 2). Свобода улучшать программу и публиковать ваши улучшения, так что всё общество выиграет от этого (свобода 3). Доступ к исходным текстам является необходимым условием.
но теперь представим себя в роли такого страшного ужасного преступника, Васяна, который не читает тексты лицензионного соглашения и ему вообще срать на них. Его интересует только одно, что он вообще может сделать с конкретным софтом. И тут случится весьма интресная штука.
Нулевая свобода
Васян идет на ближайший софт и качает знакомую ему версию фотошопа и кряк к нему, чтобы удалить знакомой бабе прыщи с фотки. Этого ему вполне достаточно, чтобы обеспечить себе нулевую свободу ПО. Линуксоид тут может возразить, что гимпа вполне хватит для удаления прыщей, но не верьте этому. Прищей у вас от свободного ПО только прибавится.
У софта мира СПО часто проблемы с запуском старых версий. Это не совсем фатально, и при должном желании можно заставить работать любую версию, но это доставляет неудобства, особенно при использовании разного софта, когда нет отдельного компа пот каждое приложение. И это ущемляет нулевую свободу, да.
Первая свобода
Линуксоид с нетерпением будет ждать этого пункта, ведь тут якобы требуется открытый код, а у проприетарщины код, как правило, закрыт. Но не спешите, это вовсе не так. Если приложение имеет простой и понятный фукнционал, хорошую документацию и имеет хорошую конфигурабельность, то первую свободу он вполне обеспечивает. В то время, открытый код далеко не всегда дает эту первую свободу. Просто открытый код — недостаточное условие, код должен быть понятным и хорошо задокументированным, иначе первую свободу он обеспечивает весьма формально. И в мире "свободного" ПО иногда бывают с этим проблемы.
Третья свобода
Тут вроде бы все только касается вопросов правовых разрешений, но стоит сместить внимание на простоту дистрибьюции и переносимость. Тут вполне можно встретить случаи, когда таскать виндовые бинари на флешке проще чем компилировать старую версию свободного ПО под новый дистр. Кроме того, в популярной модели репозиториев, не всегда просто заранее знать, какие зависимости нужно и достаточно носить с собой, чтобы была возможность запустить софт на конкретной машине.
Третья свобода
И наконец третья свобода, свобода создавать производные работы. Тут вроде как есть необходимость открытого кода, но в мире проприетарщины делается много того, что может называться производной работой. Модификация допустима и в бинарном виде. И порой, умельцы из мира проприетарщины уделывают СПО по количеству модификаций.
С открытым софтом тут не всегда все хорошо. Чтобы не препятствовать созданию производных работ на уровне исходного кода, опять же, он должен быть хорошо задокументирован. Часто созданию форка монструозных комбаинов мешают конфликты имен на уровне иерархии файловой системы и ад зависимостей.
Я не пытаюсь сказать, что проприетарщина лучше. Всего лишь то, что свободной лицензии недостаточно, чтобы софт назывался свободным. И в мире свободного ПО часто свобода ограничивается иными методами, и часто вполне намеренно.