Фонд свободного ПО разработал (http://www.fsf.org/news/announcing-js-labels) универсальный метод описания лицензионной информации для JavaScript-сценариев - JavaScript License Web Labels (http://www.gnu.org/licenses/javascript-labels.html), который четко определяет все лицензионные спецификации публикуемого сценария и его компонентов. Использование этого формата не требует каких-либо изменений в уже существующих JavaScript-сценариях, он очень гибок и требует лишь добавления в страницу новой таблицы помеченной атрибутом id="jslicense-labels1". В таблице предоставлена информация о типе лицензий для различных JavaScript-объектов, приведена ссылка на текст самой лицензии, а также указано, где и как любой желающий может получить полный исходный код для заданного сценария.Необходимость для создания подобного формата созрела ещё в 2009 году, когда Ричард Столлман (Richard Stallman) опубликовал (http://www.opennet.dev/opennews/art.shtml?num=20882) свою статью "Западня JavaScript (http:/...
URL: http://www.fsf.org/news/announcing-js-labels
Новость: http://www.opennet.dev/opennews/art.shtml?num=33044
Это пять. Чем то напоминает политику запуска активИксов у майкрософт.
Дядька Столлман не указал что делать с JSON-ом и пр скриптом, генерирующемся на лету (вроде GWT).
JSON это данные а не код.
1. Посмотрите баян с заголовками на С в форуме(где заканчиваются структуры и начинаются алгоритмы).
2. JSON - JavaScript Object Notation, и открою секрет, эти Ваши данные исполняются примерно так eval(json).
> eval(json)Никто так не делает. Во всех новых браузерах есть JSON.parse().
А во всех старых использовалась библиотека JSON.js от Дага Крокфорда(создателя)
> 2. JSON - JavaScript Object Notation, и открою секрет, эти Ваши данные исполняются примерно так eval(json).открою секрет, данные не исполняются, исполняется eval или JSON.parse
Страница на википедии тоже только данные. Если есть данные, должен быть и автор этих данных :)
Я могу ошибаться, но у этого фэйка уже есть велосипед. Аннотея назывался и был состряпан консорциумом W3C. Не?
Никто не запрещает там хранить и допустим функции, они отлично там хранятся, и передаются как данные, но их легко можно запустить как код ;)
>Дядька Столлман не указал что делать с JSON-ом и пр скриптом, генерирующемся на лету (вроде GWT).А что понятно, что делать с GPL и Javascript на сайте?
Положим. Сайт А выложил у себя js файлик весь из себя GPL.
Сайт б Б прилинковал к своей странички этиот скриптик по <script src= и сослался на этот сайтик. Ну и другой js, который не GPL.
Получается, что владелиц сайта А нарушил GPL (поскольку распространителем является именно он). Владелец сайта Б, поскольку не распростанял ничего GPL-ного оказывается нипричем.
Или это как-то иначе трактуется?
как-то иначе.
Мне кажется Столлман палит из пушки по воробьям не замечая одной важной особенности. Открытость JavaScript кода не имеет смысла без открытости серверных частей. Что толку от того что JavaScript код будет под GPL, если он завязан на серверную часть, которая не является открытой. JavaScript License Web Labels формально определит такой JavaScript код как свободный, но самом деле он таким не является.
> Мне кажется Столлман палит из пушки по воробьям не замечая одной важной
> особенности. Открытость JavaScript кода не имеет смысла без открытости серверных частей.
> Что толку от того что JavaScript код будет под GPL, если
> он завязан на серверную часть, которая не является открытой.
> JavaScript License Web Labels формально определит такой JavaScript код как свободный,
> но самом деле он таким не является.Непосредственно JavaScript код будет свободным, несвободной может быть серверная часть. Очевидно же.
JavaScript frameworks позволяют создавать сложные приложения, взаимодействуя с сервером посредством AJAX. Но AJAX в подавляющем большинстве случаев - это данные.
> Открытость JavaScript кода не имеет смысла без открытости серверных частей.Не всегда. Бывает, что JavaScript-код просто реализует в браузере то, что обычно делают самостоятельным приложением. Уместно ли такое применение JavaScript — это уже другой вопрос, но тем не менее.
Собственно, не менее уместно, чем какой-нибудь питон - производительность не меньше (если не больше), все средства взаимодействия с пользователем есть, если оринетироваться на HTML5 - вплоть до возможности скормить джаваскрипту файл и получить результат обработки в виде файла, как если бы он загружался в веб.
сервер без клиента становится не нужен, как бы
> сервер без клиента становится не нужен, как бы"... найдется бык, была корова бы!"
Вообще-то сейчас всё больше функционала переежает как раз на клиента - это ж идеальное бесплатное для производителя (для клиента часто тоже) маштабирование, плюс отзывчивость повышается, плюс интерфейс богаче... в общем, причин много. Кроме того, для серверов всё давно решено - AGPL есть, автоматического определения на клиенте не требуется... А здесь - новые проблемы.
Гуру домахался до жабаскрипта. Эта пять. С нетерпением ждём указаний на открытие реврайтов на сайтах.
Допустим есть javascript под свободной лицензией и я захотел его изменить, как это можно сделать? Какой-нибудь браузер поддерживает такое - замена js с сайта локальной версией пользователя?
Вопрос в стиле "Допустим есть ядро Linux под свободной лицензией и я захотел его изменить, как это можно сделать? Какая-нибудь ОС поддерживает такое - замена ядра системы локальной версией пользователя(в данном контексте - на лету, без перезагрузки)?"
> Вопрос в стиле "Допустим есть ядро Linux под свободной лицензией и я
> захотел его изменить, как это можно сделать? Какая-нибудь ОС поддерживает такое
> - замена ядра системы локальной версией пользователя(в данном контексте - на
> лету, без перезагрузки)?"Вы будете смеяться, но ядро Linux таки такое поддерживает (по крайней мере в некоторых версиях).
>> Вопрос в стиле "Допустим есть ядро Linux под свободной лицензией и я
>> захотел его изменить, как это можно сделать? Какая-нибудь ОС поддерживает такое
>> - замена ядра системы локальной версией пользователя(в данном контексте - на
>> лету, без перезагрузки)?"
> Вы будете смеяться, но ядро Linux таки такое поддерживает (по крайней мере
> в некоторых версиях).Я это знаю. Просто хотел на примере показать, что код под свободной лицензией - не одно и то-же, что возможность изменить этот код "налету" в работающей в данный момент программе. Возможно пример не совсем корректный привел.
> Я это знаю. Просто хотел на примере показать, что код под свободной
> лицензией - не одно и то-же, что возможность изменить этот код
> "налету" в работающей в данный момент программе.Да, но от этого вопрос не становится менее интересным.
>> Я это знаю. Просто хотел на примере показать, что код под свободной
>> лицензией - не одно и то-же, что возможность изменить этот код
>> "налету" в работающей в данный момент программе.
> Да, но от этого вопрос не становится менее интересным.Ничего интересного не вижу. Свой жабаскрипт подсунуть можно (с помощью дополнений которые подгрузят ваш жабоскрипт). Другой вопрос, какова практическая ценность данного действия.
Если то что вы хотите сделать нужно не только вам на "поиграться", то все популярные браузеры поддерживают создание плагинов, которые уже со страничкой сделают то, что вы хотите сделать. С теоретичейской стороны - это не совсем то чего вы хотели(модификация _исходного_ жаваскрипта), с практической - это куда более красивое решение.
> Вы будете смеяться, но ядро Linux таки такое поддерживает (по крайней мере
> в некоторых версиях).правда, от перезагрузки это отличается не очень сильно, но всем как обычно.
> Допустим есть javascript под свободной лицензией и я захотел его изменить, как
> это можно сделать?Берёшь код под свободной лицензией. Модифицируешь. В _своем_ сайте используешь модифицированный код, а не оригинал.
> Какой-нибудь браузер поддерживает такое - замена js с сайта локальной версией пользователя?Самому интересно. И не только про js, но и про css.
IE позволяет указать CSS, которые будут применены ко всем страницам, вне зависимости от того что там указано. Также позволяет игнорировать цвета, шрифты и размеры шрифтов.
> IE позволяет указать CSS, которые будут применены ко всем страницам, вне зависимости
> от того что там указано. Также позволяет игнорировать цвета, шрифты и
> размеры шрифтов.CSS != JavaScript
"не только про js, но и про css"Я не тебе отвечал, сладенький.
> IE позволяет указать CSS, которые будут применены ко всем страницам, вне зависимости
> от того что там указано. Также позволяет игнорировать цвета, шрифты и
> размеры шрифтов.Все полноценные браузеры позволяют это. Это кстати часть стандарта.
> > Какой-нибудь браузер поддерживает такое - замена js с сайта локальной версией пользователя?
>
> Самому интересно. И не только про js, но и про css.гугли по словам: userjs, greasemonkey и usercss, stylish
Нет проблем - проксик вроде hoxy - замена прилетающих файлов на свои, greasemonkey сотоварищи - патчинг на лету.
А теперь представим, что вы заходите на страницу, и вместо чтения контента(зачем вы собственно и пришли) вы читаете лицензии:
- движка который использует сайт,
- наработок которые добавили в доижок авторы сайта,
- каждого подгружаемого страницей баннера.Может быть кому-то и нужно, чтоб на его аппаратуре не выполнялось ни одной проприетарной программы, но разве многие поставят галочку "хочу чтоб у меня автоматически отваливался функционал", или хотят разгребать тонны лицензий принимая/не принимая их?
> А теперь представим, что вы заходите на страницу, и вместо чтения контента(зачем вы собственно и пришли) вы читаете лицензии:
> - движка который использует сайт,
> - наработок которые добавили в доижок авторы сайта,
> - каждого подгружаемого страницей баннера.У Вас очень богатое и необузданное воображение. Или так, или вы намеренно пытаетесь с помощью дезинформации лишить людей интереса к этому предложению.
> Может быть кому-то и нужно, чтоб на его аппаратуре не выполнялось ни одной проприетарной программы, но разве многие поставят галочку "хочу чтоб у меня автоматически отваливался функционал", или хотят разгребать тонны лицензий принимая/не принимая их?Тебе это не нужно — не устанавливай. Те, кому это нужно, установят себе лично. В чем проблема-то?
> У Вас очень богатое и необузданное воображение. Или так, или вы намеренно
> пытаетесь с помощью дезинформации лишить людей интереса к этому предложению.Свое богатое воображение я считаю достоинством. Но не будем переходить на личности.
> Тебе это не нужно — не устанавливай. Те, кому это нужно, установят
> себе лично. В чем проблема-то?Никаких проблем. Просто попытка понять зачем это нужно тем, кто устанавливает. Есть ли хоть какая-то практическая ценность всей этой затеи.
Т.е. если сейчас я возьму кусок JavaScript-а с какого-либо сайта, хозяева которого никаких открытых лицензий не признают, то меня хозяева сайта засудить за использование их кода могут? Если могут - тогда понятно, что лицензии дадут возможность безвозмездно брать то, что под открытой лицензией. Если сейчас меня засудить не могут, то после добавления лицензий (могут-же под любой лицензией выложить) смогут? Или это все религия, и с практической стороны все это бесполезно?
Как минимум два аспекта видны с лёту:
1) принцип "поддерживаю открытый софт" - то есть из двух конкурирующих сервисов отнесу деньги туда, где JS открытый
2) если есть эта ифнормация и скрипт под GPL я легко могу увидеть, где исходники того JS, который в минифицированном виде прилетел в браузер - и использовать их для своих нужд.
> Или это все религия, и с практической стороны все это бесполезно?Свобода с практической точки зрения бесполезна?
>> Или это все религия, и с практической стороны все это бесполезно?
> Свобода с практической точки зрения бесполезна?Это утверждение, а не вопрос.
Если это утверждение, то оно неверно.
> или вы намеренно пытаетесь с помощью дезинформации лишить людей интереса к этому предложению.вполне намеренно. это такой ванятка, только в него вмонтировали эмулятор мозга. а в ванятку забыли.
Владельцы сайтов ведь представляют, что мы читаем их ToS.
> или хотят разгребать тонны лицензий принимая/не принимая ихНе надо ничего разгребать, достаточно установить себе дополнение LibreJS, которое само заблокирует весь несвободный JS.
А почему "jslicense-labels1" (конкретно "1")?
версия, наверное
Ждем появления GPL-кошерных сайтов, BSD-кошерных сайтов и APL-кошерных сайтов. Полезная штука, чо.>любой, кто серьёзно относится к своей свободе - должен отвергнуть несвободные разработки на JavaScript
Передайте ему, чтобы он там поосторожнее с высказываниями, а то акции Гугля повалит.
Очень сложную схему придумал Столлман. Нужно создать отдельную страницу с таблицей из трех колонок в нужном формате (чтобы ее можно было атоматически парсить). И дополнительно на все страницы с JS добавить ссылку на эту страницу...В сто раз проще было в скрипты запихать нужный комментарий.
Скрипты минифицируются.
Сделай деминификацию в виде добавления вначале одной строки с комментарием, откуда взять информацию о лицензии.
Так они мало того что минифицируются так они еще и объединяются. А у jquery, underscore.js, и ember.js и твоего скрипта разные лицензии.
Вот поэтому надо выносить в табличку данные отдельно для каждого из компонентов. Хотя конфликтов лицензий всплыть может... мама не горюй :-)
По-моему у Столмана башку снесло, лучшебы с .NET боролся, а то хочешь прогу под эту хрень, а без лицухи на винду использовать легально нельзя. Вынуждают покупать не нужное, ведь дотнет не только на винде может работать.
А кто вас заставлял пользоваться дотнетом?
> лучше бы с .NET боролся, а то хочешь прогу под эту хрень ...Один я вижу в высказывании противоречие?
> По-моему у Столмана башку снеслохомки всегда так говорят. а поскольку хомки — существа неразумные, то когда RMS в очередной раз оказывается прав, потому что видел то, о чём они даже не задумывались, хомки ничему не учатся. и опять упоённо орут: «по-моему, у Столмана башку снесло!»
> лучшебы с .NET боролся
зачем? обычная проприетарная технология, на кой её отдельно выделять?
> а то хочешь прогу под эту хрень
а ты не хоти. поговорку про рыбку и половой орган помнишь?
>> По-моему у Столмана башку снесло
> хомки всегда так говорят. а поскольку хомки — существа неразумные, то когда
> RMS в очередной раз оказывается прав, потому что видел то, о
> чём они даже не задумывались, хомки ничему не учатся. и опять
> упоённо орут: «по-моему, у Столмана башку снесло!»Что толку, что он прав? Лучше быть победителем, чем правым.
>> лучшебы с .NET боролся
> зачем? обычная проприетарная технология, на кой её отдельно выделять?На той. Используется, знаешь ли. Вопреки желаниям сообщества. :)
>> а то хочешь прогу под эту хрень
> а ты не хоти. поговорку про рыбку и половой орган помнишь?Х.ита. Не хоти виндовых игр - тебе Вайн не понадобится. А то ты рыбку скушать, и шкурку сдать. Винду не читал, но ее игры выполняю! (С)
> Что толку, что он прав? Лучше быть победителем, чем правым.если войну не начинать, то в ней будет достаточно сложно победить в данном случае. rms делает то, что и всегда делал: привлекает внимание к проблемам тогда, когда они ещё не у самых ворот, а только на подходе, и когда ещё можно успеть принять меры достаточно спокойно, а не тушить пожар в доме. но увы, один rms не может поменять весь мир, ему надо помогать.
>>> лучшебы с .NET боролся
>> зачем? обычная проприетарная технология, на кой её отдельно выделять?
> На той. Используется, знаешь ли. Вопреки желаниям сообщества. :)хм. лично у меня, например, оно даже не установлено. кто заставляет-то выбирать программы, которые требуют этой поделки? нет, я понимаю, что пишут, и иногда особо не повыбираешь — так в чём проблема-то? не нравится? взяли, и сделали то же самое, но с перламутровыми пуговицами.
я вот оперу использую, например — потому что ничего более удобного, увы, для меня нет. но я же не бегаю и не ору «давайте бороться за открытие исходников оперы!», а молча жую. потому что ССЗБ.
> Х.ита. Не хоти виндовых игр — тебе Вайн не понадобится.
ну так и правда ведь. всё равно ничерта хорошего не выходит, одни спецэффекты. пардон, но в кинотеатре спецэффекты всё равно круче.
> А то ты рыбку скушать, и шкурку сдать. Винду не читал, но ее
> игры выполняю! ©угу. арканум и первые фалауты. к которым исходники зажали по причине «а вот нидам!» к Arx Fatalis вот не зажали — за годик «родную» версию допилили до вполне рабочего состояния.
вообще, зажимать сейчас исходники движков особого смысла нет: никаких суперсекретных «ноу-хау» там не нароешь. выпускать их под лицензией «только для некоммерческого применения» грозит лишь тем, что энтузиасты забесплатно портанут движок на свои любимые системы. на продажах игры это если и скажется, то разве в виде некоторого их роста — потому что assets никто бесплатно раздавать не требует. а кто не покупает — так тот в любом случае не купит, возьмёт «пиратку».
я, конечно, не собираюсь указывать производителям, как им лучше работать — их дело. но почему не открывать исходники, скажем, через годик-другой — не понимаю. пик продаж уже прошёл, деньги отбили, про игру забыли и пилят новую (или не пилят по причине того, что разорились). отдайте исходник, хуже не будет. загадка.
Бред какой-то. Многие скрипты вообще лицензии не имеют,авторы просто забывают её указать. Да и какая разница, какая лицензия у скрипта? Это же не приложение, которое постоянно работает на моём ПК и имеет доступ к моим локальным файлам. А скрипт...
> Да и какая разница, какая лицензия у скрипта? Это же не
> приложение, которое постоянно работает на моём ПК и имеет доступ к
> моим локальным файлам. А скрипт…скажи это же самое, запустив веб-морду gmail, например.
Прежде всего, js это публично доступный исходный код.
Хорошо, что есть попытка стандартизировать декларирование лицензий.
Вспомнилось про 'вирусную лицензию'.
А по сути сами какой-то 'антивирус' создали...
Вот это прикольно, а ядро хурд подождёт ещё 20 лет)))