3

我想在 GPLv3 下发布一个小软件。它是用 C# 为 .NET 3.5 SP1 框架编写的。它还使用在 MS-PL 下发布的MEF库。MS-PL 不兼容 GPL。但是,MEF 库最终会被滚动到 .NET 4 版本中,到那时,它就变成了一个系统库,不再重要了。

我仍然希望尽快发布代码,只是为了获得一些反馈并为早期采用者提供代码(尽早发布,经常发布)。我知道我可以在 GPLv3 第 7 节下编写一个例外,允许接收者将此代码与此特定库链接。

这个异常会是什么样子?它是否位于项目目录中 LICENSE 文件旁边的单独文件中?我是否也必须在所有文件头中提及异常?我知道 ClassPath 异常,但有谁知道某个特定库发生异常的情况,例如?

4

1 回答 1

4

我在开源项目 Vidalia 中找到了一个示例。您可以查看他们的LICENSE 文件以了解他们如何允许链接到 OpenSSL:

=======
LICENSE
=======

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License (GPL) as published by
the Free Software Foundation; either version 2 of the License, or (at
your option) any later version. The full text of versions 2 and 3 of
the GPL can be found respectively in the files LICENSE-GPLV2 and
LICENSE-GPLV3.

EXCEPTION: This distribution of Vidalia may be linked against OpenSSL
according to the terms of the section below entitled "OpenSSL Exception."

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


                       _OpenSSL Exception_

0. Definitions

"Vidalia" means Vidalia software licensed under version 2 or any later
version of the GNU General Public License (collectively, "GPL"), or a
work based on such software and licensed under the GPL.

"OpenSSL" means OpenSSL toolkit software distributed by the OpenSSL
Project and licensed under the OpenSSL Licenses, or a work based on such
software and licensed under the OpenSSL Licenses.

"OpenSSL Licenses" means the OpenSSL License and Original SSLeay License
under which the OpenSSL Project distributes the OpenSSL toolkit software,
as those licenses appear in the file LICENSE-OPENSSL.

1. Exception

You have permission to copy, modify, propagate, and distribute a work
formed by combining OpenSSL with Vidalia, or a work derivative of such a
combination, even if such copying, modification, propagation, or
distribution would otherwise violate the terms of the GPL. You must
comply with the GPL in all respects for all of the code used other than
OpenSSL.

You may include this OpenSSL Exception and its grant of permissions when
you distribute Vidalia.  Inclusion of this notice with such a
distribution constitutes a grant of such permission.  If you do not wish
to grant these permissions, remove this section entitled "OpenSSL
Exception" from your distribution.
于 2009-07-21T00:02:35.683 回答