Ada_Ru форум

Обсуждение языка Ада

Подводя итоги о GNAT'ах.

Оставить новое сообщение

Сообщения

Alexey Veselovsky
Подводя итоги о GNAT'ах.
2008-05-30 20:28:48

Если кратко: существует 3 основных GNAT'a.

 

Это:

 

1) GNAT Pro (from AdaCore).

 

Продаваемый за деньги (в сумму включается и тех. поддержка.).

Стабильный. Хорошо оттестированый. Поддерживаемый.

 

Использование: Mission Critical системы: авионика, медицина,

управление транспортом и т.д. и т.п. Везде где от ПО зависят жизни людей.

 

Ограничений на лицензию сгенерированого бинарника: нет.

 

 

2) GNAT GPL (from AdaCore).

 

Бесплатный. Без тех. поддержки. Но, тем не менее, почти столь же

высококачественый как и GNAT Pro. Использовать там где также важна надежность ПО, но где тех. поддержка не нужна. Видимо задачи

значительно мнее масштабные и сложные нежели те что обычно решаются ПО собраными GNAT Pro.

 

Использование: Всевозможные системы мониторинга, SCADA, АСУ. Там где надежность важна, но от работы ПО не зависят жизни людей.

 

Ограничений на лицензию сгенерированого бинарника: только GPL.

 

 

3) GNAT FSF (from FSF).

Бесплатный. Без тех. поддержки. Менее оттестированый и стабильный нежели предыдущие два.

 

Использование: там где надежность ПО не критична (и при условии что ни один из двух предыдущих не устравивает по какой-либо причине).

Например клиент ICQ, игры, браузер, другие "бытовые"

десктоп-приложения.

 

Ограничений на лицензию сгенерированого бинарника: нет.

 

 

PS. Следует не забывать что есть и другие варианты GNAT'а. Например gnat входит в пакет программ CygWin, и там сгенерированые им бинарники могут быть только под GPL (как и бинарники сгенерированые другими компиляторами из gcc входящего в CygWin).

 

Сий текст распечатать и повесить в рамочку ;-) Ну или хоть на вики забросить. Дабы более народ не смущался в этом буйстве лицензий и примененийкомпилятора.

 

Ну и давайте таки перейдем к обсуждению вопросов связаных

непосредственно с Адой ;-)

Alexey Veselovsky wrote:

Если кратко: существует 3 основных GNAT'a.

 

Это:

 

1) GNAT Pro (from AdaCore).

 

Использование: Mission Critical системы: авионика, медицина,

управление транспортом и т.д. и т.п. Везде где от ПО зависят жизни

людей.

 

2) GNAT GPL (from AdaCore).

 

Бесплатный. Без тех. поддержки. Но, тем не менее, почти столь же

высококачественый как и GNAT Pro. Использовать там где также важна

надежность ПО, но где тех. поддержка не нужна. Видимо задачи

значительно мнее масштабные и сложные нежели те что обычно решаются ПО

собраными GNAT Pro.

 

Использование: Всевозможные системы мониторинга, SCADA, АСУ. Там где

надежность важна, но от работы ПО не зависят жизни людей.

 

Принципиально неверный взгляд!

Техподдержка в первую очередь существенно экономит силы, время и

СРЕДСТВА на выполнение проекта. Не мы придумали - наши клиенты в

один голос говорят.

 

Поэтому правильно будет так:

 

1) GNAT Pro (from AdaCore).

 

Использование: индустрия.

 

2) GNAT GPL (from AdaCore).

 

Использование: образование, эксперименты, поделки, развлечения, неразумно

организованные индустриальные проекты, основанные на принципе

"скупой платит дважды".

 

Минимальный пакет техподдержки стоит меньше, чем полгода работы приличного

программиста, но толку от той поддержки СУЩЕСТВЕННО больше.

 

И не сочтите за голимую рекламу - будь оно неправдой, контора

б наша давно б медным тазом накрылась :)

 

Сий текст распечатать и повесить в рамочку ;-)

 

Ага. С пометкой: "А на самом деле все не так!"

