How to write an exception in section 7 of GPLv3?

I would like to release a small piece of software under GPLv3. It is written in C # for the .NET 3.5 SP1 platform. It also uses the MEF library , which is released under MS-PL. MS-PL is not GPL compatible. However, the MEF library will eventually be ported to .NET 4, and at that time it will become a system library, and that doesn't matter anymore.

I would like the code to be released sooner rather than later, just to get some feedback and get the code for early adopters (early release, release often). I understand that I can write an exception in section 7 of GPLv3, which will allow recipients to associate this code with this particular library.

What would this exception look like? Is this done in a separate file next to the LICENSE file in the project directory? Should I mention an exception in all file headers? I know the ClassPath exception, but does anyone know about the case when an exception was made as an example for a specific library?

+3
source share
1 answer

I found an example in a Vidalia open source project. You can see their LICENSE file to find out how they allowed binding with 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.
+3
source

Source: https://habr.com/ru/post/1713110/


All Articles