Tayra, the GPL is about a lot more than merely providing modifiable sources.
GPL licenses specifically provide the freedom to modify and distribute GPL sources *without "further restrictions"* being placed on developers beyond the restrictions declared in the license itself. This is completely distinct from restrictions being placed on the *use of viewers* upon connection to a service, in which the GPL has no interest at all. Clause 6 of GPLv2 is particularly demanding: - *6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.* These are fundamental freedoms provided by the GPL, and they cannot be denied at the start nor taken away nor restricted. You cannot provide sources while imposing "*further restrictions"* on GPL developers and still release under GPL --- that would be non-compliant with the license. This is totally unrelated to LL placing restrictions on what viewers or users can do when they connect to SL. LL is entirely within its rights to do that. What they cannot do is to place restrictions directly on the developers modifying and distributing the code under GPL --- that's not GPL compliant. The reason for this is easy to understand --- it's about allowing the distribution chain to work freely. Let me give you an example to illustrate the point. 1. SL developer A takes LL sources, compiles them with extra optimization turned on, and publishes binaries and sources on her website in full compliance with GPLv2 and also in full compliance with LL's rules. 2. An SL user likes this release and wants it in his Linux distribution, so he sends it to his distro maintainers, B. They give it a quick once-over with a security tool, notice a typical buffer overflow bug, fix it, and add the package and sources to their distro in .rpm format. (They don't use SL.) 3. A gaming distro developer C sees this client appear, rebuilds it and adds it to the packages in his distro in .deb format. (He doesn't use SL.) 4. User D of the gaming distro thinks this is a great base for his warfare game, adds a pile of ways to attack people, and submits it back to the gaming distro as a GPL derivative for warfare fans. (He doesn't use SL.) 5. Opensim user E notices this new viewer, and thinks the new weaponry is a great way of fuzz testing his private sims to find security holes. He adds some more test-related menus to the code and sends the modified sources to a testers distro. (He doesn't use SL.) 6. Finally, SL developer F finds the viewer in the testers distro, notices that it still works with SL despite its odd path through the Linux world, recompiles it, and places binaries and sources on his website for users to try out. So what does the GPL have to say about all this? Easy: if the code is GPL-licensed, then all developers have the freedom to modify and distribute the software *without further restrictions other than stated in the GPL license*. All of the above is therefore perfectly fine. But what does LL have to say about all this? According to the TPV document, all of these developers have restrictions placed on them, because the TPV document is so badly written that it talks about developers, viewers, and users all mixed up together. Also, it doesn't have a clear clause narrowing the *scope* of all TPV terms to *usage* alone. As a result, when describing restrictions that apply to users and viewers in SL, these restriction end up applying to GPL developers too. That is simply not GPL compliant, because it is a "*further restriction*" on the developer's right to modify and distribute. It doesn't even make *practical* sense, since people B-E above don't even connect to SL. However, it must be noted that the freedoms provided by the GPL are not conditional on not using a particular service. GPL developers are granted those freedoms even if, as users, they later connect to SL themselves (and maybe get themselves banned for it, which is fine). Being a developer and being a user are separate things, even if you perform both roles. (The GPL is not concerned with restrictions placed on you as a user of course, those are not its business.) What's more, LL states that they may request that developers modify their software to suit the SL terms of service, with an implied threat of termination if they don't comply. This might seem reasonable to LL, but if it is a "*further restriction*" on the developer's freedom to modify and distribute GPL code then it might well not be GPL compliant at all. This is a fine point that might have to be tested in court, because it's not obvious if it's a restriction on the freedom to modify and distribute or a restriction on usage. Is the GPL developer being restricted in his modification or distribution of the GPL program? Well it seems like it, but the best way of avoiding legal finessing is to simply declare all the restrictions as applying at the time of connection to SL, and not at the time of modification or distribution. Being GPL-compliant is really a very simple matter of using the right language, and making it clear that the restrictions are *usage restrictions*, not development nor distribution restrictions. Joe Linden demonstrated how to phrase it perfectly last week. As I said back then, if he were to rewrite the TPV document, we could probably all go home early. ;-) Unfortunately, there is yet another problem with the TPV document --- an attempt to make developers liable for what happens when their viewers are used in SL by others. Apparently the two capitalized paragraphs of GPLv2 clauses 11-12 are not written in large enough letters: - *NO WARRANTY* - *11.* BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - *12.* IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. If the TPV document is claiming that GPL developers are responsible for something that the "*NO WARRANTY*" clause explicitly disclaims, then this would be yet another source of GPL non-compliance. Unfortunately what the TPV is claiming is quite unclear. So, no Tayra, GPL compliance is not guaranteed simply by chucking the source code at us. The GPL has some very strong additional requirements for compliance, and we're not in the clear yet. This is why LL is seeking specialist legal counsel that understands the GPL, we are told. The first draft seemed quite unaware of the GPL's requirements and guaranteed developer freedoms. Morgaine. ================================= On Tue, Mar 9, 2010 at 8:12 PM, Tayra Dagostino <tayra.dagost...@gmail.com>wrote: > On Tue, 9 Mar 2010 14:47:35 +0000 > Morgaine <morgaine.din...@googlemail.com> wrote: > > > I believe that they're seeking better-informed legal counsel on GPL > > compliance first, before redrafting the TPV. The first version > > conflated users, viewers and developers so terribly that GPLv2 clause > > 6 was left in tatters. Joe's phrasing is the only one that makes the > > necessary separation so far. I hope he has a hand in the redraft. :-) > > > I think yoiu've misreaded the TPV policy, no GPL violation, viewer > code is GPL, you can take a copy from svn, manipulate it, patch or > mood, rename it, all GPL let u do with it (and consequential charges > for a developer who work on a GPL code) > > TPV is like an addendum to TOS, if you want use Linden Lab grids you > should follow some rules... this is server side, no viewer code > involved... the Linden services aren't GPL... >
_______________________________________________ Policies and (un)subscribe information available here: http://wiki.secondlife.com/wiki/OpenSource-Dev Please read the policies before posting to keep unmoderated posting privileges