License

M

Mike Schilling

Martin said:
That doesn't apply to all Sun example code. For example, the code
samples in Appendix B of the JavaMail API Design Specification 1.4
have no licensing agreements that I can find and the overall
document
licensing doesn't appear to affect study, use or modification of
this
code.

Something my company wanted to use (I think it was a Swing example)
had the same licensing nonsense attached to it. Again, it was simply
an example of how to use an API, something of real value if you can
use it as a starting point for your own application, and fairly
useless if you can't.
 
M

Mike Schilling

Peter said:
[...]
Modifying the library code itself excludes that exception, leaving
the rest of the license to apply in whole.

I'm uncertain. The exception says, "If you modify this library, you
may extend this exception to your version of the library, but you
are not obligated to do so."

But that doesn't mean that the exception applies to modifications of
the library. The exception exists to allow consumers of the library
to use the library without falling under the other requirements of
the license, if _all_ they are doing is linking to it.

The above text simply means that if you do modify the library, while
you yourself aren't subject to the terms of the exception, you are
_permitted_ to provide the same exception to other consumers of your
modified version. That is, if _those_ consumers don't modify the
library itself, they may use the library via linking without
complying with the other aspects of the license.

Note that you're not even _required_ to extend the exception to
consumers of your modified version. It's simply allowing you to do
so.
But in any case, the exception doesn't apply if you're modifying the
code. It's applicable only in the scenario where all you do is
link.
If I modify the library and extend the exception, I
am obligated to disclose the modification, but I can still rely on
the (extended) exception to link independent code that may remain
proprietary.

All true. But the OP doesn't appear to be asking about code
independent of the library covered under the license. It appears
that he is specifically concerned with reuse via compilation of code
in the library. I would say that constitutes a modification of the
code, and thus the exception for linking doesn't apply.

The idiotic part of this is that it isn't really a library in the
usual sense. It's not code that has value because it provides some
functionality; it's code that gives an example of how to use an API,
and what it actually does in its unmodified state is (I presume) of no
value to anyone. If I write an example for my customers of, for
instance, how to write some WSDL using a custom binding we've
invented, I don't expect them to read it, master it, and then create
clean-room WSDL for their own services. I want them to cut and paste,
because

1. That's simpler, so it puts them closer to using the product in a
way that's worth money to them.
2. They're more likely to get it right the first time, which makes
both them and us happier..
 
M

Mike Schilling

Peter said:
One might argue that it's silly for Sun to have applied the license
to
sample code.

Or one (me) might argue that "silly" is a severe understatement.
 
A

Arne Vajhøj

John said:
That is correct, but the example cited by the OP includes a specific
exception:

'Sun designates this particular file as subject to the "Classpath"
exception as provided by Sun in the License file that accompanied this
code.'

The exception is highlighted in yellow here:

<https://glassfish.dev.java.net/public/CDDL+GPL.html>

This would affect the OP's rights and obligations regarding
redistribution.

A similar exception is provided for runtime library elements that are
linked by various gcc compilers.

Ah.

I should have read the entire text.

GPL with classpath exception works much like CDDL here
except that it is GPL compatible.

Arne
 
A

Arne Vajhøj

John said:
If I use GPL'd code in a program, I must release the program under GPL
license as well.

If you distribute the app outside your organization.

(and there are no linking exception)
Many (if not all) API samples provided by Sun carry some form of GPL
license.

Are you sure about that ?

Arne
 
A

Arne Vajhøj

Peter said:
[...]
The exception is highlighted in yellow here:

<https://glassfish.dev.java.net/public/CDDL+GPL.html>

This would affect the OP's rights and obligations regarding
redistribution.

I don't think so. That exception provides only for the situation where
the original library is _linked_, without modification.

Modifying the library code itself excludes that exception, leaving the
rest of the license to apply in whole.

I think so.

The exception text says:

"If you modify this library, you may extend this exception to your
version of the library, but you are not obligated to do so.?"

Arne
 
A

Arne Vajhøj

Mike said:
Or one (me) might argue that "silly" is a severe understatement.

The problem is that no license specified means no license for
anyone to use it.

So if they do not any license in the examples then
copy paste from it will be a copyright violation.

The only way to avoid a license is to give up copyright
and put it in th epublic domain.

Why BTW would be a fine thing for examples if you ask me.

Arne
 
M

Martin Gregorie

The problem is that no license specified means no license for anyone to
use it.

So if they do not any license in the examples then copy paste from it
will be a copyright violation.

