Вы, конечно, в курсе скандала с рекламным «шпионом» Superfish. Инцидент безобразный: устанавливаемый компанией Lenovo на её ноутбуки софтверный имплантат перехватывает и делает незащищёнными HTTPS-соединения. Со стороны Lenovo это даже не непрофессионализм, а открытое наплевательство на пользователя. Но что ещё хуже, произошедшее показало, что публика снова забыла, что такое свободное программное обеспечение, забыла, что даёт свобода софта в том числе и в таких вот как будто бы безвыходных ситуациях.
А между прочим свободному софту в наступившем году исполняется 30 лет. Так по крайней мере можно сказать, ибо осенью 1985-го была основана Free Software Foundation — организация, сыгравшая важную роль в становлении open source. Педанты уточнят, что свободный софт, open source, «открытые исходники» (суть — одно и то же) существовали и до FSF, и, конечно, будут правы: собственно Ричард Столман, отец FSF, потому её и организовал, что сам вырос в атмосфере неконтролируемого ненормированного обмена исходниками и идеями, которой дышали айтишники 60-х и 70-х годов. И всё-таки дата образования FSF даёт нам точку отсчёта, потому что под её присмотром и с её участием были написаны и развиваются несколько свободных лицензий, включая и GNU GPL — самую популярную лицензию мира open source (по некоторым оценкам на неё приходится свыше трёх четвертей всех программ, классифицируемых как свободные).
Тридцатилетие FSF будет отмечено с размахом, западная айтишная пресса к празднованию уже приступила: берутся интервью, пишутся воспоминания. Но повторюсь, я хочу сконцентрироваться на не самом приятном аспекте юбилея: спустя три десятилетия непрерывной популяризации, обывателю снова приходится объяснять, что такое свободный софт. Готов поспорить, из десяти случайно встреченных вами людей «с улицы» ни один не даст правильного ответа на этот вопрос. Да способны ли вы ответить на него сами? Проверьте себя: я приведу каноническое определение.
Так вот, свобода программы подразумевает право пользователя не только исполнять её, но и копировать, изучать и модифицировать (значит, исходники должны прилагаться или быть опубликованы), строить на её основе собственные разработки и распространять оригинал или производные. Не так уж сложно, но среднестатистический пользователь отчего-то не принимает эту простоту. Первая и основная его ошибка — в понимании слова «свободный» как характеристики цены, тогда как на самом деле речь идёт о свободе обращения с кодом. Это легко запомнить, если воспользоваться старым, но не устаревшим принципом: свободная программа свободна как слово, не как пиво. Подаренную вам бутылку пива вы можете выпить, после чего от неё останется только воспоминание. Слово ваше навсегда и во всём. Впрочем, есть и вторая ошибка, о которой чуть ниже.
Свободных лицензий много (GPL, LGPL, BSD, MIT, Creative Commons и др.) и, отличаясь в деталях, все они сходятся в том, что больше говорят о правах пользователя, нежели о запретах (в отличие от лицензий проприетарных, сопровождающих продукты компаний вроде Microsoft, Oracle и т.п.). Однако взамен они всё-таки кое-что требует — и это требование обычно сводится к предоставлению следующему за вами пользователю тех же самых прав. То есть, согласно, например, GPL, человек, получивший от вас изменённую вами копию свободной программы, получает и полный объём вышеупомянутых прав, в том числе на внесённые вами изменения. Таким образом выигрывает всё общество — ведь программу совершенствует не только разработчик/производитель, но и все желающие со стороны.
Наглядный пример успеха такого подхода — операционная система Linux, за последние пять лет ставшая самой популярной ОС на планете. Она работает везде и на всём, начиная от смартфонов и встраиваемых устройств и заканчивая суперкомпьютерами. Android — тоже «Линукс», хоть гугловцы её порядком испоганили, утратив стабильность, логическую простоту, свободу, совместимость. Впрочем, Google действует как и любой крупный продавец на компьютерном рынке: исходит из предположения, что рядовому пользователю нужна не какая-то там свобода, а работающий продукт. Всё равно, мол, ему некогда патчить код, а тем более ковыряться в исходниках самостоятельно, да и знаний у него на это не хватит.
Эта точка зрения — рука тянется окрестить её «потребительским подходом» — определяет вторую большую ошибку, связанную со свободным софтом. Кстати, очень может быть, что навязана она не без участия производителей проприетарного (несвободного) программного обеспечения, которым, конечно, выгодно, чтобы массы верили, что свободное ПО полезно только тем, кто умеет в нём ковыряться. На самом-то деле сообщество open source давным-давно состоит преимущественно из людей и компаний, которые не программируют самостоятельно. Они здесь потому, что свобода софта автоматически (самим фактом использования, без дополнительных усилий) гарантирует множество приятных и полезных следствий. Увы, сторонников open source в масштабах планеты по-прежнему слишком мало — умами прочих сотен миллионов пользователей владеет «потребительская» точка зрения.
«Типичный потребитель» упрямо верит, что разработчик руководствуется его, потребителя, интересами — хоть ход событий раз за разом показывает, что это не так. На кой чёрт Lenovo понадобилось имплантировать в ноутбуки программу-шпион? Не знаю, но она явно чихать хотела на то, какие муки это причинит пользователю. Почему Samsung называет невозможным обновление прошивки своих ещё не старых смартфонов, хоть это сразу же опровергают энтузиасты? Да по той же самой причине: свои интересы она ставит превыше всего. И так далее, и так далее. Пользователя приучили платить не задумываясь, его эксплуатируют как корову в стойле. Да ещё и бьют по рукам, когда он проявляет неповиновение: в Соединённых Штатах правозащитники сейчас пытаются вернуть покупателю право самостоятельно модифицировать firmware автомобилей и вообще «умных» вещей, без риска оказаться за решёткой, как того требует DMCA.
Представьте, как многое изменилось бы в лучшую сторону для нас, если бы цифровой мир был наполнен только свободным софтом! Смартфоны служили бы дольше, потому что все исходники (в том числе драйверов) были бы опубликованы, и если не сам производитель, то энтузиасты смогли бы их дорабатывать. Шпионских закладок вроде Superfish не существовало бы, потому что в свободных программах подобные штуки обнаруживаются задолго до релиза. Не возникало бы вопроса о законности модификации прошивок в «умных» вещах и вообще в цифровых устройствах: право предоставлялось бы одновременно с покупкой. В свою очередь «умные» телевизоры, термостаты, холодильники и другие железки не следили бы за пользователем и не ставили ему ультиматумы, а по крайней мере спрашивали бы на сбор данных разрешения.
Конечно, идеал недостижим. И всё-таки вы можете сделать цифровой мир лучше, приблизив его к идеалу. Просто в следующий раз голосуйте рублём за продукты со свободным кодом. Если присмотритесь, изучите тему перед покупкой, то обнаружите, что почти в каждом сегменте цифровой индустрии варианты со свободными компонентами уже есть.
P.S. В статье использованы иллюстрации Maria Leandro, FSF.