Принципиально неверный взгляд!

 

Техподдержка в первую очередь существенно экономит силы, время и СРЕДСТВА на выполнение проекта. Не мы придумали - наши клиенты в один голос говорят.

 

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

поставщиками ПО которое используем) и даже не представляем где и для чего оно нам может потребоваться.

 

Поэтому правильно будет так:

По этой классификации не видно чем GNAT GPL лучше нежели GNAT FSF. Точнее -- где отличия вообще? (окромя лицензии).

 

1) GNAT Pro (from AdaCore).

 

Использование: индустрия.

 

2) GNAT GPL (from AdaCore).

 

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

"скупой платит дважды".

 

Для образование у AdaCore есть соответствующая версия GNAT...

 

Минимальный пакет техподдержки стоит меньше, чем полгода работы приличного программиста, но толку от той поддержки СУЩЕСТВЕННО больше.

Гм. Сейчас посчитаем: средний программист получает у нас порядка 15 тыр в месяц. Очень хороший программист -- порядка 24-28 тыр. Что чуть больше 1000 долларов. Т.о. минимальный пакет тех. поддержки стоит порядка 6k$?

 

Сий текст распечатать и повесить в рамочку ;-)

Ага. С пометкой: "А на самом деле все не так!"

 

Отрицательный результат -- тоже результат. ;-)

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

поставщиками ПО которое используем) и даже не представляем где и для чего оно нам может потребоваться.

 

Техподдержка в течение года обеспечит вам ответ на любой вопрос,

связанный с языком Ада, его реализацией в компиляторе GNAT, проблемами применения того и другого в вашем проекте, оперативное устранение дефектов компилятора, препятствующих продвижению вашего проекта

(начиная от таких: программа не компилируется а должна, или

компилируется а не должна, и заканчивая временами такими: на данной конструкции генерируется неэффективный код), и предоставление вам исправленной версии компилятора (это кстати еще одна из причин почему сопоставление версии Pro и GPL/FSF некорректно: версия GPL выходит раз в год, версия FSF выходит в соответствии с конкретными планами

конкретного поставщика, а версий Pro будет столько, сколько

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

 

По этой классификации не видно чем GNAT GPL лучше нежели GNAT FSF. Точнее -- где отличия вообще? (окромя лицензии).

 

Основное отличие - в репутации производителя пакета.

 

Для образование у AdaCore есть соответствующая версия GNAT...

 

Нет, это та же самая версия. Отличие образования от обычного

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

 

Гм. Сейчас посчитаем: средний программист получает у нас порядка 15 тыр в месяц. Очень хороший программист -- порядка 24-28 тыр. Что чуть больше 1000 долларов. Т.о. минимальный пакет тех. поддержки стоит порядка 6k$?

 

Не знаю где вы находитесь, но по моим данным в г.Москве программист получает тысяч 60 если не больше. За 1000 долларов насколько я слышал дипломник факультета ВМК, может быть, так уж и быть, пойдет на

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

 

ВФ

Техподдержка в течение года обеспечит вам ответ на любой вопрос, связанный с языком Ада

 

А тех. поддержка знает какие языки? Не программирования естественно.

его реализацией в компиляторе GNAT, проблемами

применения того и другого в вашем проекте, оперативное устранение дефектов компилятора, препятствующих продвижению вашего проекта

(начиная от таких: программа не компилируется а должна, или

компилируется а не должна, и заканчивая временами такими: на данной конструкции генерируется неэффективный код), и предоставление вам исправленной версии компилятора (это кстати еще одна из причин почему сопоставление версии Pro и GPL/FSF некорректно: версия GPL выходит раз в год, версия FSF выходит в соответствии с конкретными планами

конкретного поставщика, а версий Pro будет столько, сколько

потребуется клиенту).

 

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

изменение компилятора, или же таки нет?

 

Ответы на ваши вопросы дадут сами разработчики

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

Да. Это может оказаться ценно. Но народ уже как-то приспособился

выворачиваться из почти любых ситуаций связанных с инструментарием.

Для образование у AdaCore есть соответствующая версия GNAT...

 

Нет, это та же самая версия. Отличие образования от обычного

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

Ясно. Спасибо.

 

 

Гм. Сейчас посчитаем: средний программист получает у нас порядка 15 тыр в месяц. Очень хороший программист -- порядка 24-28 тыр. Что чуть больше 1000 долларов. Т.о. минимальный пакет тех. поддержки стоит порядка 6k$?

 

Не знаю где вы находитесь, но по моим данным в г.Москве программист получает тысяч 60 если не больше. За 1000 долларов насколько я слышал дипломник факультета ВМК, может быть, так уж и быть, пойдет на

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

 

К сожалени (или к счастью?) Россия не с Москвы начинается и не ей же заканчивается. А калькуляция проста -- в МСК на съем квартиры на

транспортные расходы и др. будет тратиться + 25 тыр. Т.о. тот кто не в москве получает те самые 28 тыр, тот в МСК будет получать около 60-ти. При этом денег у него будет в принципе столько же.

А тех. поддержка знает какие языки? Не программирования естественно.

 

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

немецком, итальянском, голландском, шведском, иврите, русском,

болгарском и т.д. Но поддержка ни на одном из этих языков не

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

русский и вопрос по платформе VMS или допустим по ASIS. Но другие вопросы придется задавать и читать ответ на английском :)

 

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