The only way to avoid a license is to give up copyright and put it in th
epublic domain.
If the examples are provided as downloadable source without any copyright
tag or author attribution in a directory called, say 'examples', what
copyright, if any, covers them?
 
A

Arne Vajhøj

Peter said:
Peter said:
]
The exception is highlighted in yellow here:

<https://glassfish.dev.java.net/public/CDDL+GPL.html>

This would affect the OP's rights and obligations regarding
redistribution.
I don't think so. That exception provides only for the situation
where the original library is _linked_, without modification.
Modifying the library code itself excludes that exception, leaving
the rest of the license to apply in whole.

I think so.

The exception text says:

"If you modify this library, you may extend this exception to your
version of the library, but you are not obligated to do so.?"

See my other post. Modification of the library excludes the exception
from applying to the person modifying. That person may still extend the
exception to _others_, but it no longer applies to him.

????

The entire classpath discussion is only relevant for redistribution.

Even with plain GPL without any exception you can do anything you
want with the code as long as you keep it internally.

And the classpath exception give yous the right to distribute
both the original and the modified version utilizing the exception.

No problems at all.
Note that the text you're quoting isn't actually part of the exception
per se. That is, it doesn't except the author of the modifications from
obligations regarding redistribution. The fact that the text appears in
the same place as the exception doesn't mean it's actually an exception;
instead, it's more "meta-language" describing the construction of the
license and how the license itself can be extended.

Not true.

It is from the license texts.

And it very explicitly grants the modifier the right if he want
to extend the exception to the modified work.

Arne
 
J

John B. Matthews

"Peter Duniho said:
The idiotic part of this is that it isn't really a library in the
usual sense. It's not code that has value because it provides some
functionality; it's code that gives an example of how to use an
API, and what it actually does in its unmodified state is (I
presume) of no value to anyone. [...]

I think, rather, it is of value, but the value is actually at least
as much for the author of the library as for any clients.

I strongly suspect that such terms are intended to reduce the risk of
competitors using Sun's own code against them, as has happened in the
past.
Anyway, no disagreement from me on the "idiotic" point. I agree that
for code that exists solely for the purpose of being sample code to
demonstrate the use of a library to be covered under any license
other than a straight public domain one is silly.

Indeed, all the examples I post are based on study of the API and Sun
tutorials, but none could be called derived works.
Caveat: I have not bothered to verify the OP's claims. I'm taking
for granted that there is in fact sample code that's being wrapped
in the GPL/CDDL license.

Good point. Sadly, I see a burgeoning growth of such defensive terms and
conditions.
 
J

John B. Matthews

Arne Vajhøj said:
Peter said:
Peter Duniho wrote:
]
The exception is highlighted in yellow here:

<https://glassfish.dev.java.net/public/CDDL+GPL.html>

This would affect the OP's rights and obligations regarding
redistribution.
I don't think so. That exception provides only for the situation
where the original library is _linked_, without modification.
Modifying the library code itself excludes that exception,
leaving the rest of the license to apply in whole.

I think so.

The exception text says:

"If you modify this library, you may extend this exception to your
version of the library, but you are not obligated to do so."
[...]
Note that the text you're quoting isn't actually part of the
exception per se.

I think the quote is the next to last sentence in the yellow highlighted
section, entitled '"CLASSPATH" EXCEPTION TO THE GPL VERSION 2.' Removing
the entire highlighted section, as suggested in the last sentence, would
_not_ extend the exception and would preclude one from using the
exception to link one's own independent work to the modified library.
The plain GPL v2 would remain.
Not true.

It is from the license texts.

And it very explicitly grants the modifier the right if he want
to extend the exception to the modified work.

I have to agree with Arne about the plain meaning of the text. Of course
lawyers love to point out that "plain meaning" has a special meaning to
lawyers. :)
 
L

Lew

(Please attribute quotes.)

Mike said:

Nor GPL nor CDDL would have prevented that. Laying an open-source license on
code doesn't prevent competitors from using it against you, it only requires
them to release their modifications under the open-source license terms.

The example doesn't show anything about how open-source licenses would have
benefited Sun in that case, nor even states whether Pet Store was under an
open-source license back in 2001. It certainly was copyrighted by Sun in 2001
and that didn't stop Microsoft.

Neither the point nor the example are excellent.
 
J

John B. Matthews

Lew <[email protected]> said:
(Please attribute quotes.)

Mike said:

Nor GPL nor CDDL would have prevented that. Laying an open-source
license on code doesn't prevent competitors from using it against
you, it only requires them to release their modifications under the
open-source license terms.

Not "prevent" but surely "reduce the risk" of losing a competitive
advantage. Many technology companies, including Sun, are aggressively
pursuing multi-license strategies to foster technology adoption while
preserving what advantage they can.
The example doesn't show anything about how open-source licenses
would have benefited Sun in that case, nor even states whether Pet
Store was under an open-source license back in 2001. It certainly
was copyrighted by Sun in 2001 and that didn't stop Microsoft.

Precisely, and it may explain why so many companies are adding the
boilerplate in reams. Examples from Apple, Oracle, Sun and lesser
luminaries fill my system.
Neither the point nor the example are excellent.

I will not dispute a matter of taste, but I value the discussion.
 
L

Lew

I will not dispute a matter of taste, but I value the discussion.

I value the discussion, too, but my judgment was not based on "taste" but on
utility.

The point was that Sun puts open-source licenses on examples in order to
prevent harm from a competitor. The point is not excellent because there is
no evidence provided that Sun had that intention, and it's evident that such
licenses do nothing to prevent a competitor from abusing Sun's code to harm
Sun, and I would guess that Sun's lawyers know that. Were it Sun's intention
to prevent harm from competitors, they'd've close-sourced the license. Ergo,
because the point is unfounded and illogical, it is not an excellent point.

The example did not speak to that point. It showed that Microsoft did harm to
Sun (or tried to) by comparing similar applications in C#/.Net and Java. It
did not show that Microsoft used Sun's code to start with, that Sun's code was
under an open-source license or not, how an open-source license would have
prevented that harm, or that that incident was connected in Sun's mind to its
purported practice of open-sourcing example code. Being almost completely
irrelevant and completely non-evidentiary, it is not an excellent example.

You may call that a matter of "taste". I call it a matter of any reasonable
definition of excellence for explanatory points or examples in evidence thereof.
 
A

Arne Vajhøj

Peter said:
[...]
The exception text says:

"If you modify this library, you may extend this exception to your
version of the library, but you are not obligated to do so." [...]
Note that the text you're quoting isn't actually part of the
exception per se.

I think the quote is the next to last sentence in the yellow highlighted
section, entitled '"CLASSPATH" EXCEPTION TO THE GPL VERSION 2.' Removing
the entire highlighted section, as suggested in the last sentence, would
_not_ extend the exception and would preclude one from using the
exception to link one's own independent work to the modified library.
The plain GPL v2 would remain.

I don't know what you mean.

What "last sentence" suggested "removing the entire highlighted section"?

The word "exception" has a very specific and clear meaning. Just
because someone has highlighted text beyond the actual exception granted
doesn't make that text part of the exception.

But it is the entire exception that is highlighted and the right
to use the exception for modified work is part of the exception.
If you want to insist that the part of the highlighted text that grants
the right to extend the exception is in fact part of the exception, then
it _still_ does not apply, because the exception itself doesn't apply.

The exception applies since it applies to using the code in the
way we are discussing.

Arne
 
J

John B. Matthews

I will not dispute a matter of taste, but I value the discussion.

I value the discussion, too, but my judgment was not based on "taste" but on
utility.[/QUOTE]

Excellent. I genuinely appreciate the clarity that you invariably bring
to the discussion.
The point was that Sun puts open-source licenses on examples in order to
prevent harm from a competitor.

I think this mischaracterizes my point: I did not say "to prevent;" I
said, "to reduce the risk."
The point is not excellent because there is no evidence provided that
Sun had that intention, and it's evident that such licenses do
nothing to prevent a competitor from abusing Sun's code to harm Sun,
and I would guess that Sun's lawyers know that.

Sun, and all publicly held technology companies whose reports I've read,
place considerable value on their intellectual property. Sun's lawyers
are ethically obliged to maintain or enhance that value subject to the
constraints imposed by the company's business model.
Were it Sun's intention to prevent harm from competitors, they'd've
close-sourced the license. Ergo, because the point is unfounded and
illogical, it is not an excellent point.

