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)
Ответ на: комментарий от dib2

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

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

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

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

Я, как приверженец gcc, хотел бы чтобы компилятор gcc имел такой же парсер, как и clang. А RMS рушит мои мечты своими лицензионными ограничениями.

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

Ты как бы не сравнивай божий дар с яичницей. GPL менялась только в случае реально новых возникающих опасностей для свободы распространения кода. GPL v3 — тивоизация, GPL v4 — возможно будет против ASTеизации.

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

Ты как бы не сравнивай божий дар с яичницей.

Что делать, если от них похоже и знакомо попахивает.

GPL менялась только в случае реально новых возникающих опасностей

Так и госдума РФ тоже законы так меняет.

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

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

Ещё раз «запрещать» != «это опасно (причём опасно реально)»

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

Ну вы же хотите быстрый autocomplit и не хотите нарушать дух лицензии? Тогда только так.

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

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

Да, это вы хотите новую GPLv4 с новыми запретами.

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

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

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

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

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

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

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

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

O02eg ★★★★★
()
Ответ на: комментарий от 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)
Ответ на: комментарий от 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

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

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