LINUX.ORG.RU
ФорумTalks

RMS опять уперся рогом

 , ,


2

5

В списке рассылки emacs-devel произошло бурление: Ричард Столлман ни в какую не хочет аппрувить разработку плагина для GCC, который позволил бы получить полный AST поддерживаемых GCC языков — это позволило бы полную и быструю поддержку autocompletion (aka intellisense) в емаксе для всех языков компилируемых GCC, что сделало бы емакс очень привлекательным при выборе среди современных IDE.

RMS считает, что при появлении такого плагина, проприетарные компании смогут обойти GCC и использовать свои закрытые раcширения для компиляции/обработки полученного AST, нарушая таким образом лицензию GPL. Только представьте себе, интеграцию GCC в Microsoft Visual Studio :)

Упертость Ричарда и его неуклонное следование идеалам FSF все же вызывает уважение, не смотря ни на что. :)

Ссылка на дискус^Wсрач:

https://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00171.html

★★★

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

Ответ на: комментарий от Evgueni

AST - промежуточный продукт компиляции. Какое отношение к нему имеет лицензия?

invy ★★★★★
()

Этого старпера пора бы уже в Мавзолей.

Или коммунизм строить в Сев. Кореях и Кубах всяких.

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

Там утверждают, что уже лет пять, как лицензия позволяет такой плагин писать, поэтому GPL4 не нужен.

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

И? Это уже какой-то копиразм получается типа запрета свободных лицензий в iTunes. Я могу понять, что они не хотят, чтобы их код копипастили в проприретарные проекты. Но как можно ограничивать то, какие данные будут обрабатываться приложениями? Это всё равно, что если бы Firefox не открывал сайт Microsoft, gcc не компилировал бы пропреретарные программы, а GIMP бы не редактировал фото, если оно не доступно под свободной лицензией. Юзеру нужно, чтобы программа делала свой функционал на 100% вне зависимости от входных данных и фазы луны. Вопрос открытости лицензий должен прямо касаться только авторов этой программы и желающих сделать форк.

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

Когда пытаются решать высосанную из пальца проблему ещё до её появления — это религиозные проблемы.

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

Проблема в таком случае в том, что gcc умрёт, и сам же Столлман пострадает от своей упёртости. Какой толк от православной лицензии, если gcc никто не будет пользоваться?

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

Позволяет в смысле с условием закрытия дырки использования AST закрытыми компиляторами? Тогда в чём тогда проблема?

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

GPL возникла неспроста. Если бы исходники свободно в этом мире бы перемещались бы, то необходимости бы в ней не было. А так как это не так, то GPL — это защита и нарушать эту защиту в долговременной перспективе не очень здраво.

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

А потом расширить определение «Входные и выходные данные для этой программы должны быть обязательно доступны под свободной лицензией». А для данных в лицензии написать «Обработка этих данных должна вестись только в свободных приложениях».

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

Это такой же копиразм только бесплатный. Какая нафиг разница, что я буду делать с результатом работы программы? Это уже моё личное дело. Исходники программы принадлежат авторам, да. И я прекрасно понимают их желание не допустить, чтобы какой-нибудь проприретарщик скопировал кусок кода к себе и закрыл его. Но ведь речь не идёт о закрывании кусков GCC. В данном контексте GCC это просто программа обработки файлов. Принимает на вход файл одного формата, обрабатывает, выдаёт другого формата. Речь идёт о том, чтобы добавить ещё один формат. Как какой-нибудь ffmpeg, только в одну сторону. Где в лицензии ffmpeg запрет на обработку несвободных видеоматериалов?

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

Он сам себе противоречит. И где же тут «freedom to modify software to suit your needs» (c), если приходит штольман и это свободу обрубает на корню своим маразмом...

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

Ну тогда казалось бы в чём проблема? В смысле — нужен AST — бери clang.

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

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

И где же тут «freedom to modify software to suit your needs» (c)

Ты сознательно умалчиваешь, что это только часть свобод, которые защищает Столлман.

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

Альрнатива — пилите сами, но не ожидайте что Столлман погладит вас по головке.

Да он как-то мог и не шевелиться вообще, его автокомплит уже никому не нужен: http://i.imgur.com/5u4AwHw.png

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

