VCL或MFC是否可以在我的应用程序中免费使用?

VCL或MFC是否可以在我的应用程序中免费使用?

问题描述:

这里免费"意味着无需购买任何许可证.

Here 'free' means no need to buy any license.

据我所知,VCL来自Borland C ++ Builder,这是一种商业IDE. MFC属于Microsoft Visual Studio.

As I know VCL comes from Borland C++ Builder which is a commercial IDE. MFC belongs to Microsoft Visual Studio.

如果我不购买BCB或MSVS的任何许可证,是否可以编译这两个库的头文件并将它们链接到我自己的应用程序(免费应用程序,无商业用途)?

If I didn't buy any license of BCB or MSVS, could I complie the header files of those two libs and link them to my own application(free app, no commercial use)?

我之所以这样问,是因为BCB和MSVS都有免费版本. BCB编译器免费,而​​MSVS Express免费.

I asked this because both BCB and MSVS have the free version. BCB compiler is free and MSVS Express is free.

我还发现有一篇文章告诉人们如何在MSVS Express中编译MFC: http://www.codeproject .com/Articles/30439/如何在Visual C-Express中编译MFC代码

I also found an article tell people how to compile MFC in MSVS Express: http://www.codeproject.com/Articles/30439/How-to-compile-MFC-code-in-Visual-C-Express

它使用了DDK中的旧版MFC.

It used an old version of MFC from the DDK.

==摘要==

  1. 如果我不购买任何BCB或MSVS许可证,是否可以通过编译和链接在自己的非商业应用程序中使用MFC或VCL?

  1. If I didn't buy any license of BCB or MSVS, could I use MFC or VCL in my own non-commercial application by compiling and linking them?

如果第一个问题的答案是是",就像文章说我们可以在DDK中找到MFC4.2一样,我可以在免费的SDK中找到VCL标头和lib/dll吗?

If the answer to 1st question is YES, just like the article said we can find MFC4.2 in DDK, could I find a VCL header and lib/dll in a free SDK?

==更多说明(已编辑)==

这个问题不仅涉及重新分配问题,因为起初我想为自己编译一些代码.之后,我可能要释放二进制文件.让我的问题更直接:

This question is not only about the redistributing problem because at first I want to compile some code for my self. After that I may want to release the binary. To make my question more direct:

因为我必须使用MFC/VCL标头& lib来编译我的项目,我可以合法地获得这些文件而无需支付任何许可费吗?

在我上面提到的文章中,可以在DDK中找到MFC4.2.我认为这可能是合法的方式.也许我可以在Platform SDK中获得更高级别的MFC标头和库.但是我在哪里可以得到VCL标头/库,我完全不知道,如果找到某些源,我也不知道这是否合法.

In the article I mentioned above, MFC4.2 can be found at DDK. I think this might be a legal way. Maybe I can got higher level MFC header and lib in Platform SDK. But where could I get VCL header/lib I totally have no idea and I don't know whether this is legal if I did find some source.

(再次编辑)

根据paulsm4的回答,Wine说:

首先,您必须在计算机上合法获得MFC源代码.MFC源代码作为Visual Studio的一部分提供.VisualStudio的许可意味着它是一个不能分解成其组件的单一产品.因此在系统上安装MFC的最干净的方法是购买Visual Studio并将其安装在双引导Linux机器上." (http://www.sdconsult.no/linux/wine-doc/mfc-legal-issues.html)

"First you must legally get MFC source code on your computer. The MFC source code comes as a part of Visual Studio. The license for Visual Studio implies it is a single product that can not be broken up into its components. So the cleanest way to get MFC on your system is to buy Visual Studio and install it on a dual boot Linux box." (http://www.sdconsult.no/linux/wine-doc/mfc-legal-issues.html)

VCL是否处于相同情况?

Is VCL the same situation?

(最终编辑)

根据David M的回答,VCL处于相同情况

但是您可以使用"Turbo C ++ Builder 2006 Explorer",它包含一个VCL库/头文件,并且它是免费的.遗憾的是,官方站点将不再提供此免费版本.

But you can use "Turbo C++ Builder 2006 Explorer" which contained a VCL lib/header and it's free. Sadly the official site will not provide this free version anymore.

如果我没有购买BCB或MSVS的任何许可证,我可以填写标题吗 这两个库的文件,并将它们链接到我自己的应用程序(免费应用程序, 没有商业用途)?

If I didn't buy any license of BCB or MSVS, could I complie the header files of those two libs and link them to my own application(free app, no commercial use)?

长答案

不,不一定.免费/非商业性没有任何区别.这些库由Embarcadero和Microsoft拥有,并在某些条件下向您授权.每个条件都不同:

Long answer

No, not necessarily. Free / non-commercial doesn't make a difference. The libraries are owned by Embarcadero and Microsoft and are licensed to you under certain conditions. The conditions are different for each:

VCL :要引用我的RAD Studio 2010安装文件夹中的"deploy_en.htm",

VCL: To quote from 'deploy_en.htm' in my RAD Studio 2010 installation folder,

2.2 Embarcadero运行时程序包

2.2 Embarcadero Runtime Packages

根据最终用户许可协议的部分 ("EULA"),标题为适用于已编译程序和 重新分发",您可以重新分发Embarcadero提供的运行时 包仅用于执行Works的目的(如 与产品一起创建的EULA).您不得在以下位置修改这些软件包 任何方式.

In accordance with the section of the End-User License Agreement ("EULA") entitled "General Terms That Apply to Compiled Programs and Redistributables," you may redistribute Embarcadero-supplied runtime packages only for the purpose of executing Works (as defined in the EULA) created with the product. You may not modify these packages in any way.

我将其解释为您购买的C ++ Builder,为您提供了重新分发这些特定软件包的许可. 如果您还没有购买C ++ Builder副本,那么您将没有使用这些软件包的许可.

I interpret this as your purchase of C++Builder giving you a license to redistribute those specific packages. If you have not bought a copy of C++Builder, as you say you have not, you would not be licensed to use those packages.

有一个 C ++ Builder 5编译器和RTL的免费副本(请注意,这是非常老,大约在1999年左右.)由于它是免费提供的,并且包含RTL,因此您可以链接并使用这些库.

There is a free copy of the C++ Builder 5 compiler and RTL available (note this is very old, circa 1999 or so.) Because it is freely available and includes the RTL, you could link to and use those libraries.

MFC :这有点不同. MFC可再发行文件可免费下载,但这并不意味着您可以自己进行再发行.例如,Wine要求最终用户下载并安装这些库.

MFC: This is slightly different. The MFC redistributables are freely downloadable, but that doesn't mean that you are able to redistribute them yourself. Wine, for example, requires that the end user download and install the libraries.

有关重新分发Visual C ++文件的Microsoft页面说,

如果这些文件中的任何一个由Microsoft [edit:哪个MFC是!] 提供,请检查您是否 允许重新分配它们.要查看允许的文件列表,请参阅 .. \ Microsoft Visual Studio 10.0 \文件夹中的Redist.txt 安装了Visual Studio的计算机.回顾微软 软件许可条款,请参阅Visual Studio 2010上的Eula.txt 安装介质.

If any of these files are provided by Microsoft [edit: which MFC is!], check whether you are permitted to redistribute them. To view a list of permitted files, see Redist.txt in the ..\Microsoft Visual Studio 10.0\ folder on the computer where Visual Studio is installed. To review the Microsoft Software License Terms, see Eula.txt on the Visual Studio 2010 installation media.

我没有安装VS的副本来检查EULA的内容,但是可以合理地假设您必须拥有Visual Studio的许可副本才能合法使用这些库.请注意,您可以免费获得基本许可证( Express"版本,尽管Visual C ++ Express 2010不包含MFC,但可以下载它,并且据我所知 对您的操作没有任何限制它创建的EXE.

I don't have a copy of VS installed to check what the EULA says, but it's reasonable to assume that you must have a licensed copy of Visual Studio in order to legally use the libraries. Note that you can get free licenses of basic ("express") editions of Visual Studio, and though Visual C++ Express 2010 does not include MFC it can be downloaded, and as far as I know there are no limitations on what you can do with the EXEs it creates.

这样考虑:这些公司出售这些产品.您为什么希望能够免费使用该产品的一部分?

Consider it this way: these companies sell these products. Why would you expect to be able to use a part of that product for free?