CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
21.10.2017

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Дискуссионный клуб :: Лицензии

Движение Open Source

И обратно о лицензиях: 1. По мотивам RMS

http://alv.me/

Поводом для настоящей заметки послужило предостережение Ричарда Столлмана, высказанное им в статье The Javascript Trap (см., например, соответствующую новость на CitCity).

Суть его в двух словах следующая:

Некоторые web-приложения, написанные на свободных языках сценариев (например, на JavaScript), для ускорения загрузки сжимают код таким образом, что он становится не читаемым для пользователя. Таким образом, получается, что на основе свободного софта создаются в сущности проприетарные программы, так как предоставление читаемого исходного кода — непременное условие принадлежности к классу FOSS.

В качестве модельного примера приводится Google Docs — онлайновый сервис, выполняющий функции офисного пакета, то есть текстового процессора, электронной таблицы и презентационной программы, работающих без установки на локальную машину. Используя набор технологий AJAX, он в конечном счёте основывается на JavaScript (не только на нём, но в данном контексте это не существенно). То есть на свободном языке сценариев, исходники на котором по определению открыты и доступны. То есть сценарий Google Docs можно загрузить на локальную машину и работать с ним в своё удовольствие. Так в чём же проблема?

Оказывается, в том, что Google Docs — сценарий на JavaScript, исходный текст которого оптимизирован для максимального ускорения загрузки путём полного отсутствия комментариев, максимальной "разгрузки" от пробелов, сокращения имён методов до одного символа. В результате код оказывается не читаемым для пользователя и, следовательно, недоступным для изучения и модификации:

Компактный код — не исходный код, а исходный код этой программы оказывается недоступным для пользователя.

То есть, по мнению Столлмана, пользователю под видом свободного программного обеспечения подсовывается проприетарный софт, о чём он может и не подозревать: хотя в любом браузере имеется возможность отключения исполнения сценариев JavaScript, но функций различения скриптов с "нормальным" и "компактным" кодом не предусмотрено ни в одном. Так что пурист FOSS может и не подозревать, что он использует классово чуждый ему закрытый софт.

Впрочем, по мнению Столлмана, Google Docs — не единственная угроза целомудрию адепта FOSS. Более существенными ему представляются такие технологии, как Flash и Silverlight. Особенно последняя, так как она не только основана на проприетаных (и, следовательно, закрытых) кодеках, но и не предоставляет альтернативных способов их воспроизведения. Тогда как Flash, используя формат, до недавнего времени закрытый (а ныне его можно квалифицировать только как полуоткрытый), всё же допускает использование свободных заменителей фирменному Flash Player.

В качестве методов сохранения девственности FOSS-пользователей предлагаются следующие:

  • выработка критерия "отделения зёрен от плевел" — то есть "кошерного" кода Javascript от "трефного";
  • переделка свободных браузеров таким образом, чтобы, во-первых, сообщать пользователю о степени "кошерности" кода web-приложений, а во-вторых, предоставлять ему возможность выбора между кодом "чистым" и "не чистым";
  • истинно свободный код JavaScript в случае его "компактизации" должен внутри себя содержать ссылку на сайт с исходниками и документацией, и сопровождаться специально разработанной на этот случай лицензией.

Казалось бы, как говорил товарищ Саахов,

...всё это конечно так, всё верно, бумага написана правильно, всё хорошо. Это с одной стороны. Но есть и другая сторона медали.

Так что с другой стороны, давайте посмотрим, так ли страшен чёрт вместе со всеми его малютками с точки зрения растления непорочных FOSS-душ?

Начнём с того, что с негодованием отметаем растлевающее влияние Flash и Silverlight: каждый пользователь свободного софта, скачивая соответствующие плагины с сайтов Adobe или Microsoft, не может не отдавать себе отчета в том, что он имеет дело с заведомо проприетарными программами. Мифического FOSS-пользователя, невинного до незнания того, что существуют проприетарные программы, можно уподобить Адаму и Еве до их грехопадения.

В случае с Silverlight ситуация более чем ясна: для сохранения своих сердец в чистоте пуристы FOSS должны просто отказаться от его использования. Для Flash же всегда существует альтернатива — пользователь, вместо проприетарного Flash Player, может выбрать любой из числа свободных плейеров swf-формата, благо таковые, в виде gnash, klash (возможно, и других) имеются. То есть он ничем не отличается от пользователя, читающего, редактирующего и даже создающего документы в формате Word'а посредством OpenOffice.org.

