Можно ли использовать VCL или MFC в моем приложении бесплатно?

Здесь «бесплатно» означает отсутствие необходимости покупать лицензию.

Насколько я знаю, VCL происходит от Borland C++ Builder, который является коммерческой IDE. MFC принадлежит Microsoft Visual Studio.

Если бы я не купил лицензию BCB или MSVS, мог бы я скомпилировать файлы заголовков этих двух библиотек и связать их со своим собственным приложением (бесплатное приложение, не предназначенное для коммерческого использования)?

Я спросил об этом, потому что и BCB, и MSVS имеют бесплатную версию. Компилятор BCB бесплатен, а MSVS Express бесплатен.

Я также нашел статью, в которой рассказывается, как компилировать MFC в MSVS Express: http://www.codeproject.com/Articles/30439/How-to-compile-MFC-code-in-Visual-C-Express

Он использовал старую версию MFC из DDK.

==Сводка==

  1. Если бы я не купил лицензию BCB или MSVS, мог бы я использовать MFC или VCL в своем собственном некоммерческом приложении, скомпилировав и связав их?

  2. Если ответ на 1-й вопрос ДА, как и в статье говорится, что мы можем найти MFC4.2 в DDK, могу ли я найти заголовок VCL и lib/dll в бесплатном SDK?

==Дополнительное объяснение (отредактировано)==

Этот вопрос не только о проблеме перераспределения, потому что сначала я хочу скомпилировать код для себя. После этого я, возможно, захочу выпустить бинарный файл. Чтобы сделать мой вопрос более прямым:

Поскольку для компиляции моего проекта мне приходится использовать заголовок и библиотеку MFC/VCL, могу ли я получить эти файлы на законных основаниях, не платя за лицензию?

В упомянутой выше статье MFC4.2 можно найти на DDK. Я думаю, что это может быть законным способом. Возможно, я смогу получить заголовок и библиотеку MFC более высокого уровня в Platform SDK. Но где я могу получить заголовок / библиотеку VCL, я понятия не имею, и я не знаю, законно ли это, если я нашел какой-то источник.

(Редактировать снова)

Из ответа paulsm4 Wine сказал:

«Во-первых, вы должны легально получить исходный код MFC на свой компьютер. Исходный код MFC входит в состав Visual Studio. Лицензия на Visual Studio подразумевает, что это единый продукт, который нельзя разбить на компоненты. Так что самый чистый способ чтобы получить MFC в своей системе, нужно купить Visual Studio и установить ее на Linux с двойной загрузкой». (http://www.sdconsult.no/linux/wine-doc/mfc-legal-issues.html)

С VCL такая же ситуация?

(Последнее редактирование)

Из ответа Дэвида М., с VCL та же ситуация

Но вы можете использовать «Turbo C++ Builder 2006 Explorer», который содержит библиотеку/заголовок VCL, и это бесплатно. К сожалению, официальный сайт больше не предоставляет эту бесплатную версию.


person FantasyDR    schedule 07.03.2012    source источник
comment
Лицензия MFC позволяет вам распространять его вместе с вашим приложением, хотя я не уверен во втором вопросе.   -  person Collin Dauphinee    schedule 07.03.2012
comment
Соглашаться. Я думаю, что нет проблем с распространением dll MFC. Но для компиляции приложения MFC нужны заголовок и библиотека, эти вещи являются ключевой проблемой...   -  person FantasyDR    schedule 07.03.2012
comment
Я голосую за то, чтобы закрыть этот вопрос как не относящийся к теме, потому что он касается лицензирования или юридических вопросов, а не программирования или разработки программного обеспечения. см. здесь и здесь для получения подробной информации и в справочном центре чтобы узнать больше.   -  person JasonMArcher    schedule 10.06.2015
comment
Этот вопрос был опубликован 3 года назад, до упомянутой вами ссылки (2012 против 2014+). Кажется, теперь вопрос, связанный с лицензированием, отошёл от темы (мы получили 2k в стеке).   -  person FantasyDR    schedule 10.09.2015


Ответы (3)


Если бы я не купил лицензию BCB или MSVS, мог бы я скомпилировать файлы заголовков этих двух библиотек и связать их со своим собственным приложением (бесплатное приложение, не предназначенное для коммерческого использования)?

Длинный ответ

Нет, не обязательно. Бесплатный/некоммерческий не имеет значения. Библиотеки принадлежат Embarcadero и Microsoft и предоставляются вам по лицензии на определенных условиях. Условия для каждого разные:

VCL: цитата из файла «deploy_en.htm» в моей папке установки RAD Studio 2010:

2.2 Пакеты среды выполнения Embarcadero

В соответствии с разделом Лицензионного соглашения с конечным пользователем («EULA»), озаглавленным «Общие условия, применимые к скомпилированным программам и распространяемым компонентам», вы можете повторно распространять пакеты среды выполнения, поставляемые Embarcadero, только с целью выполнения Работ (как определено в Лицензионное соглашение), созданное вместе с продуктом. Вы не можете изменять эти пакеты каким-либо образом.

Я интерпретирую это как покупку C++Builder, дающую вам лицензию на распространение этих конкретных пакетов. Если вы не купили копию C++Builder, а вы говорите, что не купили, у вас не будет лицензии на использование этих пакетов.

Доступна бесплатная копия компилятора C++ Builder 5 и RTL (обратите внимание, что она очень старая, около 1999 г. или около того.) Поскольку он находится в свободном доступе и включает RTL, вы можете ссылаться на эти библиотеки и использовать их.

MFC: немного отличается. Распространяемые файлы MFC можно бесплатно загрузить, но это не означает, что вы можете распространять их самостоятельно. Wine, например, требует, чтобы конечный пользователь загрузил и установил библиотеки.

На странице Microsoft о распространении файлов Visual C++ говорится:

Если какой-либо из этих файлов предоставлен Microsoft [редактировать: какой MFC!], проверьте, разрешено ли вам распространять их. Чтобы просмотреть список разрешенных файлов, см. Redist.txt в папке ..\Microsoft Visual Studio 10.0\ на компьютере, на котором установлена ​​Visual Studio. Чтобы ознакомиться с условиями лицензионного соглашения на использование программного обеспечения Microsoft, см. файл Eula.txt на установочном носителе Visual Studio 2010.

У меня нет установленной копии VS, чтобы проверить, что говорит EULA, но разумно предположить, что у вас должна быть лицензионная копия Visual Studio, чтобы легально использовать библиотеки. Обратите внимание, что вы можете получить бесплатные лицензии базовых (" express") Visual Studio, и хотя Visual C++ Express 2010 не включает MFC, его можно загрузить, и насколько мне известно нет никаких ограничений на то, что вы можете делать с EXE, которые он создает.

Краткий ответ

Рассмотрим это так: эти компании продают эти продукты. Почему вы ожидаете, что сможете использовать часть этого продукта бесплатно?

person David    schedule 07.03.2012
comment
Большое спасибо. Мне приходится использовать VCL, потому что я хочу модифицировать программное обеспечение с открытым исходным кодом, которое использует VCL. Turbo C++ Builder 2006 Explorer кажется мне подходящим (он содержит заголовок/библиотеку VCL). Но официальный сайт сказал, что он больше не доступен. Во всяком случае, я понимаю связь между библиотеками/заголовками и лицензией... :) - person FantasyDR; 07.03.2012
comment
Лучше всего выбрать C++Builder XE2 Starter edition, который стоит около сотни долларов. Это не бесплатно, но это недорого. Однако его версия VCL предназначена только для Unicode - вам может потребоваться перенести существующий исходный код на Unicode, если он был написан до ~ 2009 года. Здесь, на SO, уже есть вопросы по этому поводу, и вы можете опубликовать больше, если столкнетесь с конкретными проблемами. - person David; 07.03.2012
comment
Я попробую это. Кстати, это 199 $ на самом деле :) - person FantasyDR; 08.03.2012