изменение компилятора, или же таки нет?

 

Пожелания, непосредственно противоречащие стандарту, конечно будут отклонены. Но вообще зависит от обстоятельств. Вообще говоря все

изменения технологии не связанные с исправлением ошибок в техподдержку не входят. Но бывает по-разному. Могу гарантировать что мы как минимум вникнем в пожелание клиента и попытаемся помочь ему решить проблему с которой он столкнулся (пожелание фичи не появляется просто так).

 

Да. Это может оказаться ценно. Но народ уже как-то приспособился выворачиваться из почти любых ситуаций связанных с инструментарием.

 

Конечно, я это прекрасно понимаю. Скептицизм потенциальных клиентов насчет "зачем нам ваша техподдержка" - это нам знакомо очень хорошо. Как правило после первого "страхового случая" скептицизм пропадает.

К сожалени (или к счастью?) Россия не с Москвы начинается и не ей же заканчивается.

 

Очень хорошо вас понимаю. Но Сергей Игоревич живет в Москве и думаю давал свою оценку исходя из этого. В целом, вряд ли нужно лукавить, условия подписки на GNAT Pro для маленькой российской программистской фирмы тяжелые. Ну что ж тут поделаешь. Наша техподдержка дает вам прямую связь с самими разработчиками, никаких девушек на телефонах и прочих промежуточных отсевов. Это неизбежно дорогая услуга, но она дорогого и стоит.

 

ВФ

Vasiliy Fofanov wrote:

 

Очень хорошо вас понимаю. Но Сергей Игоревич живет в Москве и думаю

давал свою оценку исходя из этого. В целом, вряд ли нужно лукавить,

условия подписки на GNAT Pro для маленькой российской программистской

фирмы тяжелые. Ну что ж тут поделаешь. Наша техподдержка дает вам

прямую связь с самими разработчиками, никаких девушек на телефонах и

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

дорогого и стоит.

 

Да, сопоставление стоимости минимальной поддержки с полугодовой

зарплатой программиста исходит из московских реалий. Я прекрасно

понимаю, что ситуация по стране - другая. В большом городе будет

годовая зарплата. Но все равно, начиная с определенного размера

проекта техподдержка становится ВЫГОДНОЙ клиенту.

 

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

(мало клиентов, которые платят много) является единственно

возможной для AdaCore. Просто прикиньте, какое соотношение в

разработчиков и "девушек на телефоне" в конторах, которые используют

противоположную модель (тыщастопятьсот клиентов, которые платят по

чуть-чуть). И отсюда - достаточно высокая планка для использования

Pro-версии.

 

Если б у меня спросили совета, я бы сказал так:

 

1. если у вас проект с нормальным бюджетом, который продлится не менее

года, и в команде предполагается иметь не менее 5 разработчиков -

стоит задуматься о GNAT PRO. В ситуации команды в 10+ разработчиков

и проекта, который продлится не менее 2-х лет, не использовать

GNAT Pro - просто глупость, потери от отсутствия поддержки существенно

превзойдут "экономию".

 

2. Если труба пониже и дым пожиже - GNAT GPL от AdaCore. Если можно

проект подвести под крылышко ВУЗа - это надо делать и подписываться

на программу GAP.

 

3. Никогда не использовать никакие другие версии GNAT'a (за исключением

случаев, когда до зарезу нужен порт в мумба-юмба, а он делается только

компанией мамба-карамба. Но и тут я бы сначала задумался - а так ли

уж нужен этот порт?). Ибо сказано: "Опасайся неведомой долбаной фигни!"

 

А так - каждый сам себе злобный Буратина :))

 

Не знаю где вы находитесь, но по моим данным в г.Москве программист

получает тысяч 60 если не больше. За 1000 долларов насколько я слышал

дипломник факультета ВМК, может быть, так уж и быть, пойдет на

полставки если ему будет лень искать что получше. Впрочем возможно мои

сведения неверны.

 

 

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

 

WBR Sergey Kirkorov

Да, сопоставление стоимости минимальной поддержки с полугодовой

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

проекта техподдержка становится ВЫГОДНОЙ клиенту.

 

Безусловно. Судя по описанию, тех. поддержка действительно качественная.

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

(мало клиентов, которые платят много) является единственно

возможной для AdaCore. Просто прикиньте, какое соотношение в

разработчиков и "девушек на телефоне" в конторах, которые используют противоположную модель (тыщастопятьсот клиентов, которые платят по чуть-чуть). И отсюда - достаточно высокая планка для использования Pro-версии.

 

Ну, собственно из за девушек на телефоне у нас все так дружно и

игнорируют тех. поддержку ;-)

 

Кстати, а что будет, если (вдруг) клиентская база у AdaCore вырастет скажем в 10 ра? Опять же -- либо придется заводить "девушек на

телефоне" либо задирать цены, чтобы уменьшить количество клиентов.

Если б у меня спросили совета, я бы сказал так:

 

1. если у вас проект с нормальным бюджетом, который продлится не менее года, и в команде предполагается иметь не менее 5 разработчиков - стоит задуматься о GNAT PRO. В ситуации команды в 10+ разработчиков и проекта, который продлится не менее 2-х лет, не использовать

GNAT Pro - просто глупость, потери от отсутствия поддержки существенно превзойдут "экономию".

 

C длительностью проектов и числом разработчиков всё ОК, а вот с бюджетом...

2. Если труба пониже и дым пожиже - GNAT GPL от AdaCore. Если можно проект подвести под крылышко ВУЗа - это надо делать и подписываться на программу GAP.

 

3. Никогда не использовать никакие другие версии GNAT'a (за исключением случаев, когда до зарезу нужен порт в мумба-юмба, а он делается только компанией мамба-карамба. Но и тут я бы сначала задумался - а так ли уж нужен этот порт?). Ибо сказано: "Опасайся неведомой долбаной фигни!"

 

Ну, а если, положим проекто бюджет которого ровно 0, разработчиков много а длительность проекта большая? И при этом сам проект скажем под LGPL (библиотека для GUI например)?

 

IMHO, в этом случае есть только один вариант -- GNAT FSF.

 

А так - каждый сам себе злобный Буратина :))

 

Это точно.

Alexey Veselovsky wrote:

 

Кстати, а что будет, если (вдруг) клиентская база у AdaCore вырастет

скажем в 10 ра? Опять же -- либо придется заводить "девушек на

телефоне" либо задирать цены, чтобы уменьшить количество клиентов.

 

Хороший вопрос. Хотя такая ситуация и практически невероятна, но даже

удвоение числа клиентов изменит ситуацию существенно. Я думаю - справимся :)

 

"Девушек на телефоне" точно не будет, поскольку *такое* изменение

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

