LINUX.ORG.RU

Racket завершает переход с LGPL на двойное лицензирование MIT/Apache

 , ,


0

2

Racket — язык, вдохновленный Scheme, а также экосистема для программирования других языков — начал переход на двойное лицензирование Apache 2.0 или MIT в 2017 году и теперь, к версии 7.5, практически все его компоненты завершают этот процесс.

Авторы отмечают две основные причины этого:

  1. Непонятно, как трактовать положения LGPL о динамической линковке к Racket, где макросы «копируют» код из библиотек в код приложения, а приложения зачастую комплектуются рантаймом и библиотеками Racket.
  2. Некоторые организации принципиально не хотят использовать программное обеспечение, лицензированное под любой вариацией GPL.

Всего несколько небольших компонентов осталось под LGPL из-за того, что их авторы неизвестны либо не ответили на запрос о перелицензировании. Двое разработчиков ответили отказом на подобный запрос, их код и документация уже были удалены или переписаны.

>>> Подробности

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

А это не те же самые организации, которые и против профсоюзов выступают?

scanner ()

Непонятно, как трактовать положения LGPL о динамической линковке к Racket, где макросы «копируют» код из библиотек в код приложения, а приложения зачастую комплектуются рантаймом и библиотеками Racket.

Таки да, это очень жирная проблема для многих языков. Здесь, кстати, CDDL отлично бы подошла.

hateyoufeel ★★★★★ ()
Последнее исправление: hateyoufeel (всего исправлений: 1)

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

А разработчикам Racket до того какая печаль?

anonymous ()
Ответ на: комментарий от anonymous

Thank you to the NSF, DARPA, the Fund for the Improvement of Postsecondary Education (FIPSE) at the US Department of Education, the Exxon Foundation, CORD, partners of the Academy of Information Technology, Microsoft, Mozilla, and Google for their generous support over the years.

Найдите ответ в этом абзаце. :)

anonymous ()
Ответ на: комментарий от system-root

у меня в организации, например, GPL проходит как СПО. а это РФ, на секунду. второй пункт какой-то надуманный, или про Майкрософт.

Для чего подходит? Если ПО просто используется, как законченное решение это одно, а если ПО является библиотекой, которую надо использовать в твоем приложении это совсем другое. *GPL ограничивает свободы разработчиков, поэтому многие организации боятся этой лицензии как черт ладана и обычно запрещают использовать.

Reset ★★★★★ ()
Ответ на: комментарий от system-root

У меня в прошлой компании был целый отдел, который мониторил лицензирование библиотек или компонент нашего ПО. GPL — красный свет всегда за исключением небольшого белого списка (ОС и средства сборки). LGPL допускалось со скрипом, если совсем нет альтернатив, и то выгораживалось в минимально возможный юнит, который в случае чего можно было бы открыть.

Насколько я знаю, это де-факто правило во всех американских компаниях, они строго следят за лицензированием.

filosofia ()

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

Вот же больные религиозные фанатики.

ados ★★★★★ ()
Ответ на: комментарий от anonymous

Люди хотят зарабатывать деньги.

GPL де-факто запрещает продажу копий ПО

То есть как у форда «автомобиль может быть какого угодно цвета если этот цвет черный», так же и GPL «вы конечно можете продавать, только если рядом можно будет без ограничений скачать на халяву с исходами и неограничен7ными правами по дальнейшему бесплатному распространению каждому скачавшему»

На техподдержке не всегда можно зарабатывать, особенно если продукт - не сложный и багованый кококрпоративный кусок джавы.

anonymous ()
Ответ на: комментарий от anonymous

Вообще-то не совсем так, скорее «вы можете продавать, но каждый купивший получает право распространять дальше свободно, бесплатно и вместе с исходниками». Т.е. продать можно всего одну копию, на самом деле.

balsoft ()
Ответ на: комментарий от Serral

Там уже хотят выпилить скобки.

А можно ссылку?

Где-то тут должно быть (качество звука ужасное, конечно же). Ну и не «хотят», а «один чувак предложил».

theNamelessOne ★★★★★ ()
Последнее исправление: theNamelessOne (всего исправлений: 1)
Ответ на: комментарий от Liz812

2001 г.? Спасибо конечно, но хотелось послушать ьех кто это использует сейчас.

Там фундаментальное.

И желательно не очень сложно.

