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. Ако отговорът на първия въпрос е ДА, точно както се казва в статията, можем да намерим MFC4.2 в DDK, мога ли да намеря VCL хедър и lib/dll в безплатен SDK?

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

Този въпрос не е само за проблема с преразпределението, защото първо искам да компилирам някакъв код за себе си. След това може да искам да пусна двоичния файл. За да направя въпроса си по-директен:

Тъй като трябва да използвам MFC/VCL header & lib, за да компилирам моя проект, мога ли да получа тези файлове законно, без да плащам лицензионна такса?

В статията, която споменах по-горе, MFC4.2 може да бъде намерен на DDK. Мисля, че това може да е законен начин. Може би мога да получа MFC заглавка и библиотека от по-високо ниво в Platform SDK. Но откъде мога да получа VCL header/lib, нямам никаква представа и не знам дали това е законно, ако намерих някакъв източник.

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

От отговора на paulsm4 Wine каза:

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

VCL същата ситуация ли е?

(Окончателна редакция)

От отговора на David M VCL е същата ситуация

Но можете да използвате "Turbo C++ Builder 2006 Explorer", който съдържа VCL lib/header и е безплатен. За съжаление официалният сайт вече няма да предоставя тази безплатна версия.


person FantasyDR    schedule 07.03.2012    source източник
comment
Лицензът на MFC ви позволява да го разпространявате с вашето приложение, въпреки че не съм сигурен за втория въпрос.   -  person Collin Dauphinee    schedule 07.03.2012
comment
Съгласен. Мисля, че няма проблем да се разпространява MFC dll. Но компилирането на 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

В съответствие с раздела на Лицензионното споразумение с краен потребител („ЛСКП“), озаглавен „Общи условия, които се прилагат за компилирани програми и материали за повторно разпространение“, можете да разпространявате повторно пакети за изпълнение, предоставени от 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 header/lib). Но официалният уебсайт каза, че вече не е наличен. Както и да е, разбирам връзката между libs/headers и лиценза... :) - person FantasyDR; 07.03.2012
comment
Най-добрият ви залог е изданието C++Builder XE2 Starter, което струва около стотина долара. Не е безплатно, но е евтино. Неговата версия на VCL обаче е само за Unicode - може да се наложи да мигрирате съществуващия си източник към Unicode, ако е написан преди ~2009 г. Вече има въпроси за това тук в SO и можете да публикувате повече, ако срещнете конкретни проблеми. - person David; 07.03.2012
comment
ще го пробвам BTW всъщност е 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 безплатни ли са за използване в моето приложение?

A: "Да" и "да"

Софтуерната полиция няма да ви арестува за разпространение на което и да е приложение, използващо Delphi VCL или Microsoft MFC.

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

Ето още подробности за MFC:

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