Ага. Но думать о продуктивной, устойчивой стратегии - это вам не в костюмах антилопы прыгать.

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

Ну вот смотри. В данном контексте gcc это такой конвертер текстов в бинарники. Как ffmpeg для видео, только односторонний. Речь идёт о том, чтобы добавить ещё один выходной формат, но это столько споров разводит.

Аналогия: «Мы не будем добавлять в ffmpeg поддержку конвертирования в несжатое raw-видео. Ведь тогда можно будет использовать ffmpeg для декодирования видео перед тем как его заново пожмёт уже закрытый кодировщик».

Тем более, что алгоритмы синтаксического разбора уже давно изучены. clang, gcc и msvc отличаются только синтаксисом. Конкуренция между компиляторами идёт только на уровне алгоритмов оптимизации. Использовать AST есть смысл только для совместимости разработчикам IDE. А что плохого в том, что GCC будут поддерживать больше IDE? Это должно способствовать его популяризации. С таким успехом можно сделать процесс выдачи лицензии на использование GCC, при котором надо предоставить справку о том, что ты никогда не имел дело с пропреритарным софтом.

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

[оффтопик] А были ли случаи нахождения бэкдоров в проприетарных компиляторах? Например чтобы компилятор мог встраивать свой бэкдор код в конечный бинарник.

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

А какой смысл использовать разные компиляторы для разных целей, если в clang больше фишек?

vurdalak ★★★★★
()

LLVM is a real technical step forward, yoked to a step backward in defending our freedom... LLVM is free software. It is undefended by copyleft,...

Копилефт головного мозга у РМС — не новость :)

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

что мешает этому плагину дать лицензию типа: «результат работы этой программы может быть использован только программами со свободной лицензией»

Совесть? Где-то тут должна проснуться совесть. Иначе по всей планете пройдёт эпидемия ржача.

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

Наверное, это имеется в виду. https://www.gnu.org/licenses/gcc-exception-3.1-faq.html. Тут как раз речь идет о GCC Runtime Library Exception. Если я правильно понял с разбега, внутреннее промежуточное представление (а к нему как раз AST относится. Вернее, AST из него может быть выгружен наружу) исключается из понятия «Target Code»:

Why is compiler intermediate representation excluded from the definition of “Target Code?”

When we first considered adding a plugin infrastructure to GCC, we were deeply concerned about the possibility that someone would write a plugin that would merely save GCC's internal, low-level compilation data structures to disk. With that done, other software would be able to optimize or otherwise improve that code without being directly connected to GCC. It may have been difficult for us to argue that those programs should be subject to the GPL's copyleft, so we wanted to discourage these sorts of arrangements.

We do that by excluding such output from the definition of Target Code. Because of this, even if someone writes a plugin that saves this information to disk, any programs that change the structures before GCC writes out Target Code will be involved in the Compilation Process. If that program is proprietary, the exception will not be available to any software compiled with it; the object code that GCC ultimately creates will have to be distributed under the terms of the GPL.

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

Копилефт головного мозга у РМС — не новость :)

Насколько я понимаю, выгрузить AST по существующей лицензии можно. И РМС не может формально запретить. Он сейчас сдастся. Он просто не хочет, чтобы выгружали все дерево, а только то, что нужно для конкретных задач (автокомплит, рефакторинг и т. д.). Ему объясняют, что это нереал. Так что, тут пока есть только личная боязнь РМС, что кто-то будет AST в каким-то проприетарным средством использовать и компилировать свой код. Хе-хе, а это уже разрешено, насколько я понимаю.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)
Ответ на: комментарий от EXL

в своей новой бесплатной MS VS запилила офигенную поддержку git, на голову выше по удобству, чем в других IDE.

Что там на голову выше, и в каких IDE?

andreyu ★★★★★
()

Что-то я совсем не понимаю что тут вообще происходит? Каким боком AST к лицензии вообще? Это же просто один из возможных выходных продуктов компилятора.

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

И где же тут «freedom to modify software to suit your needs» (c)

Ты сознательно умалчиваешь, что это только часть свобод, которые защищает Столлман.

В данном случае он её огораживает.

Речь не о том, что он огораживает, а о том, что ты передергиваешь.

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

Естественно. AST ни чем не отличается от дампа ассэмблера, препроцессора или конечного результата компиляции.

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

Естественно. AST ни чем не отличается от дампа ассэмблера, препроцессора или конечного результата компиляции.

Я бы лучше такую фразу сказал: AST — это не код, а данные, которые еще не стали кодом.

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

А почему они должны делиться своим трудом? Тем более они и так используют gcc и не делятся результатами. «Защита духа GPL» это что-то из области религиозного фанатизма.

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

По GPL всё чисто и угрозы нет. Сектантам не нравится, что это создает «угрозу духу GPL». Что это значит ведомо только фанатикам.

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

Вот вот. Если не нравится, что этим пользуются «проприетарщики» то меняйте лицензию рантайма на GPL без исключений. Надеюсь не надо объяснять куда пойдет gcc после этого?

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

А почему они должны делиться своим трудом?

Чтобы было счастье всем и каждому (c)

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

Ну тогда чего Столлман сопротивляется? Казалось бы с таким условием проблем по идее не будет.

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

Я думаю, что тут уже проблема психологическая.

1. У РМС такая психология (у многих такая), что если он очень глубоко влез в спор, то очень сложно из него выходит, так как легко не может признать свою ошибку. Поэтому задача всех остальных не давить на него, а дать ему возможность маневра, чтобы красиво выйти из ситуации.

2. РМС далеко не в курсе всех самых современных технологий работы с кодом, поэтому не представляет важности. С другой стороны, он не хочет быть дезынформированным и хочет, чтобы все свободы, который он постулирует, не нарушались. Поэтому докапывается там, где у него полного понимания нет.

Человек там пишет, что задача выгрузки AST решается очень легко, в GCC для этого уже все есть. Автор будущего плагина просто очень боится, что РМС наложит вето и поэтому не хочет начинать, пока RMS не допрет до темы. А так в том треде нет людей, сомневаюихся в том, что эта функциональность нужна.

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

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

Другое дело IMHO в том треде много неправильных аргументов вида «то, за что вы боритесь, уже мертво». С таким набором аргументов сложно сотрудничать.

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

Ну, да. Просто там люди не могут взять в голову, зачем ограничивать набор данных для частных задач, если проще всего выгрузить AST. И поэтому считают просьбу RMS проанализировать, что нужно для решения частных задач кодописания, потерей времени. Ограничить выходную информацию - это ограничить пользователей в решении их будущих и разнообразных задач, которые выходят за рамки каких-то практик, которые они могут успеть обсудить. Как-то так. В общем, формальных ограничений на такой плагин нет, но риск, что кто-то будет пользоваться GCC в проприетарных проектах, есть.

https://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00169.html

Zubok ★★★★★
()

Очередной виток «Столлман сказал что-то страшное, он бредит, а-а-а»!

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

Маководы смотрят на цирк фанатиков, рассуждающих сколько ангеловкомпиляторов поместится на кончике иглы и ржут. А опенсурс лицензируют под BSD/MIT, как все приличные люди :)

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

но что мешает этому плагину дать лицензию типа: «результат работы этой программы может быть использован только программами со свободной лицензией»

что является прямым нарушением GPL

alex-w ★★★★★
()

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

kernelpanic ★★★★★
()

Да он же вообще не в теме:

Could you explain how that is so? If + and - accept different types, how does that affect completion?

А в прошлом обсуждении он спрашивал, что такое gcc-xml.

Имхо, мнению бывшего мейнтейнера придают слишком большой вес.

cord
()

что сделало бы емакс очень привлекательным при выборе среди современных IDE

topkek

kike
()

Злые эмаксеры обижают Столлмана! :)

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

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

Jetty ★★★★★
()

Только представьте себе, интеграцию GCC в Microsoft Visual Studio

Пацаны это уже делали.

ranka-lee
()

похер на него, он давно емакс не пилит и витает в облаках

x4DA ★★★★★
()

что мешает проприетарщикам — сделать форк GCC и наложить на этот форк патчи, которые реализуют AST ?

user_id_68054 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.