(что более важно) внутреннюю культуру команды.

Кстати, а что будет, если (вдруг) клиентская база у AdaCore вырастет скажем в 10 ра? Опять же -- либо придется заводить "девушек на

телефоне" либо задирать цены, чтобы уменьшить количество клиентов.

 

Нет, в этом случае у нас появится возможность увеличить число

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

тысячу-раз-уже-задававшийся вопрос получит всегда тот же самый объем внимания что и в первый раз. Тем более что опыт показывает что на первый взгляд типовой вопрос при ближайшем рассмотрении сплошь и рядом оказывается совсем не типовым. Именно такие ситуации, когда "первый рубеж обороны"

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

 

Это во-первых. Во-вторых, я не вижу как база сможет вырасти "вдруг", ведь это может означать практически только рост вдруг в 10 раз

количества индустриальных проектов. По-моему это просто невозможно.

Ну, а если, положим проекто бюджет которого ровно 0, разработчиков много а длительность проекта большая? И при этом сам проект скажем под LGPL (библиотека для GUI например)?

 

IMHO, в этом случае есть только один вариант -- GNAT FSF.

 

Я точно не уверен (как я вобщем не уверен ни в чем касательно

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

Соответственно если пользователь соберет программу при помощи GNAT Pro, то получим что она состоит из GNAT RTL GMGPL и вашей библиотеки под LGPL - оба компонента дают право пользователю выбрать любую

лицензию.

 

А если пользователь соберет при помощи GNAT GPL - будет GNAT RTL GPL и ваша библиотека под LGPL - результат будет GPL или совместимая с ней.

Но в обоих случаях не играет роли чем вы пользовались сами при

разработке библиотеки. Итого по-моему GNAT GPL в этой ситуации никаких проблем не создает.

 

ВФ

Vasiliy Fofanov wrote:

 

Соответственно если пользователь соберет программу при помощи GNAT

Pro, то получим что она состоит из GNAT RTL GMGPL и вашей библиотеки

под LGPL - оба компонента дают право пользователю выбрать любую

лицензию.

 

LGPL хорошо применима только к C. Для Ada она скорее всего окажется невыполнимой как и невыполнима для C++. Я уже не помню в чём там дело, оно основано на том, что код generic/template и inline попадает в исполняемую программу и это мешает пользователю поменять одну версию LGPL библиотеки на другую на свой выбор. Поэтому в случае Ada лучше уж GMGPL, чем LGPL.

 

Но в обоих случаях не играет роли чем вы пользовались сами при

разработке библиотеки. Итого по-моему GNAT GPL в этой ситуации никаких

проблем не создает.

 

Ситуация с AdaCore хороша общественности именно тем, что неважно с помощью какого компилятора велась разработка. Речь всегда идёт о лицензии на исполняемые файлы. От себя отмечу, что это не всегда так, некоторые компании, практикующие двойное лицензирование, явно декларируют, что любой код, разработанный с GPL версией продукта навсегда становится GPL и "коммерциализировать" его нельзя даже последующим приобретением коммерческой версии.

LGPL хорошо применима только к C. Для Ada она скорее всего окажется невыполнимой как и невыполнима для C++. Я уже не помню в чём там дело, оно основано на том, что код generic/template и inline попадает в исполняемую программу и это мешает пользователю поменять одну версию LGPL библиотеки на другую на свой выбор. Поэтому в случае Ada лучше уж GMGPL, чем LGPL.

 

Гм. Ну можно обойтись без дженериков и без инлайнов в конце концов. Ну или выбрать GMGPL или собственный аналог в самом деле...

 

От себя отмечу, что это не всегда так,

некоторые компании, практикующие двойное лицензирование, явно

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

 

Правда? Вот это уже точно садизм... Надо будет в этом направлении поработать. Типа - "...а если вы слишком шумите на comp.lang.ada то специально для вас лицензия такова: ..." :)))))) Чтобы уж не

понапрасну люди рвали на себе исподнее :))))) Щютка.

 

ВФ

