[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

microsoft.public.vb.general.discussion

Can anyone make head or tail of the GNU GENERAL PUBLIC LICENSE?

(Mike Mitchell)

3/18/2011 3:05:00 PM

I've just had a quick read and it's total gobbledegook.

If I developed a simple little VB6 app that uses par2.exe (from the
QuickPAR people), WHAT, exactly, do I need to include with it if I
make my prog available to somebody else for free?

The GNU GENERAL PUBLIC LICENSE keeps rabbiting on about source code. I
don't want to modify par2.exe. I don't need the source code. I just
downloaded the par2cmdline.zip off SourceForge and extracted par2.exe.

Sure, the source code is probably available on SourceForge or
somewhere, but what does all that blurb in the GNU thingy actually
mean? I can't fathom any of it.

Mabe my next freebie app will be
HowToUnderstandTheGnuGeneralPublicLicence.exe in 20 easy lessons.

grrr!

MM
23 Answers

(Mike Mitchell)

3/18/2011 3:22:00 PM

0

On Fri, 18 Mar 2011 15:05:15 +0000, MM <kylix_is@yahoo.co.uk> wrote:

>I've just had a quick read and it's total gobbledegook.
>
>If I developed a simple little VB6 app that uses par2.exe (from the
>QuickPAR people), WHAT, exactly, do I need to include with it if I
>make my prog available to somebody else for free?
>
>The GNU GENERAL PUBLIC LICENSE keeps rabbiting on about source code. I
>don't want to modify par2.exe. I don't need the source code. I just
>downloaded the par2cmdline.zip off SourceForge and extracted par2.exe.
>
>Sure, the source code is probably available on SourceForge or
>somewhere, but what does all that blurb in the GNU thingy actually
>mean? I can't fathom any of it.
>
>Mabe my next freebie app will be
>HowToUnderstandTheGnuGeneralPublicLicence.exe in 20 easy lessons.
>
>grrr!
>
>MM

For instance, at
http://www.gnu.org/licenses/gpl-faq.html#Unchanged... the
question is asked:

"I downloaded just the binary from the net. If I distribute copies, do
I have to get the source and distribute that too?"

And the reply:

"Yes. The general rule is, if you distribute binaries, you must
distribute the complete corresponding source code too. The exception
for the case where you received a written offer for source code is
quite limited."

So if I want to include *just* par2.exe, *I* have to faff about
getting source code from somewhere! Bloody ridiculous. How can I know
that it's the right "corresponding" source code? I've never had to
deal with GNU before. Now I know why. The folks at GNU seem to spend
most of their time throwing a spanner in the works. They can't even
formulate their answer without resorting to more gobblegook. "...where
you received a written offer for source code..." received? From whom?
The licence is completely unintelligible.

MM

(Mike Mitchell)

3/18/2011 4:19:00 PM

0

On Fri, 18 Mar 2011 11:50:41 -0500, "Mayayana"
<mayayana@invalid.nospam> wrote:

>The author of XPDF has a nice, concise explanation
>that probably applies to any GPL code:
>
>------------
>- If you are redistributing unmodified copies of Xpdf (or any of the
> Xpdf tools) in binary form, you need to include all of the
> documentation: README, man pages (or help files), and COPYING. The
> README file contains a pointer to a web page with the source code,
> which satisfies the GPL requirement as far as I am concerned. You
> are, of course, welcome to distribute the source code as well.

Right. In the par2cmdline-0.4-x86-win32.zip (probably the latest and
final version) the readme does not contain such a pointer. What it
says is this:

"You should have received par2cmdline in the form of source code which
you can compile on your computer. You may optionally have received a
pre-compiled version of the program for your operating system.

"If you have only downloaded a precompiled executable, then the source
code should be available from the same location that you downloaded
the executable from."

I can see a problem here: *I* know where I got par2cmdline.zip from,
but if I release *my* app to somebody and even if I incoporate the
par2cmdline.zip in full, *they* are not going to know where it was
downloaded from. As I said above, there is no link in the readme.

But if *I* point this (lack of download link) out to the user of my
app in order to comply with the GPL and furthermore *I* do include a
link to where *I* downloaded the original zip from, what's to say that
that link won't become invalid over the coming months and years?

>
>- If you are incorporating the Xpdf source code into another program,
> and you are distributing that program, you'll need to release your
> program under the GPL, which means you'll have to make the full
> source available. This also applies if you are making changes to
> the Xpdf tools.
>----------------

So as I am NOT incorporating any source code from par2.exe, neither am
I making any changes to par2.exe, therefore I assume I DO NOT have to
release MY program under GPL, correct?

> Usually any code or binaries will come with some sort of readme
>file. If the file you're using doesn't, and you're only using the
>binary, then distribute a copy of the license. Probably you should
>also distribute any docs (typically a copy of a Linux Man page).
>(Fortunately ... or unfortunately ... OSS rarely comes with large
>doc files. :)
> It's also a good idea to include attribution and a link in your own
>package.
>
> The basic spirit of the thing is that anyone who gets the code or
>binary through you should be provided with the means to get it
>and use it themselves. So providing a link and info. is both common
>courtesy and fulfilling the spirit of the requirement.

Fine, but who's going to guarantee that any link to the source code is
going to be valid next week?

> The more controversial part of the license generally only applies
>to source code: If you use GPL source code in your own compiled
>project you are held responsible for making your changes public
>and making your software OSS. It's sort of a high-tech socialist
>extortion virus. (Extorting as in code, not as in beer. :)

Well, as I am not going to use par2.exe's source code, none of that
applies in my case.

> If you're only using the binary, and there is no included file that
>spells out what's required, the best thing is to just distribute
>whatever you downloaded. Put it in a subfolder with it's own
>readme note that says something like: "These files are distributed
>in accordance with the license for par-whatever, which is used
>in this software. To get more information or source code see [URL]"

So I should provide a link to the SourceForge location, yes?

> I'm assuming you downloaded the Win32 binary ZIP. That only
>has two extra files: COPYING and README. Just distribute those
>with your software, along with a brief thank-you note.

Thanks.

As you may know by now I am only releasing software in the form of
registration-free COM. So I would typically have a DEPS folder
containing necessary files. However, I don't want to include just the
par2cmdline.zip and expect the user of my app to unzip it in order to
extract par2.exe. I would wish to place par2.exe in the DEPS folder so
that my app knows where to expect it. I can include the
par2cmdline.zip as a separate file that they can unzip if they want
and read the copying and readme files within it. *My* readme file
would refer to that zip file.

Sound okay so far?

MM

(Mike Mitchell)

3/18/2011 4:38:00 PM

0

On Fri, 18 Mar 2011 16:18:42 +0000, MM <kylix_is@yahoo.co.uk> wrote:

Addendum:

In addition to including the par2cmdline.zip with my app I intend to
include this statement in my readme file:

"The source code for par2.exe version 0.4 is available at:
http://sourceforge.net/projects/parchive/files/par2cmdline/0.4/par2cmdline-0.4.tar.g...

This information was correct at the time of writing."

MM

Mayayana

3/18/2011 4:51:00 PM

0

The author of XPDF has a nice, concise explanation
that probably applies to any GPL code:

------------
- If you are redistributing unmodified copies of Xpdf (or any of the
Xpdf tools) in binary form, you need to include all of the
documentation: README, man pages (or help files), and COPYING. The
README file contains a pointer to a web page with the source code,
which satisfies the GPL requirement as far as I am concerned. You
are, of course, welcome to distribute the source code as well.

- If you are incorporating the Xpdf source code into another program,
and you are distributing that program, you'll need to release your
program under the GPL, which means you'll have to make the full
source available. This also applies if you are making changes to
the Xpdf tools.
----------------

Usually any code or binaries will come with some sort of readme
file. If the file you're using doesn't, and you're only using the
binary, then distribute a copy of the license. Probably you should
also distribute any docs (typically a copy of a Linux Man page).
(Fortunately ... or unfortunately ... OSS rarely comes with large
doc files. :)
It's also a good idea to include attribution and a link in your own
package.

The basic spirit of the thing is that anyone who gets the code or
binary through you should be provided with the means to get it
and use it themselves. So providing a link and info. is both common
courtesy and fulfilling the spirit of the requirement.

The more controversial part of the license generally only applies
to source code: If you use GPL source code in your own compiled
project you are held responsible for making your changes public
and making your software OSS. It's sort of a high-tech socialist
extortion virus. (Extorting as in code, not as in beer. :)

If you're only using the binary, and there is no included file that
spells out what's required, the best thing is to just distribute
whatever you downloaded. Put it in a subfolder with it's own
readme note that says something like: "These files are distributed
in accordance with the license for par-whatever, which is used
in this software. To get more information or source code see [URL]"

I'm assuming you downloaded the Win32 binary ZIP. That only
has two extra files: COPYING and README. Just distribute those
with your software, along with a brief thank-you note.


| I've just had a quick read and it's total gobbledegook.
|
| If I developed a simple little VB6 app that uses par2.exe (from the
| QuickPAR people), WHAT, exactly, do I need to include with it if I
| make my prog available to somebody else for free?
|
| The GNU GENERAL PUBLIC LICENSE keeps rabbiting on about source code. I
| don't want to modify par2.exe. I don't need the source code. I just
| downloaded the par2cmdline.zip off SourceForge and extracted par2.exe.
|
| Sure, the source code is probably available on SourceForge or
| somewhere, but what does all that blurb in the GNU thingy actually
| mean? I can't fathom any of it.
|
| Mabe my next freebie app will be
| HowToUnderstandTheGnuGeneralPublicLicence.exe in 20 easy lessons.
|
| grrr!
|
| MM


(Mike Mitchell)

3/18/2011 5:12:00 PM

0

On Fri, 18 Mar 2011 12:42:03 -0500, "Mayayana"
<mayayana@invalid.nospam> wrote:

>
>| I can see a problem here: *I* know where I got par2cmdline.zip from,
>| but if I release *my* app to somebody and even if I incoporate the
>| par2cmdline.zip in full, *they* are not going to know where it was
>| downloaded from. As I said above, there is no link in the readme.
>|
>| But if *I* point this (lack of download link) out to the user of my
>| app in order to comply with the GPL and furthermore *I* do include a
>| link to where *I* downloaded the original zip from, what's to say that
>| that link won't become invalid over the coming months and years?
>|
>
> It's spelled out clearly in section 3. If you're not charging for your
>software you can just distribute the info. you currently have about
>how to get source code. (Option C.) If you are charging then you
>should technically be distributing the ZIP full of source code. (Option
>A. Not really a big deal. It's 216 KB. And I didn't have any trouble finding
>it at the sourceforge site.)

"clearly" is a matter of opionion. Personally, I believe it's as clear
as mud. Here's that section 3 a, b and c:

<quote
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software
interchange; or,

b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,

c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
</quote>

Well, I'm loathe to do either (a) or (b) (Since the author himself did
not see any requirement to include the source code, why should I?), so
as far as I'm concerned, only (c) applies.

But where (c) says: "Accompany it with the information you received as
to the offer to distribute corresponding source code." what offer can
they be referring to? All I "received" is the .zip containing three
files: par2.exe, Copying, and Readme. The file Copying is just the GPL
itself, and the Readme just says: "If you have only downloaded a
precompiled executable, then the source code should be available from
the same location that you downloaded the executable from."

So does that latter sentence constitute the "offer" that GNU is
wibbling about in its section 3c?

Like I said, Mississippi Mud Pie would be completely transparent in
comparison.

MM

(Mike Mitchell)

3/18/2011 5:18:00 PM

0

On Fri, 18 Mar 2011 17:11:33 +0000, MM <kylix_is@yahoo.co.uk> wrote:

>On Fri, 18 Mar 2011 12:42:03 -0500, "Mayayana"
><mayayana@invalid.nospam> wrote:
>
>>.............Not really a big deal. It's 216 KB.

Actually, that's worrying by itself, since the two source code
packages I downloaded are 223kb and 234kb respectively. (Version 0.3
and version 0.4) I specifically went back to SourceForge and
downloaded version 0.2 as well, just to see how large it is, and it's
198kb, so when you say you didn't have any trouble finding it, I don't
know where the 216kb version came from.

MM

Mayayana

3/18/2011 5:42:00 PM

0


| I can see a problem here: *I* know where I got par2cmdline.zip from,
| but if I release *my* app to somebody and even if I incoporate the
| par2cmdline.zip in full, *they* are not going to know where it was
| downloaded from. As I said above, there is no link in the readme.
|
| But if *I* point this (lack of download link) out to the user of my
| app in order to comply with the GPL and furthermore *I* do include a
| link to where *I* downloaded the original zip from, what's to say that
| that link won't become invalid over the coming months and years?
|

It's spelled out clearly in section 3. If you're not charging for your
software you can just distribute the info. you currently have about
how to get source code. (Option C.) If you are charging then you
should technically be distributing the ZIP full of source code. (Option
A. Not really a big deal. It's 216 KB. And I didn't have any trouble finding
it at the sourceforge site.)


| So as I am NOT incorporating any source code from par2.exe, neither am
| I making any changes to par2.exe, therefore I assume I DO NOT have to
| release MY program under GPL, correct?
|

Right. But section 3 still applies. (Above.)

| Fine, but who's going to guarantee that any link to the source code is
| going to be valid next week?
|

Answered above. It's just the spirit of sharing. You got it
for free so they ask that you make an effort to see that
others can get it for free, rather than implying -- by not
including any info. -- that the binary is your work.



(Mike Mitchell)

3/18/2011 5:45:00 PM

0

Here's another idea:

Don't include par2.exe in my package, but just tell downloaders where
to get it, e.g. via Google.

MM

(Mike Mitchell)

3/18/2011 6:14:00 PM

0

Further:

I've read Copying (i.e. the GNU GPL that accompanies par2.exe) again
in absolute detail and my conclusion is:

*** The ONLY way I can FULLY comply is to include the source code. ***

Let's look once more at Section 3b:

------------
"Accompany it with a written offer, valid for at least three years, to
give any third party, for a charge no more than your cost of
physically performing source distribution, a complete machine-readable
copy of the corresponding source code, to be distributed under the
terms of Sections 1 and 2 above on a medium customarily used for
software interchange"
------------

Apparently, such an offer must be honoured to WHOMSOEVER REQUESTS ITS
FULFILMENT. (See
http://www.softwarefreedom.org/resources/2008/compliance-...)
Moreover, given that said Copying document refers to Version 2 of the
GNU GPL, "physically performing source distribution" means that the
source code MUST be distributed on a physical medium such as a CD.
Only from Version 3 does internet distribution become permissible.

So Section 3b is completely out of the question.

Section 3c does not apply since I did not receive any "offer
to distribute corresponding source code" According to
http://www.softwarefreedom.org/resources/2008/compliance-...
such an offer would read like this:

------------
"The software included in this product contains copyrighted software
that is licensed under the GPL. A copy of that license is included in
this document on page X. You may obtain the complete Corresponding
Source code from us for a period of three years after our last
shipment of this product, which will be no earlier than 2011-08-01, by
sending a money order or check for $5 to:
GPL Compliance Division
Our Company
Any Town, US 99999

Please write 'source for product Y ' in the memo line of your payment.

You may also find a copy of the source at
http://www.example.com/....

This offer is valid to anyone in receipt of this information."
------------

Note that last sentence: "anyone in receipt of this information" !!!

Now, in addition to all we have discussed so far there is a further
complication: When I run par2.exe the program states:

------------
"This is free software, and you are welcome to redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version. See COPYING for
details."
------------

However, COPYING makes no mention of "any later version", so
effectively the statement *in the program at run time* negates the
blurb in COPYING if one is allowed to apply version 3, a later version
of the GPL.

See what I mean about being as clear as mud?!! ;)

MM

Mayayana

3/18/2011 10:24:00 PM

0

It seems pretty clear to me. Awkward and legalistic, but
basically clear. If you're going to charge then distribute
the source code. If not, distribute info. about how to get
the various files. The sourceforge download is the information
that you received. If you distribute COPYING, README, etc.
then you've distributed the info. that you received.
(I agree that option B is absurd.)

| However, COPYING makes no mention of "any later version"

Yes it does. COPYING is the GPL v. 2. At the very end it says
just what you read from the program at runtime. So if you
like you can find v. 3 and see if it's any more attractive.