[opensource-dev] FAQ posted for Third Party Viewer Policy

Morgaine morgaine.dinova at googlemail.com
Sun Feb 28 07:55:43 PST 2010

On Sun, Feb 28, 2010 at 1:31 AM, Soft Linden <soft at lindenlab.com> wrote:

> It's important to understand that one can discontinue use of Second
> Life at any point. On doing so, there are no further obligations
> imposed by the TPV policy. The legal consults cleared this as a
> resolution to all free license issues.

It is not a resolution to all free license issues at all, not even close.
They're just not reading the words of the license.

GPLv2 clause 6 allows no "further restrictions" to be placed on the freedom
of developers to *"modify and distribute*" whatsoever, regardless of whether
the USAGE of that GPL software is constrained or not.  The GPL has no
interest is how software is used to connect to a service in the slightest.
You can constrain USAGE of code for service access as much as you like, you
can ban whomever or whatever you like, and it's completely immaterial to the
GPL.  The two things are entirely separate.  The GPL is not a usage license.

Such *usage* concerns are concerns for the *user* alone --- when a developer
connects to SL then she is no longer a developer at that point, but has the
role of a user.  If you place constraints, requirements or restrictions on
the DEVELOPER, such as a requirement for registration, self-identification
or code modification at your command, then you are adding "further
restrictions" to the developer's freedom to "modify and distribute" and
hence you are automatically GPL non-complaint.

This is unambiguous in the GPL.  Make them read it again.  Make them read
the GPLv2 FAQ too.

Restrictions on connection are perfectly acceptable!  But that's not what
you're doing, because your clauses directly target developers, not merely
permitted usage.  "A viewer may not do XYZ when it connects to the SL
service" is totally fine --- the GPL couldn't care less.  "A developer of
this GPL code must do ABC if it is distributed" is not fine --- it's in
direct conflict with the GPL's "modify and distribute" freedoms.

> This agreement makes no restrictions on what anyone can do with the
> source. The GPL makes no restrictions on connecting to Second Life.
> These are two separate agreements, and don't need to be reconciled in
> such a way that each permits everything allowed by the other.

That would be an excellent position to take, but you are not taking it.  You
persist in laying requirements on DEVELOPERS, in direct non-compliance with
GPLv2 clause 6.  And you keep mentioning "developers" when you mean "users",
in reference to connection to your service.  Your warning that developers
who distribute their modified viewers will have to register with you is an
utterly massive additional restriction on the freedom to modify and
distribute that is at the heart of the GPL (all versions), as are
requirements for self-identification and program modification at your
request.  The GPLv2 FAQ that I linked earlier gives an example of such an
"additional restriction" being non-compliant, despite being a tiny
restriction compared to any of yours.

I think your lawyers must have little experience with the GPL, so I'm glad
to hear that you're obtaining additional expert advice externally.  I hope
you're not going to Microsoft for that "expert advice on GPL". :P  I
recommend that you involve the FSF or the SFLC.

This is something that you have to resolve, and it can't be resolved if you
maintain your current position imposing restrictions on GPL developers.  All
that will happen is that your GPL non-compliance will escalate, until
eventually it hits the top and you are forced to either drop the GPL or
alter your restrictions to fall exclusively on users, not on GPL developers.

> That said, Linden Lab intends to keep the viewer platform under an
> open source license. If anyone ever received a request to alter the
> viewer in a way that would violate the GPL, point that out. Odds are
> the request isn't being communicated properly, or somebody didn't know
> of the implications. Again though - any request is just that. A change
> isn't required if the viewer author chooses to instead stop using it
> to connect to the service and withdraws it from the Viewer Directory.

You're still mixing up restrictions on usage with restrictions on
developers.  To not fall foul of this, you really need to separate the issue
into two categories:

   1. Restrictions on development and distribution:  none, as per the GPLv2.
   2. Restrictions on connection to SL and usage of SL:  anything you like.

You cannot impose any *further restrictions* on GPL developers *at all*.

More information about the opensource-dev mailing list