Более того, наличествуют даже свободные средства для изготовления swf-роликов — SWFTools, Spalah и ещё несколько. Не знаю, насколько свободные Flash-ориентированные программы воспроизводят функциональность проприетарных прототипов — но чем только ни пожертвуешь ради сохранения непорочности?

Однако вернёмся к главному герою "Предупреждения Столлмана" — Google Docs с его "компактизированным" кодом JavaScript. Не будучи программистом, не могу судить, насколько такая компактизация делает код не читаемым для разработчика. Замечу только, что в принципе разработчику вольно оптимизировать свой код так, как ему видится наилучшим. А уж писать или не писать комментарии — это вообще его сугубо личное дело — вроде, никакая лицензия (кроме внтуренних побуждений) его к этому не обязывает. Что же до того самого пользователя, который постоянно фигурирует в статье Столлмана, то для него в большинстве случаев равно не читаем будет ни реальный, ни компактный код.

Далее, следует подчеркнуть, что в случае с Google Docs пользователь имеет дело не столько с программой самой по себе, сколько с сервисом: пользователю предоставляется не только (и даже не столько) средство для создания своих документов, но и обеспечивается их хранение на сервере, резервирование, доступ по сети, в том числе и защищённый.

Способен ли пользователь, как бы глубоко он ни разобрался в коде, обеспечить аналогичный сервис? Если он располагает такими возможностями, для него не составит труда нанять команду программистов, которая сочинит для него и аналогичные средства его реализации. После чего он может выступить прямым конкурентом Google в мировом масштабе. Кстати, насколько я знаю, такие конкуренты у него имеются и так.

Наконец, пользователь, прибегающий к такого рода сервисам, так или иначе уже отдаётся во власть проприетаризма: ведь никто ещё не спорил, что их обеспечение, такое, как серверы, линии связи и так далее, всегда являются чьей-то частной собственностью.

Так что никакой практической пользы в "антирастлительных" мерах, предложенных Столлманом, я не вижу. С задачей различения свободного и проприетарного кода в web-приложениях рассматриваемого типа прекрасно справляются сами пользователи первого; и если они допускают для себя лично использование не вполне свободных плагинов и онлайновых сервисов — значит, оно им зачем-нибудь да нужно. Пользователей же второго этот вопрос нимало не волнует: они и так живут в проприетарном мире.

А вот переделка браузеров — ИМХО, момент абсолютно отрицательный. Ибо поведёт к их усложнению, которое чревато ошибками. Особенно в таком деле, как распознавание кода, создавая, скажем, лазейки для троянов.

Ну и, наконец, про дополнительную лицензию и говорить нечего: их и так развелось столько, что в них запутались и пользователи, и разработчики.

Вообще, рассмотренная ситуация напоминает мне историю борьбы с предустановкой OEM Windows на ноутбуки : плюсы либо сомнительны, либо копеечны, а вот минусы вполне реальны и в некоторых случаях могут оказаться существенными. Так что в обоих ситуация хорошо бы задуматься — а стоит ли овчинка выделки?




Комментарии

Страницы комментариев: 1 :: 2 :: 3 :: следующая

okruzhor, Wed Oct 21 15:04:39 2009:
Я полный новичок в свободных лицензиях , но недавно это вдруг стало интересно и важно ...

Вопрос похож на логическую дыру в GNUGPL : что можно и чего нельзя предоставлять в качестве исходного кода для удовлетворения GNUGPL . Любое фуфло , формально пригодное для компилирования с правильным результатом ? С убранными комментариями и унифицированными именами ? Или даже с подменёнными , искусственно вводящими в заблуждение ? Можно ли доказать в суде , что правильно компилируемое фуфло -- не есть исходник ?

2-й вопрос . Из GNUGPL ясно , что кошерность языка программирования (то есть описания и компилятора или интерпретатора) вовсе не требует кошерности программ , написанных на нём . То есть лицензия на каждый скрипт может быть другой , разве не так ?

В-3-х . Даже если скрипт претендует на GNUGPL . Требования GNUGPL будут удовлетворены , если на конечной странице видна ссылка на автора , и он готов прислать исходник . Получается , что Столлмен увидел джаваскриптовую страницу , которая : претендовала на лицензионность GNUGPL ; использовалась в виде сжатого скрипта ; не имела ссылку на автора , или автор отказался выслать настоящий исходник ? Но ведь его претензии не к этому конкретному автору джаваскрипта , а ко всей технологии сжатия скриптов ?
www2, Wed Jun 17 09:07:53 2009:
Автору о заголовке: учите русский язык.

