Wim*_*ink 5 delphi open-source definition
在这个问题中,我将Delphi运行时源代码称为“开放源代码”,仅仅是因为它是开放的。其他人不同意这一点,因为Delphi本身是一种商业产品。根据Wikipedia的说法,开源必须遵守一组规则。
我已经在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发行,这是否也意味着它也是开源的?
不 - 它不是开源的。如果你拥有delphi,你可以看看它,但仅此而已。对于我的版本,它说:
{ *********************************************************************** }
{ }
{ Delphi / Kylix Cross-Platform Runtime Library }
{ System Utilities Unit }
{ }
{ Copyright (c) 1995-2005 Borland Software Corporation }
{ }
{ Copyright and license exceptions noted in source }
{ }
{ *********************************************************************** }
Run Code Online (Sandbox Code Playgroud)
它可能包含开放源代码,但存在许可例外情况。如果您想要一个开源版本,请查看免费的 pascal ( http://www.freepascal.org/ )
Borland 是版权持有者,因此他们可能会根据不同的许可证进行许可(例如,参见 MySQL 或 QT 的双重许可模式)。您发布的 Systems.pas 部分表明,他们过去曾这样做过。
似乎有一个 GPL 版本的 systems.pas,它定义了 GPL 符号。如果您使用此版本编写程序,由于 GPL 的感染性,您编写的代码也必须置于 GPL 之下。如果您购买了商业版本,您将拥有不同的许可证,并且不需要将代码置于 GPL 之下。
我只能猜测哪个版本的 Delphi IDE 具有 GPLed systems.pas。如果必须的话,我猜是 Linux 版的 Kylix(也许 Windows 版也可以)。
| 归档时间: |
|
| 查看次数: |
1129 次 |
| 最近记录: |