Delphi运行时代码是否是开源的?

时间:2009-09-07 08:01:21

标签: delphi open-source definition

this question中,我将Delphi运行时源代码称为“开源”,只是因为它是开放的。其他人不同意这一点,因为Delphi本身就是一种商业产品。根据{{​​3}},Wikipedia必须符合open source

我已经对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的更多信息,请参阅set of rules

     

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

     

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

特别是源代码中的这篇文章让我对许可证产生怀疑。如果它可以作为GPL分发,这是不是意味着它也是开源的?

2 个答案:

答案 0 :(得分: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                        }
{                                                                         }
{ *********************************************************************** }

它可能包含开源,但有许可证例外。如果您想拥有开源版本,请查看免费的pascal(http://www.freepascal.org/


Borland是版权所有者,因此他们可以根据不同的许可证授权(例如,参见MySQL或QT的双重许可模式)。您发布的系统部分表明,他们过去已经这样做了。

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

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

答案 1 :(得分:1)

Kylix时代,CLX图书馆became available in a dual-license mode。免费版本称为FreeCLX,包含部分BaseCLX, VisualCLX and DataCLX

自Kylix 3.0在Delphi方面做出的所有更改,以及所有不属于CLX的VCL内容从未以开源许可证形式提供。

虽然VCL的大部分可用于Koders,但它们实际上是非法拷贝。