Слово "обратно" - означает "в противоположную сторону". А то что вы хотели сказать называется словом "опять" - в смысле "повтор одного и того же".
Надаела пустая..., Wed Apr 8 21:01:19 2009:
Даже не дочитал этот высасаный из пальца бредоворот. У Столлмана по-видимому начался климакс. Что мешает,в принципе, договориться с тем же гуглом чтобы код лежал где нибудь в FTP...отдельно.
аноним, Tue Apr 7 05:34:19 2009:
>Алексей Федорчук, понедельник, 6 апреля 2009 г. 10:05:29:
"... все комментарии в исходниках были по немецки.
Что при желании тоже можно трактовать как стремление запутать код :) "

При очень большом ЖЕЛАНИИ ЗАПУТАТЬ ... можно ТРАКТОВАТЬ все, что угодно ...

Вот только одного ЖЕЛАНИЯ иногда бывает маловато. :)
Алексей Федорчук, Mon Apr 6 10:05:29 2009:
2 Олег ОФТ и Orlusha
Когда Sun купил фирму StarDivision и попытался дорабатывать их StarOffice, чуть ли не главным препятсвием стало то, что все комментарии в исходниках были по немецки.
Что при желании тоже можно трактовать как стремление запутать код :)
аноним, Mon Apr 6 08:11:23 2009:
Рефакторинг и как хош код оформляй, хоть переменные вида ___ все приводмиться в нормальный вид someVariant.
Олег ОФТ, Sun Apr 5 15:29:57 2009:
>Orlusha, воскресенье, 5 апреля 2009 г. 13:12:24:
"Наблюдал лично на примере интервью своего отчима-солярщика с 30 годами опыта писания на фортране и паскале в одной очень хорошо известной российской копирастический компании: им не понравилось, что он писал комментарии в коде по-английски (!!!) и что использовал однобуквенные идентификаторы в программе из шести строк для решения алгебраического уравнения (!!!). Вторую задачу я видел сам, и длинные идентификаторы в ней будет применять только маньяк: они ухудшают, а не улучшают читаемость кода."

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

Беда в том, что все равно непрофессионалу не понять - о чем мы ...

... точнее, то что он вообразит с наших с вами слов - в любом случае будет весьма далеко от предмета обсуждения.

Можно долго обсуждать изобразительные особенности китайских иероглифов и катаканы (либо хироганы) ... и даже показать - станет яснее предмет обсуждения, но ...
Orlusha, Sun Apr 5 13:57:53 2009:
Алексей Федорчук>Тут же речь идёт о том, что обеспечение такого рода сервисов также осуществляется неизвестно чем. В том числе и проприетарным кодом.
Или Вы на 100 процентов уверены, что во всякого рода машрутизаторах и тому подобных девайсах - только свободный код?

Это уже теплее, но маршрутизаторы с открытой и закрытой прошивкой всё же функционально эквивалентны.

Я бы просто зафиксировал слово "проприетарный" в отношении монополии на информацию, а не на вещи.
Алексей Федорчук, Sun Apr 5 13:36:56 2009:
2 Orlusha
> "интеллектуальная собственность" имеет такое же отношение к частной собственности
____
К чему имеет отношение "интеллектуальная собственность" - боюсь, даже Аллаху не ведомо.
Тут же речь идёт о том, что обеспечение такого рода сервисов также осуществляется неизвестно чем. В том числе и проприетарным кодом.
Или Вы на 100 процентов уверены, что во всякого рода машрутизаторах и тому подобных девайсах - только свободный код?
Orlusha, Sun Apr 5 13:17:22 2009:
Алексей Федорчук> Наконец, пользователь, прибегающий к такого рода сервисам, так или иначе уже отдаётся во власть проприетаризма: ведь никто ещё не спорил, что их обеспечение, такое, как серверы, линии связи и так далее, всегда являются чьей-то частной собственностью.

Извините, но "интеллектуальная собственность" имеет такое же отношение к частной собственности, как подсадная утка к подкладной. :)

Страницы комментариев: 1 :: 2 :: 3 :: следующая

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds