5

这个问题中,我将 Delphi 运行时源代码称为“开源”,仅仅是因为它是开放的。其他人不同意这一点,因为 Delphi 本身就是一个商业产品。根据维基百科开源必须遵守一套规则

我在 Delphi 许可证中进行了快速扫描,但找不到关于它的许可状态的明确说明。它在 system.pas 中有一个名为 DECLARE_GPL 的编译器指令,它是所有其他 Delphi 单元的根。系统单位是唯一不需要添加到单位的单位,因为它是自动添加的。因此,如果 system.pas 是 GPL,那么任何使用它的东西也都是 GPL!但是 Delphi 为这些源文件提供了双重许可,因此人们可以选择不使用 GPL 许可。

尽管如此,如果 Delphi 源代码可用并且它支持 GPL,即使它也有一个也可以应用的二级许可证,那么 Delphi 运行时源代码是否是开源的?

来自 Delphi 2007 的 system.pas:

(* GPL 符号的存在表明系统单元和 Delphi 运行时库的其余部分是根据 GNU 通用公共许可证 (GPL) 的条款编译使用和分发的。
根据 GPL 的条款,所有应用程序编译带有 GPL 版本的 Delphi 运行时库也必须根据 GPL 条款分发。有关 GNU GPL 的更多信息,请参阅http://www.gnu.org/copyleft/gpl.html

为商业/专有软件开发购买的 Delphi 运行时库中不存在 GPL 符号。

如果您的源代码需要知道它被编译成哪种许可模型,您可以使用 {$IF DECLARED(GPL)}...{$IFEND} 来测试 GPL 符号是否存在。符号本身的价值并不重要。*)

尤其是源代码中的这段文字让我对许可证产生了怀疑。如果它可以作为 GPL 分发,这是否意味着它也是开源的?

4

2 回答 2

3

不——它不是开源的。如果你拥有delphi,你可以看看它,但就是这样。对于我的版本,它说:

{ *********************************************************************** }
{                                                                         }
{ Delphi / Kylix Cross-Platform Runtime Library                           }
{ System Utilities Unit                                                   }
{                                                                         }
{ Copyright (c) 1995-2005 Borland Software Corporation                    }
{                                                                         }
{ Copyright and license exceptions noted in source                        }
{                                                                         }
{ *********************************************************************** }

它可能包含有许可证例外的开源。如果你想要一个开源版本,请查看 free pascal ( http://www.freepascal.org/ )


Borland 是版权的持有者,因此他们可以根据不同的许可对其进行许可(例如,参见 MySQL 或 QT 的双重许可模式)。您发布的 systems.pas 部分表明,他们过去曾这样做过。

似乎有一个 GPL 版本的 systems.pas,它定义了 GPL 符号。如果您使用此版本编写程序,由于 GPL 的传染性,您编写的代码也必须放在 GPL 下。如果您购买了商业版本,则您拥有不同的许可证,并且您无需将代码置于 GPL 之下。

我只能猜测哪个版本的 Delphi IDE 有 GPLed systems.pas。如果我不得不这样做,我会猜测 Kylix for Linux(也许也适用于 Windows)。

于 2009-09-07T08:49:26.310 回答
1

Kylix时代,CLX以双许可模式提供。免费版本称为 FreeCLX,包含BaseCLX、VisualCLX 和 DataCLX 部分

All changes since Kylix 3.0 made on the Delphi side, and all VCL things that are not part of CLX have never been available under an open-source license form.

Though big parts of the VCL are available on for instance Koders, they are in fact illegal copies.

于 2011-04-23T06:28:16.180 回答