Indeed, many companies use a combination of trade secret and copyrighted
source code to protect the value of their intellectual property. In the
case of technologies such as JAXB, Sun must balance the desire to
promote the adoption of their implementation of a widely used standard
against the greater security of closed source and trade secret. Sun, as
well as IBM, Oracle and a host of others, have embraced open source
licensing to achieve just this effect.
The example did not speak to that point. It showed that Microsoft
did harm to Sun (or tried to) by comparing similar applications in
C#/.Net and Java. It did not show that Microsoft used Sun's code to
start with, that Sun's code was under an open-source license or not,
how an open-source license would have prevented that harm, or that
that incident was connected in Sun's mind to its purported practice
of open-sourcing example code. Being almost completely irrelevant
and completely non-evidentiary, it is not an excellent example.

I am less sanguine defending the example, yet I found it strangely
compelling. Having read the Hallowe'en Documents and the Samba sources,
I find it too easy to be consumed with antipathy toward the
twice-convicted monopolist.
You may call that a matter of "taste". I call it a matter of any
reasonable definition of excellence for explanatory points or
examples in evidence thereof.

On reflection, my phrasing was a rhetorically weak attempt to use the
old chestnut, "de gustibus non disputandum est." I believe my point has
merit whether it is judged excellent or not.
 
J

John B. Matthews

"Peter Duniho said:
[...]
The exception text says:

"If you modify this library, you may extend this exception to
your version of the library, but you are not obligated to do
so." [...]
Note that the text you're quoting isn't actually part of the
exception per se.

I think the quote is the next to last sentence in the yellow
highlighted section, entitled '"CLASSPATH" EXCEPTION TO THE GPL
VERSION 2.' Removing the entire highlighted section, as suggested
in the last sentence, would _not_ extend the exception and would
preclude one from using the exception to link one's own independent
work to the modified library. The plain GPL v2 would remain.

I don't know what you mean.

Sorry, Pete; I appreciate your patience. I'm having trouble seeing your
interpretation of the exception.
What "last sentence" suggested "removing the entire highlighted section"?

<https://glassfish.dev.java.net/public/CDDL+GPL.html> at the bottom of
the page, in a section entitled, '"CLASSPATH" EXCEPTION TO THE GPL
VERSION 2.' The highlighted section _is_ the text of the exception that
has been added to the otherwise unmodified GPL version 2.

Similar exceptions for certain runtime libraries, Qt and GNAT Ada are
described here:

<http://www.gnu.org/licenses/gpl-faq.html>
<http://doc.trolltech.com/4.4/license-gpl-exceptions.html>
<http://en.wikipedia.org/wiki/GNAT_Modified_General_Public_License>

Question five of the GNU licensing quiz poses a question using a similar
exception in the manner I've outlined:

<http://www.gnu.org/cgi-bin/license-quiz.cgi>

The suggested answer to question five is selection three.

Here is an extensive discussion of a prominent vendor's decision to
withdraw an existing exception from a number of popular libraries:

<http://groups.google.com/group/comp.lang.ada/browse_frm/thread/d0f6c37e3
c1b712a/19c1a7e66b6f6b73#19c1a7e66b6f6b73>
The word "exception" has a very specific and clear meaning. Just because
someone has highlighted text beyond the actual exception granted doesn't
make that text part of the exception. An "exception" grants a person the
right to ignore some requirement; they are _excepted_ from the
requirement. Any language that isn't granting a person the right to
ignore some requirement is by definition not part of the exception, no
matter how it's formatted.

I understand that the highlighting is incidental; it's just a way to
identify the added section that contains the text of the exception. I'm
just not seeing the language that would support your interpretation. The
section's first paragraph specifies the covered source files. The second
paragraph is a clear restatement of the relevant terms of the unmodified
GPL. The third paragraph goes on to specify the terms of the exception.
Removing the entire section restores the license to its original state,
which forbids linking proprietary code.
Beyond that, the exception (the right to ignore the requirement to make
one's own code open) clearly applies only when the original code is itself
unmodified, used only by linking. In this particular case, the OP has
made clear that this is not applicable to his scenario, thus the exception
is itself inapplicable and thus has no effect on the OP's rights and
obligations regarding redistribution.

I agree. He proposed redistributing a modified version of code covered
under the license without including the modified source. Distributing
his own original code devised after studying the example would be a
different matter.
If you want to insist that the part of the highlighted text that grants
the right to extend the exception is in fact part of the exception, then
it _still_ does not apply, because the exception itself doesn't apply.
You can't have it both ways.

I think I follow: The GPL says you can't change the license itself, but
you can add your own exception or delete an existing one. If you delete
Sun's classpath exception, you can't then turn around and link
proprietary code as if it were still present.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,767
Messages
2,569,570
Members
45,045
Latest member
DRCM

Latest Threads

Top