pan-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Pan-users] SSL/TSL and Linux pan 0.139


From: Duncan
Subject: Re: [Pan-users] SSL/TSL and Linux pan 0.139
Date: Mon, 24 Feb 2014 06:21:34 +0000 (UTC)
User-agent: Pan/0.140 (Chocolate Salty Balls; GIT 7ca9c6c /usr/src/portage/src/egit-src/pan2)

Mike Brown posted on Sun, 23 Feb 2014 21:15:11 -0600 as excerpted:

> I have 0.133 on my Linux system, as it is an older version of Fedora. I
> also have it un my XP laptop, but it is version 0.139.
> 
> On the Linux system I was told that TSL/SSL was supported in 0.133 yet.
> It is in the 0.139 that I have on the XP box.

I believe you mean that you were told that TLS/SSL was *NOT* supported in 
0.133 yet, correct?

> But, my friend loaded 0.139, via yum, on his latest version of Fedora,
> only to find that the security option doesn't exist in the news server
> setup GUI.
> 
> Any particular reason why it would be missing from the Linux GUI?

The technical answer is that secure-connection support is a build-time 
option.  Presumably, the packager who built and packaged that version 
either deliberately turned off the option, or simply left it at the 
default and didn't have the required deps (gnutls, or more precisely in 
binary distributions such as fedora that split the runtime libs from the 
components necessary to build packages depending on them, gnutls-dev(el), 
of the appropriate version) to activate that option available when he did 
the build.

The political/legal answer (speaking as an interested non-lawyer layman, 
get qualified legal help if you need it!) likely behind the technical 
disabling is rather more complicated.  Pan is licensed GPLv2 (only), not 
the recommended GPLv2 "or any later version".[1]  The library currently 
providing the ssl/tls support is gnutls, which was in the past and is now 
again licensed with the compatible LGPLv2.1 with the recommended "or any 
later version" language, which is legally compatible.

But there's a later version of both licenses, version 3.  For a few 
versions (but no longer) gnutls was trying to switch to LGPLv3 or later 
and was shipping with that license (actually, the latest release 
apparently still is, the switch back appears to be only in unreleased 
code, ATM), updating from the LGPLv2.1.  Unfortunately, LGPLv3 is legally 
incompatible with GPLv2 only, so distributors who cared about being legal 
had to disable pan's secure-connection support since pan's GPLv2 only 
license doesn't allow distribution when linked against the incompatible 
LGPLv3.

A number of binary-based distro releases occurred during the period gnutls 
was licensed LGPLv3+ instead of LGPLv2+, and your friend's latest fedora 
very likely still ships a gnutls licensed LGPLv3+, so a binary-pan 
package shipped for that release won't legally be able to link to gnutls, 
and pan's secure-connection feature build option was likely disabled for 
that reason.

Some later release will presumably ship a newer gnutls, again licensed 
LGPLv2+, and the binary-package pan shipped with it will again be able to 
legally enable the secure-connections build-time option.


Meanwhile, it's worth noting that this legal restriction applies to 
"distributors" ((L)GPLv2.1 term) or "conveyors" ((L)GPLv3 term, chosen 
for broader international effect) of the software binaries, *NOT* to 
individual end-users and NOT to people distributing the source code only, 
no binaries.  It's thus entirely legal from the GPL perspective for end-
users to build their local package linking to whatever they want, 
including proprietary libraries of they so choose, as long as they don't 
distribute the resulting non-source binaries.  (Of course, the license of 
whatever you're linking to would apply too, and many servantware 
distributors do certainly attempt to ban such linking from their side, 
but that's their side, not the GPLv2's side.)

So you're legally free to download the pan code and build it yourself, 
activating that build-time option as you please, as long as you don't 
distribute the resulting binaries.

Similarly, source-based distributions such as gentoo avoid having to 
worry about both this problem and most of the patent-related issues, 
since (with the exception of LiveCDs and the like) all they distribute is 
a framework and scripts to automate the build process, with the end-user 
actually doing the build and thus able to choose to enable or not based 
on where they live (some jurisdictions don't consider software patents 
valid, so they won't apply there, and if the user isn't distributing the 
binaries, those restrictions won't apply either).

Since I'm a gentoo user and thus build pan myself, it can have gnutls/
secure-connections enabled without issue, as long as I don't distribute 
it. =:^)

Meanwhile, pan's secure-connection feature legal history is actually 
rather longer and more complex than that (the original implementation was 
openssl, which is freedomware, but not GPL compatible either, thus the 
switch to gnutls, and there's also the twist with the GPLv2 licensed 
polarssl, considered as an option when gnutls first switched to LGPLv3 
and the issue became known, before gnutls reverted to LGPLv2), but 
(speaking as an interested non-lawyer, get qualified legal help if you 
need it!) the above is a reasonably accurate description of the current 
situation.

---
[1] Technically, pan's GPLv2 only license could be changed, but 
practically, the effort required to do so isn't worth it.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman




reply via email to

[Prev in Thread] Current Thread [Next in Thread]