Тогда сабж вам точно не нужен.

kookoo ()
Ответ на: комментарий от Liz812

DSL

Главная фишка Racket — инструментарий для создания своих DSL. Плюс ты можешь выложить свой язык в экосистему. Там уже наклепали всякого: https://beautifulracket.com/appendix/domain-specific-languages.html#racket-implemented-dsls

PamidoR ()
Последнее исправление: PamidoR (всего исправлений: 1)
Ответ на: комментарий от Liz812

У всех лиспов и схем фича одна - код легко представим как вполне простая структура данных (список списков списков и так далее) и структуры данных можно легко создавать динамически, объявлять кодом, компилировать в рантайме и исполнять. Такими образом упрощается создание DSL. Даже прощряется все доменные задачи решать через DSL

Я выше сказал «простые структуры». Это потому что скобки. Только бы синтаксис стал удобным для чтения, не таким примитивным, так сразу эти структуры бы стали сложными.

Потому чтобы предоставлять вот эту фичу код должен выгляжеть как лапша из скобок и абсолютно не читаться без серьезной профдеформации.

У лисперов профдеформация уже на финальной стадии, потому когда появились парсеры обрабатывающие не скобочный код в структуры Лиспа, то им оно особо и не надо было. Зачем код без скобок если ты уже 100 раз присел со скобками чтобы заставить его работать.

vertexua ★★★☆☆ ()
Последнее исправление: vertexua (всего исправлений: 3)
Ответ на: комментарий от vertexua

Если нормально декомпозировано, то читается не шибко сложнее, чем на любом другом языке. С непривычки да, сложно. Но написать дерьмово и нечитаемо на лиспе гораздо проще, чем на других языках, это точно.

PamidoR ()
Ответ на: комментарий от Liz812

Странная постановка вопроса. Чтобы не говорили - изучи. Прочитай SICP, скорее всего лучше книги нету. И сама сделаешь выводы

vertexua ★★★☆☆ ()
Последнее исправление: vertexua (всего исправлений: 1)

Непонятно, как трактовать положения LGPL о динамической линковке к Racket, где макросы «копируют» код из библиотек в код приложения, а приложения зачастую комплектуются рантаймом и библиотеками Racket.

Именно из-за этих непоняток появилась лицензия LLGPL, а потом FSF пояснили что LLGPL ненужна и можно без опасений использовать для лиспов LGPL.

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

Они этого не учли/не знали когда первоначально выбирали LGPL? Ну, вот теперь у них есть разработчики которые принципиально не хотят кодить под MIT. Что такого случилось что они развернулись к разработчикам задом, а к организациям передом?

Gentooshnik ★★ ()
Ответ на: комментарий от Liz812

Предок, кончечно, один, но я всё же напомню что SICP - это про Scheme, а в треде обсуждается Racket.

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

Ах, да, рискую поднять срач на десяток страниц, но если будете осиливать макросы, проходите мимо define-syntax и читайте про defmacro, который в Racket в библиотеке compatibility/defmacro. Да, они упоролись и объявили её legacy, но deprecated оно никогда не станет.

Gentooshnik ★★ ()
Ответ на: комментарий от vertexua

Потому чтобы предоставлять вот эту фичу код должен выгляжеть как лапша из скобок и абсолютно не читаться без серьезной профдеформации.

Вы немного неправильно понимаете суть профдеформации. Она состоит в том чтобы побороть желание считать скобки доставшееся от других языков которые мог знать разработчик. Скобки - для языка и IDE, для программиста - отступы, что не сильно отличается от, скажем, Python.

Gentooshnik ★★ ()

Двое разработчиков

из трёх?

ответили отказом на подобный запрос, их код и документация уже были удалены или переписаны.

так удалены или переписаны? а зачем там был этот код и документация если их можно вот так взять и удалить? больше ничего удалить нельзя было? может код тех разработчиков которые не ответили отказом?

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

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

anonymous ()
Ответ на: Re: DSL от anonymous

Re: DSL

Не совсем. Ты ведь добавляешь новый синтаксис, а не просто функции дёргаешь.

И да, это только на обычной схеме так. В ракете можно произвольный синтаксис, реализовали даже Алгол, например: https://docs.racket-lang.org/algol60/. В CL вроде тоже можно сделать при помощи reader macros.

PamidoR ()