Осторожнее здесь. MFC можно свободно распространять в двоичной форме, если у вас есть соответствующая лицензия, например та, которая поставляется с версиями VS, содержащими MFC. Если вы получаете MFC из старой версии DDK, вы можете иметь или не иметь право распространять ее (эту версию); это будет зависеть от лицензии, по которой вы используете эту версию DDK, и ее условий.

Релизные версии MFC имеют бесплатные распространяемые пакеты (вы можете DL с сайта MS, IIRC), но это будет работать для вас, только если ваш код работает с этими библиотеками.

При этом маловероятно, что MS будет преследовать кого-либо за распространение приложения, основанного на MFC, особенно если оно работает со стандартными распространяемыми файлами для MFC. Однако с юридической точки зрения это зависит от того, что позволяет лицензия, по которой вы используете MFC.

person Nick    schedule 07.03.2012
comment
Большое спасибо. Я думаю, что не хочу выпускать какой-либо код. Помимо проблемы с перераспределением, я добавил дополнительные пояснения к своему вопросу. Есть ли у вас какие-либо идеи? - person FantasyDR; 07.03.2012

Вопрос. Можно ли использовать VCL или MFC в моем приложении бесплатно?

А: "Да" и "да"

Полиция программного обеспечения не арестует вас за распространение любого приложения с использованием Delphi VCL или Microsoft MFC.

Они могут арестовать вас за распространение исходного кода... но зачем вам это делать, если вы выпускаете двоичный файл для клиентов (или публикуете свой собственный исходный код, который просто ссылается на заголовки Delphi Units/Microsoft)?

Вот подробнее о МФЦ:

https://web.archive.org/web/20110523082233/http://www.sdconsult.no/linux/wine-doc/mfc-legal-issues.html

person paulsm4    schedule 07.03.2012
comment
Спасибо за Ваш ответ. Я думаю, что дистрибутив бесплатный, но люди не могут скомпилировать бинарный файл без какого-либо заголовка или библиотеки. USE означает как компилировать, так и распространять. Вы имеете в виду то же самое? - person FantasyDR; 07.03.2012
comment
Спасибо. Я думаю, что документ из Wine ответил на часть моего вопроса о MFC. Я укажу это в своем вопросе. Означает ли это, что с VCL такая же ситуация? - person FantasyDR; 07.03.2012