Я точно не уверен (как я вобщем не уверен ни в чем касательно

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

 

Но в обоих случаях не играет роли чем вы пользовались сами при

разработке библиотеки. Итого по-моему GNAT GPL в этой ситуации никаких проблем не создает.

 

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

библиотеки собраной посредством GNAT GPL (как это часто делается -- разработчики библиотеки выкладывают на свой сайт бинарные сборки

библиотеки для разных платформ т.к. иногда сборка библиотеки может быть не тривиальной. Особенно под Win), то вне зависимости от

компилятора которым он пользуется, результат будет под GPL (как и бинарник библиотеки).

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

библиотеки собраной посредством GNAT GPL (как это часто делается -- разработчики библиотеки выкладывают на свой сайт бинарные сборки библиотеки для разных платформ т.к. иногда сборка библиотеки может быть не тривиальной. Особенно под Win), то вне зависимости от

компилятора которым он пользуется, результат будет под GPL (как и бинарник библиотеки).

 

Да, тут согласен пожалуй (за исключением того что, опять оговорюсь, под какой лицензией РЕАЛЬНО идет рантайм GNAT FSF мне так и непонятно, так что возможно там те же яйца но в профиль).

 

ВФ.

Vasiliy Fofanov wrote:

Я точно не уверен (как я вобщем не уверен ни в чем касательно

лицензий, не моей зарплаты дело), но по-моему если это библиотека - то

не играет роли какова лицензия рантайма компилятора, которым пользовались

разработчики. Ведь речь будет идти о лицензии окончательно собранной

программы, а она равна наиболее ограниченной лицензии из всех частей.

 

Соответственно если пользователь соберет программу при помощи GNAT

Pro, то получим что она состоит из GNAT RTL GMGPL и вашей библиотеки

под LGPL - оба компонента дают право пользователю выбрать любую

лицензию.

 

А если пользователь соберет при помощи GNAT GPL - будет GNAT RTL GPL и

ваша библиотека под LGPL - результат будет GPL или совместимая с ней.

 

Но в обоих случаях не играет роли чем вы пользовались сами при

разработке библиотеки. Итого по-моему GNAT GPL в этой ситуации никаких

проблем не создает.

 

Мысль очень интересна. И позволит затихающему спору по поводу лицензирования разгорется с новой силой. За отсутствием глубоких познаний Ada, рассуждения будут приводится на опыта программирования C.

 

Допустим исходники библиотеки идут под свободной для линковки лицензией (GMGPL, LGPL, BSD, etc). И компилятор+стандартная библиотека GPL (с остальными проблем вроде быть не должно). Компиляция может быть в статическую библиотеку, динамическую с динамической линковкой стандартной библиотеки и динамической со статической линковкой стандартной библиотеки. С точки зрения влючения кода, в статической библиотеки кода GPL нет и выглядит все хорошо, в динамической с динамической линковкой вроде тоже все хорошо, в динамической со статической линковкой стандартной б. будет код GPL и лицензия должна быть GPL. Но.

 

Тут я слаб знаниями, а нет ли в динамических библеотеках аналогов "закрузочного модуля" в выполняемых файлах. Т.е. кусок кода который вставляется автоматический в динамическую библиотеку компилятором для ее инициализации при загрузке. В этом случае после любой компиляции динамической библиотеки получается GPL.

 

И еще. даже при компиляции статической библиотеки будут использоваться ads файлы из GPL компилятора, которые сами идут под GPL лицензией. Тут нет такого явного "включения" как .h файлов в C. Но все же результирующий код получается с использованием как библиотечных сорсов, так и ads файлов с GPL лицензией, т.е. даже при компиляции статической библиотеки все равно лицензия будет GPL.

 

Что касается распростанения библиотеки в виде исходного кода, а статических библиотек (кажется так принято в Ada) то тут действительно никаких проблем нет. Также как и распространения готовых програм в виде сорсов.

 

-- Olleg Samoylov

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

статических библиотек (кажется так принято в Ada) то тут действительно никаких проблем нет. Также как и распространения готовых програм в виде сорсов.

 

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

компилятором которым это делалось...

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти