Как лицензируется ПО сделанное в Delphi? Как лицензируется компоненты?
Добрый день!
Столкнулся с почти моральной проблемой. Довольно давно знаком с Delphi, у меня на ней есть небольшой проект, который я потихоньку пилю.
Итак вопросы: накладываются ли какие-либо ограничения на софт написанный на Delphi? Т. е. предположим я купил лицензию Delphi, дальше я могу распространять программы на нем писанные? Я подозреваю, что ограничений не должно быть (подскажите если не так).
А в случае если лицензии Delphi у меня все же нет, я могу как то распространять этот софт? Т.е. предположим у меня есть друг у которого есть лицензия - могу ли я использовать его Delphi для компиляции своей программы? Или у меня в вузе есть Delphi, например, могу ли я воспользоваться этим?
Что более важно, (т. к. одну лицензию можно и купить) как ведется работа над Delphi OpenSource проектами? Получается, что все разработчики (а так же конечные пользователи, если распространяться будут только исходники, без бинарников) должны иметь лицензионную Delphi? Нет ли каких либо обходных путей (в рамках закона, разумеется, ибо вне рамок решения более очевидны)?
Но что меня более интересует, это то как лицензируются компоненты Delphi? Т. е. Delphi (насколько я понимаю) включает в свой состав некоторое количество исходного кода, все те подключаемые модули в uses, а так же библиотеку визуальных компонентов. Можно ли использовать этот код? Если есть ограничения на его копирование, то как этот процесс регулируется? Т. е. можно ли заимствовать куски кода? Юниты целиком? Если нельзя копировать кусок юнита, то можно ли внимательно посмотреть на него, понять как он работает и затем написать свой, который просто похож? По идее имея лицензию Delphi я могу свободно распространять писанные на ней программы (я так думаю, поправьте, если не прав).
Но что будет, если грубо говоря: кто-то покупает лицензию, и затем пишет на Delphi другую свою IDE (с нескучными обоями, ага), которая максимально использует исходники поставляемые с делфи - допустимо ли это? Можно ли взять тех же VCL компонентов и сделать из них библиотеку (dll) виджетов аля wxWidgets или Qt? Можно ли будет ее свободно распространять?
Может есть статья которая рассказывает, что можно делать с Dephi, что можно распространять и какие есть ограничения.
P. S. Вариант "не использовать Delphi" вообщем то рассматривается, но пока я хочу понять как обстоят дела именно с ней.
P. S. Lazarus, увы, не подходит, т.к. для того конкретного проекта из-за которого я интересуюсь он не обладает необходимыми фичами
Update: Что происходит в таком случае:
- есть некоторый проект, который переносится с Delphi на Lazarus;
- Lazarus не имеет некоторого компонента, который есть в Delphi; (например какой нибудь компонент отображения графиков)
Можно сделать что-то вроде обертки для этого компонента и засунуть его функционал в dll. Вопрос: можно ли будет свободно распространять этот продукт который использует эту dll?
Если да - то распространнена ли такая практика? Если нет - то почему? Иными словами: если есть крупное сообщество людей которым нужны определенные компоненты Delphi (которые можно вынести таким образом наружу), то могут ли они навытаскивать их таким образом и не перейти на Lazarus? Т. е. получился бы набор бесполатных, но не открытых компонентов, которые можно было б использовать.
Лицензии на средства разработки бывают трех типов:
Коммерческая лицензия позволяет: использовать продукт для разработки ПО/распространять разработанное ПО/распространять компоненты ПО (например BDE), которые перечислены в лицензии на распространение.
Ознакомительная (Downloads) лицензия: позволяет ознакомиться и исследовать ПО/ограничена во времени (30 дней)/не позволяет вести никакую разработку
Образовательная (Academic) лицензия позволяет: Использовать продукт в целях изучения на курсах по программированию/Использовать продукт для обучения программированию/Не позволяет вести разработку, которая может быть использована вне процесса обучения
Обратите внимание на пункт "Лицензия на коммерческое использование", в котором для Starter указано "С ограничениями", что означает:
*If you’re an individual you may use the Starter Edition to create apps for your own use and apps that you can sell until your revenues reach $1,000 per year. If you’re a small company or organization without revenue (or up to $1,000 per year in revenue), you can also use the Starter Edition. Once your company's total revenue reaches US $1,000, or your team expands to more than 5 developers, move up to the Professional edition with an unrestricted commercial license.
Остальные лицензии позволяют распространять ваше ПО без ограничений.
Спасибо за ответ! Я добавил update, в котором (как мне кажется) более четко излагаю суть вопроса, что меня тревожит. Был бы рад, если б Вы посмотрели :)
Interface: Такую dll вы можете сделать только для своего какого-то конкретного продукта и распространять вместе с ним. Но другие разработчики не смогут воспользоваться вашей dll в своих продуктах, пока они не купят соответствующую лицензию на Delphi. Т.е. работает схема "Разработчик с лицензией -> Пользователь ПО", но не "Разработчик с лицензией -> Разработчик без лицензии -> Пользователь".
zedxxx: Немного не понял. Т.е. на Delphi нельзя писать Dll'ки и свободно их распространять? По идее пользователем ПО в моем случае будет програмист использующий эту самую Dll.
Где вообще пролегает эта грань?
Dll - ведь, по сути (в моем представлении), представляет собой не компонент Delphi, а конечный продукт (не знаю насколько это уместно, конечно) - просто целевая аудитория у этого продукта - другие программисты.
Interface: Дело в том, что таким образом вы не создали свой продукт, а просто хотите предоставить доступ третьим лицам к лицензионному компоненту (чужому продукту). Даже если вы внесёте какие-то изменения в функционал лицензионного компонента, а не просто завернёте его в API, это всё равно будет не ваш продукт.
Грань как раз и пролегает между определением, ваш это продукт или нет. Если вы сможете доказать в суде, что создали новый продукт, то можете распространять свою dll без всяких ограничений. Но если установят, что вы просто замаскировали чужой продукт под свой, то быть беде.
Спасибо за предложение! Меня, правда более смущает не моя возможность написания этой самой программы, а скорее перспектива ее распространения. Да и вообще допустимость использования Delphi для некоторых задач с точки зрения лицензии.
Interface:
Лицензия на средство разработки ПО подразумевает, что вам дается право как на пользование инструментом разработки так и на распространение результата.
Формально это разные права, но никто их не разделяет.
Раньше были очень и очень редкие исключения, где, к примеру, за отдельные компоненты системы при ее распространении брали отдельные деньги. Но это больше относится к миру дорогущего корпоративного ПО, где могут быть лицензии вплоть до допустимого количества ядер на машине, где эксплуатируется ПО.
Interface: Если не путаю, уже лицензия Professional позволяет распространять со своей программой пакеты времени выполнения Delphi: rtlXX.bpl, vclXX.bpl и пр. Раньше аналогично позволялось распространять BDE.
Может есть статья которая рассказывает, что можно делать с Dephi
Такая статья есть, называется "лицензия". У вас как раз тот случай, когда ее надо прочитать.
как я помню, сам компилятор идёт без лицензии (правда информация ещё со времён дельфи 7). Лицензию требует только среда разработки . И если я правильно помню, то тогда писать можно в текстовом редакторе и компилировать через консольку