Ok, this is a bit silly, but you never know.
But what if main.8 was compiled with older/newer version of the
compiler (or a different compiler)? Are there any other problems with
this scheme?
The text of the LGPLv3 is very clear in that regard: only shared
linkage is accepted if you intend to use a different license in the
rest of the code, which excludes the way Go links them.
At Canonical we're talking to our lawyers right now and are writing
down a specific exception for all of the Go-related libraries exactly
because of that (there's no intention to force linked packages to buy
into the same license).
--
Gustavo Niemeyer
http://niemeyer.net
http://niemeyer.net/plus
http://niemeyer.net/twitter
http://niemeyer.net/blog
-- I never filed a patent.
Russ
I know.. all my personal libraries are licensed under Simplified BSD
(e.g. mgo, etc).
The detail is that LGPL is the standard open source license at
Canonical for libraries.. we're having some success introducing a new
language in the company.. and managed to get a +1 on introducing a
static-linkage exception too now. I'll try to pick one battle at a
time, and the most valuable ones first.
> LGPL (at least LGPLv3) is mostly used for shared libraries, but you
> can do static linking as well, you just need to provide object files
> (not source files) for the whole program, so that end user can re-link
> it with a different version of the library. I've asked FSF to clarify
> that, should hear back from them in a couple of months.
The text of the LGPLv3 is very clear in that regard: only shared
linkage is accepted if you intend to use a different license in the
rest of the code, which excludes the way Go links them.
d) Do one of the following:IANAL, but (0) appears to be saying that you need to provide the source code (MSC explicitly means the source code, not just any form of code) for the library, and the CAC (which could be source OR binary code, as long as it is sufficient for re-linking or re-combining, and as long as it is provided under a license that permits re-linking/re-combining) of the program, so that users can combine a different version of the library with the program.Which is ...? Because i can't think of anything other than implementing dynamic linking for Go. Which doesn't seem to be happening.
- 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.
- 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version.
Applying to this specific case: As long as the developer of the application,
provide the main.8, main.6, main.5 for one release of the gc compiler, he
will be compliant with the LGPL clause?
--
André Moraes
http://andredevchannel.blogspot.com/
FWIW, (0) says:
"(...) the user to recombine or relink the Application with a modified
version of the
Linked Version to produce a modified Combined Work, in the manner specified
by section 6 of the GNU GPL for conveying Corresponding Source."
Section 6 of the GNU GPL starts with:
"You may convey a covered work in object code form under the terms of sections
4 and 5, provided that you also convey the machine-readable Corresponding
Source under the terms of this License, in one of these ways: (...)"
I'm not and have zero intention of being a lawyer, though, and will
let you dig into it.
Yes. It is limiting because the end user will only be able to use the
exact version of the gc compiler which was used to compile main.6. But
it would suffice to meet the requirements of the LGPL.
Ian
>> IANAL, but (0) appears to be saying that you need to provide the source code
>> (MSC explicitly means the source code, not just any form of code) for the
>
> FWIW, (0) says:
>
> "(...) the user to recombine or relink the Application with a modified
> version of the
> Linked Version to produce a modified Combined Work, in the manner specified
> by section 6 of the GNU GPL for conveying Corresponding Source."
>
> Section 6 of the GNU GPL starts with:
>
> "You may convey a covered work in object code form under the terms of sections
> 4 and 5, provided that you also convey the machine-readable Corresponding
> Source under the terms of this License, in one of these ways: (...)"
>
> I'm not and have zero intention of being a lawyer, though, and will
> let you dig into it.
The LGPL is not referring to the start of section 6, but rather to the
list of ways permitted to convey code which are enumerated in section 6.
Ian
I thought that was clear from my message. I do not intend to copy the
whole LGPL here, or to explain its meaning really.
>>> I'm not and have zero intention of being a lawyer, though, and will
>>> let you dig into it.
>>
>> The LGPL is not referring to the start of section 6, but rather to the
>> list of ways permitted to convey code which are enumerated in section 6.
>
> I thought that was clear from my message. I do not intend to copy the
> whole LGPL here, or to explain its meaning really.
Sorry about that, I misunderstood what you were saying.
Ian
Which is ...? Because i can't think of anything other than implementing dynamic linking for Go. Which doesn't seem to be happening.