Лицензия компонента для плагинов (библиотек)

Только для тех, кто пишет плагины под Total Commander. Обмен опытом, решение проблем.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Аватара пользователя
Моторокер
Сообщения: 1517
Зарегистрирован: Пт май 06, 2005 08:22
Откуда: г. Пермь (читается Перьмь)
Контактная информация:

Лицензия компонента для плагинов (библиотек)

Сообщение Моторокер »

Есть лицензия к компоненту:
Terms of use писал(а):This software comes without express or implied warranty.
In no case shall the author be liable for any damage or unwanted behavior of any computer hardware and/or software.
*** grants you the right to include the compiled component in your application, whether COMMERCIAL, SHAREWARE, or FREEWARE, BUT YOU MAY NOT DISTRIBUTE THE SOURCE CODE OR ITS COMPILED .DCU IN ANY FORM.
%%% may not be included in any commercial, shareware or freeware libraries or components.
...
Синим выделеной мной.

Можно ли использовать компонент для написания плагинов для Total Commander (это библиотеки DLL)?
Или надо написать EXE, а затем вызывать его из плагина?

Вот ответ автора:
Fabrizio писал(а):I know nothing about Total Commander, so I cannot reply this question. Anyway ImageEn cannot be used to build components, libraries, etc (due license limitations).
Он не знает про Total Commander, но всё равно в библиотеках компонент использовать нельзя.
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Аватара пользователя
B4rr4cuda
Сообщения: 376
Зарегистрирован: Вс июн 03, 2007 00:36
Откуда: Россия, Москва

Сообщение B4rr4cuda »

Напиши екзешник с экспортами ТСшных фунц.
Лицензия будет соблюдена, тока прописывать плаг в wincmd.ini придёться ручками...
Аватара пользователя
B4rr4cuda
Сообщения: 376
Зарегистрирован: Вс июн 03, 2007 00:36
Откуда: Россия, Москва

Сообщение B4rr4cuda »

Вдогонку
В DPR файле совершенно обычного проэкта дельфи можно указать функцию (процедуру) и объявить ее как экспортируемую - синтаксис точно такой-же как при создании стандартной DLL. С таким довеском EXE совершенно нормально компиллируется и работает и как EXE и как DLL (т.е. из нее можно импортировать описанные функции). Зачем это нужно? Была одна задача - делал консоль которая связывала воедино несколько приложений, так экспортные функции позволяли существенно расширять функциональность комплекса. Правда такой EXE все же имеет недостаток - EXE упаковщики сохраняют исполняемую часть и неправильно упаковывают экспортированную...
©DelphiWorld
VadiMGP
Сообщения: 1625
Зарегистрирован: Ср мар 21, 2007 20:58

Сообщение VadiMGP »

B4rr4cuda писал(а):Напиши екзешник с экспортами ТСшных фунц.
Это называется - прикинуться шлангом. :) Понятие "компонент" не формализовано. Если я напишу COM объект в виде экзешника, он не перестанет быть компонентом.
Аватара пользователя
Моторокер
Сообщения: 1517
Зарегистрирован: Пт май 06, 2005 08:22
Откуда: г. Пермь (читается Перьмь)
Контактная информация:

Сообщение Моторокер »

VadiMGP писал(а):
B4rr4cuda писал(а):Напиши екзешник с экспортами ТСшных фунц.
Это называется - прикинуться шлангом. :)
Дык компонент и не нужен.

С одной стороны, включать компилированную версию в приложения можно:
include the compiled component in your application
Но если расшарить часть функций приложения (екзешник с экспортами ТСшных фунц), оно станет библиотекой?
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
VadiMGP
Сообщения: 1625
Зарегистрирован: Ср мар 21, 2007 20:58

Сообщение VadiMGP »

Моторокер писал(а):Дык компонент и не нужен.
Тогда и проблем нет. Если основная функциональность твоей программы доступна сама по себе, без коммандера, то и претензий быть не должно, на мой взгляд.
Добавлено.Например, никто в здравом уме не назовет IrfanView компонентом, хотя он прекрасно обслуживает нужды ТС.
Аватара пользователя
Alextp
Сообщения: 4957
Зарегистрирован: Вс фев 06, 2005 17:21

Сообщение Alextp »

Моторокер писал(а):Но если расшарить часть функций приложения (екзешник с экспортами ТСшных фунц), оно станет библиотекой?
Да, станет
Хотя, считать ли плагин к ТС библиотекой, не знаю.

Если основная функциональность твоей программы доступна сама по себе, без коммандера, то и претензий быть не должно, на мой взгляд.
Почти согласен с Вадимгп
mutex
Сообщения: 134
Зарегистрирован: Чт дек 16, 2004 15:48
Откуда: Казахстан
Контактная информация:

Сообщение mutex »

Почти согласен с Вадимгп
Вадим, к сожалению, не прав.
Он не знает про Total Commander, но всё равно в библиотеках компонент использовать нельзя
Любой плагин является библиотекой, только с нестандартным расширением имени файла. Например, WLX означает WindowsCommander Lister Extension. Т.е. все эти расширения имени файла имеют смысл и придуманы Гислером, что не меняют их сути.
Таким образом, Вы не имеете права на использование данного компонента. :(

К слову, компонент также является частным случаем библиотеки.
VadiMGP
Сообщения: 1625
Зарегистрирован: Ср мар 21, 2007 20:58

Сообщение VadiMGP »

mutex писал(а):Вадим, к сожалению, не прав.
Уточни, пожалуйста, в чем именно?
Я думаю, мы просто по разному понимаем слово "компонент". Я считаю, что фразу "may not be included in any commercial, shareware or freeware libraries or components" надо читать как "не может быть использован при разработке любой коммерческой, шароварной или фриварной библиотеки или компоненты" (вольный стиль). При такой трактовке я не вижу где я неправ. Но возможно, у тебя другое прочтение этой фразы.
Аватара пользователя
Alextp
Сообщения: 4957
Зарегистрирован: Вс фев 06, 2005 17:21

Сообщение Alextp »

Вот тут ты можешь быть неправ:

>>Если основная функциональность твоей программы доступна сама по себе, без коммандера, то и претензий быть не должно
mutex
Сообщения: 134
Зарегистрирован: Чт дек 16, 2004 15:48
Откуда: Казахстан
Контактная информация:

Сообщение mutex »

Уточни, пожалуйста, в чем именно?
Если лицензия компонента разрешает включать его только в приложение, то нельзя его использовать в плагинах, независимо от расширения плагина, будь оно wlx, exe или еще что-нибудь другое. Потому что, плагин не является приложением ОС.
Я так понял, но вполне могу ошибиться. :)
VadiMGP
Сообщения: 1625
Зарегистрирован: Ср мар 21, 2007 20:58

Сообщение VadiMGP »

mutex писал(а):то нельзя его использовать в плагинах, независимо от расширения плагина, будь оно wlx, exe или еще что-нибудь другое.
Так я то же самое говорил. :) Именно поэтому и обозвал совет Барракуды "прикинуться шлангой". Но поскольку Моторокер сказал "Дык компонент и не нужен.", то я понял его так, что у него нет цели разрабатывать именно плагин. Но как-то с ТС это все равно связано. Поэтому и привел пример c Ирфаном - самостоятельная аппликация, никакой не плагин. А то, что ее можно использовать в связке с ТС, это уже "приятный доп. сервис".
Аватара пользователя
Alextp
Сообщения: 4957
Зарегистрирован: Вс фев 06, 2005 17:21

Сообщение Alextp »

то я понял его так, что у него нет цели разрабатывать именно плагин
В первом посте написано, что именно плагин.
Опять не понял.
Аватара пользователя
B4rr4cuda
Сообщения: 376
Зарегистрирован: Вс июн 03, 2007 00:36
Откуда: Россия, Москва

Сообщение B4rr4cuda »

mutex писал(а):Если лицензия компонента разрешает включать его только в приложение, то нельзя его использовать в плагинах, независимо от расширения плагина, будь оно wlx, exe или еще что-нибудь другое.
Что не запрещенно, то разрешено. Если прямого запрета нет, то почему бы этим не воспользоваться?
Alextp писал(а):В первом посте написано, что именно плагин. Опять не понял.
Моторокер видимо хочет написать екзешку под управлением плагина. Прямая аналогия с IrfanView.
Лицензия в этом случае сохраняеться в полной мере.

Мой вариант - "експорт из екзе", как правильно выразился VadiMGP, позволяет "прикинуться шлангой" :) . И поди докажи, что этот плаг не екзе. :)
Я бы так и сделал, из чувства противоречия. :D
Аватара пользователя
B4rr4cuda
Сообщения: 376
Зарегистрирован: Вс июн 03, 2007 00:36
Откуда: Россия, Москва

Сообщение B4rr4cuda »

Очень заинтересовался этим вопросом, появился азарт. Погуглил немного...

Wiki говорит:
DLL (англ. Dynamic-link library — динамически подключаемая библиотека) — понятие операционной системы Microsoft Windows; динамическая библиотека, позволяющая многократное применение различными программными приложениями. K DLL относятся также элементы управления ActiveX и драйвера. В мире UNIX аналогичные функции выполняют т. н. shared objects («разделяемые объекты»).

Формат файлов DLL придерживается тех же соглашений, что и формат исполняемых файлов EXE, сочетая код, таблицы и ресурсы.
Обратите внимание на выделенное.

MSDN говорит:
A dynamic-link library (DLL) is a module that contain functions and data that can be used by another module (application or DLL).
Т.е. любой модуль, будь то приложение или библиотека, содержащий функции или данные, которые могут быть использованны другим приложением или библиотекой, попадает под определение DLL.

НО тот же MSDN уточняет:
Even though DLLs and applications are both executable program modules, they differ in several ways.
To the end-user, the most obvious difference is that DLLs are not programs that can be directly executed. From the system's point of view, there are two fundamental differences between applications and DLLs:

[1] An application can have multiple instances of itself running in the system simultaneously, whereas a DLL can have only one instance.
[2] An application can own things such as a stack, global memory, file handles, and a message queue, but a DLL cannot.
Т.е. есть два глобальных различия между DLL и EXE:
[1] Приложение (EXE) может ( может - трактовать как имеет возможность) быть запущенно в нескольких экземплярах одновременно.
[2] Приложение может обладать собственным стеком, памятью, указателями и очередью сообщений, а DLL не может.

Кто докажет что EXE с експортами - DLL, "пусть первый бросит в меня камень" © О. Бендер
Ответить