You know, I’m not sure that you can. The more I dig into this, the less I think so. Or at least, not without a whole heck of a lot more work.

No citations. Do some reading. Formerly, Linden Lab licensed viewer source-code under the “GPLv2 with FLOSS exceptions.”

What the heck does that mean? It means that the basic source-code was licensed under the GPL (version 2) (and that anyone distributing it in whole or in part can only do so if they comply with those terms). The “FLOSS exceptions” part was a little add-on to let the code be linked to binary libraries (for sound, media decoding and so on) that would not ordinarily be permitted under the GPL alone.

That’s how it was.

Now what we have is the viewer source code bundled up as LGPLv2. Where’s the FLOSS exceptions? No longer there, because you can link LGPL code to proprietary binaries, and that’s okay.

But wait…

Let’s look at that briefly.

2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:

  • a) The modified work must itself be a software library.
  • b) You must… etc…

Yes, there’s the kicker. If you modify the source code prior to distribution, the result must be a library. The LGPL is (primarily) for libraries. While the license mentions that you can apply it to applications, well… you can. It’s just almost useless if you do.

So, there are two ways out of this trap.

One, you can convert the entire viewer tree into a library, compile it that way, and write a wrapper program (licensed however you like, but probably under the GPL to satisfy Linden Lab) to jump into it and pretend it’s a whole application and that you didn’t have to do all of that in the first place.

Second, you can take all the LGPL code and convert it to GPL code as a one-time, one-way conversion.

Then your source is back to where we started before the LGPL was used, right?

Wrong.

You don’t have any FLOSS exceptions anymore, so none of that naughty linking to anything that isn’t also GPL compatible. Period.

Quicktime? Can’t have it. In fact, there’s a whole bunch of media decoders you can’t have, because GPL versions simply do not exist.

Voice? No.

And probably a dozen other things.

Okay, so someone tell me I’m wrong here, because the new system looks like a legal nonsensicality that makes it almost impossible to build third-party viewers without breaking the license terms… and that’s before we look at anything to do with the third-party viewer policies.

submit to reddit

Possibly related posts

Linden Lab alerts third-party viewer developers to active security exploit, Second Life viewer development build with “Basic” and “Advanced” modes, Third-party Second Life viewer developers call bullshit on Linden Lab GPL-violation claim, Experimental Imprudence build, Second Life third-party viewer directory myths

8 Responses to “Can you even build a third-party viewer without violating the new licensing?”


  1. Marx Dudek says:

    I almost wonder if this has been written in as a hammer to be used in the event that a viewer proves itself to be malicious – because the rule won’t enforce itself, only LL will. I think the intention is to have a trapdoor to quickly dispatch a malicious viewer. I mean, by the TOS, Phox, Fractured, et. al., could have all been kicked out as soon as the DDOS incident came to light – but LL showed considerable restraint in their actions. Perhaps they did so as a chess maneuver, taking the “keep your friends close and your enemies closer” approach – knowing it’s easier to track a name you know than it is an alt that you don’t know. But we shall see. I don’t know much about the Snowstorm project, but perhaps this might be an attempt to nudge TPV developers into that stable rather than having them work, benevolently or malevolently, as rogue coders.

  2. To be clear, the FLOSS exception only allowed linking to software licensed under a specific list of approved free/libre/open-source software (aka FLOSS) licenses. There was no exception that allowed linking to proprietary libraries (such as Quicktime or Fmod).

    Voice is not an issue, at least how it’s currently implemented. The voice components are not linked or even loaded by the viewer, bur rather are in a separate executable that the viewer communicates with via IPC (inter-process communication). That’s valid under both the GPL and LGPL.

    Media support is also not really a problem, because of the new SLMedia plugin architecture. The plugins are run as separate processes that communicate with the viewer via IPC and shared memory. So, it’s possible to use GPL-incompatible (or even completely proprietary) media plugins, for the same reason it’s possible to use a proprietary voice program.

    The real problem with the lack of FLOSS exception is that there are certain GPL-incompatible libraries that are vital to the viewer architecture. In particular, APR is tied up with many, many parts of the viewer, such that even if a suitable replacement library could be found, it would be a monumental task merely to modify all the source files where APR is used, let alone test that everything still works right.

    What’s more, I’m not sure the LGPL would allow linking to incompatible lirbaries, either. I’m not a lawyer, and apparently there are several interpretaitons of this, but my interpretation of the LGPL is that there is a big difference between a non-(L)GPL application using an LGPL library, and a LGPL application using a non-(L)GPL library. In other words, it doesn’t go in both directions, and an LGPL viewer is on the wrong side.

    There’s also the fact that none of the many, many GPL-licensed viewer patches can be applied to the LGPL source. So, even if you can use the LGPL source to make a viewer, you’d need to re-invent over 3 years worth of open source innovations. Meanwhile, you’d also have to revamp the UI to make it palatable to users who dislike the Viewer 2 UI.

    So, to answer the question posed by the title: Yes, you could, in theory, build a third-party viewer with the new LGPL’d source. But it would be a hell of a pain in the ass.

  3. Nitpick alert! :D

    Jacek said: “There’s also the fact that none of the many, many GPL-licensed viewer patches can be applied to the LGPL source. So, even if you can use the LGPL source to make a viewer, you’d need to re-invent over 3 years worth of open source innovations.”

    True, unless you created those same patches, or maybe know who did. In the first case, you own the copyright, and can use it under any style license you wish. If someone else write it, you may be able to get permission from them to use it under another license. A pain in the butt, but perhaps not a massive one in all cases. Just get the creator of jiggly boobies on board, and you’ll make many users happy. ;)

    As a matter of fact, LL wouldn’t have been able to change the viewer to LGPL at all without the contribution agreements that they had all external coders sign. Without those agreements, any code contributed to LL would have had to remain GPL. So, at least, any third party patches that made into the LL viewer are safe for inclusion in an LGPLed viewer.

    I’m actually a little puzzled as to the reason for the license change. The only real benefit I can see to a switch to LGPL is in an effort to be less frightening to the lawyers of any corporation that might want to get involved in viewer development. BSD or MIT are usually the best choices for this, but LGPL doesn’t have nearly the stigma GPL has in that case, and provides a way to keep proprietary secret-sauces secret. Maybe Oz has given a clearer “whyfor”, but if he has I’ve forgotten it.

  4. Gareth Nelson says:

    Marcus (you’re not the same marcus from my local LUG are you? weird timing):
    If someone else wrote the patches and then had LL accept them the contribution agreement lets LL relicense it.

    Personally I think LGPL is one of those licenses that really confuses things massively, I’d never bother using it myself. GPL if you want copyleft, BSD/MIT if you don’t, WTFPL if you don’t care, or my own favourite, the IRC paste license:
    “I’ve probably not tested this code and it won’t even work, do whatever the hell you want with it just don’t try to make me liable and don’t claim you wrote it”

    Does anyone know if the viewer includes the “or any later version” clause? Or if there’s something in the LGPL which allows for “upgrading” to full GPL? It’s not like the FSF to make a license purposely incompatible and I admit i’ve not studied the LGPL all that much – i’m very much a plain GPLv2 guy who doesn’t like LGPL or Affero GPL.

  5. TigroSpottystripes Katsu says:

    Why didn’t LL learn from their past mistakes?

  6. Boroondas says:

    Oz just posted this:
    http://blogs.secondlife.com/community/technology/snowstorm/blog/2010/09/07/what-does-the-lgpl-mean-for-second-life-viewers

    When asked on IRC about the concerns, that while it’s allowed to link LGPL code into arbitrary licenced code, the other way around —linking arbitrary licensed code into LGPL code— might not be a allowed, he answered:
    “linking is linking – there is no ‘into’”

  7. Ronin Squall says:

    Personally my favorite license is the Beerware license

    /*
    * —————————————————————————-
    * “THE BEER-WARE LICENSE” (Revision 42):
    * [Name of author] wrote this file. As long as you retain this notice you
    * can do whatever you want with this stuff. If we meet some day, and you think
    * this stuff is worth it, you can buy me a beer in return
    * —————————————————————————-
    */



Leave a Reply

Commenters are to be civil, courteous and respectful to others, insofar as it is possible to do so. Beyond that, you're not required to agree with the opinions expressed by me or by others. Think for yourselves!
First time commenters will wind-up in the moderation queue and your comment won't appear right away. Ditto for anything that gets flagged by the anti-spam rules.
Got a news tip or a press-release? Send it to news@taterunino.net.
  • Support us

    Writing is my day job. Site advertising pays for the hosting, but nothing else. Help keep us in coffee and keyboards

    ... or donate in Second Life at this location.

  • ...or use Flattr

  • prednisone no prescription where to purchase generic prednisone online without a rx buy no perscription prednisone buy 10mg prednisone otc buy cheap fedex prednisone watson prednisone cod overnigh prednisone fedex COD prednisone overnight saturday no prescription prednisone on line buy prednisone next day delivery ordering prednisone over the counter prednisone shipped cash on maxalt no prior script order Paxil overnight delivery Paxil free consultation fedex overnight delivery how to get a Paxil rx order Paxil overnight delivery order Paxil without a rx overnight shipping Paxil non prescription for next day delivery buy Paxil without rx no rx cod Paxil Paxil purchased online without prescription purchase Paxil paypal without prescription how to buy Paxil online without rx buy Paxil without prescription order prescription free Paxil how to purchase Paxil online without a prescription order Paxil without a rx overnight shipping buy Paxil paypal without rx buy prednisone without prescription buy pharmacy Strattera waterview buy generic accutane over night Lasix to buy pegasus software discount astro cheap rosetta stone software download hp scanner software discount software for teachers price comparison of records management software cheap inexpensive chiropractic software buy real tick three software sony ericsson software downloads cheap computer domain software where to buy link manager ii software manga studio mac discount software software for student discounts cheap pc software were to buy manga software download audio recording software downloadable softwares discount antispam software review oe download hack software program like cyberlink powercinema 6 without bundled tuner best buy Valtrex Us prednisone fedex baixar youcam 3.0 Cytotec wholesale 4videosoft studio buy line Lasix generic xenical tablets xenical without a perscription cheap fedex Zithromax overnight without a prescription order generic Maxalt online uk Maxalt generic buy cheap Zithromax online free consult where to purchase Valtrex no prescription no fees order valtrex overnight cheap c-pill cheap valtrex valtrex buy online in stock (no prescriptions needed for Buspar|buy Buspar with no prescription|online pharmacies Buspar|Buspar cheap|buy Buspar without rx|purchase rx Buspar without|Buspar purchase online|purchase Buspar online without rx|purchase Buspar free consultation|buy Buspar Online|buy Buspar american express|buy Buspar Online|buy cheap Buspar with dr. prescription|Buspar side effects|fedex Buspar without priscription|overnight Buspar without a rx|order cheap overnight Buspar|Buspar toronto|uk order Buspar|Buspar no doctors prescription|Buspar mexico|Buspar order|no prescription Buspar with fedex|order generic Buspar|buy Buspar without rx from us pharmacy|prezzo Buspar|Buspar 10mg|Buspar from canada|purchasing Buspar without a script|buy Buspar australia|purchase Buspar visa without prescription|online purchase Buspar|buy Buspar no perscription cod|buy Buspar drugs|buy Buspar with visa|buy Buspar without rx needed|buy Buspar without prescription|buy Buspar no prescription low cost|purchase order generic Buspar online buy Nolvadex from a usa pharmacy without a prescription buy Nolvadex wihout any doctors info echo online software buy Lasix amex online without prescription buy accutane gel cod shipping on Nolvadex buy synthroid new zealand online where to buy cheap synthroid online in uk tamoxifeno distrito buy Accutane cheap without prescription Lasix online overnight delivery cod buy 40 mg zithromax fast delivery purchase online prescription zithromax without buy Nolvadex with paypal order rx free Nolvadex buy discount Nolvadex online safety order Nolvadex Nolvadex 20 mg Nolvadex fedex no prescription no prescriptions needed for zithromax online pharmacy cod zithromax zithromax cod online orders overnight zithromax without a rx how to buy zithromax online without rx zithromax online overnight delivery cod how to purchase zithromax online without a prescription buy cheap Orlistat without prescription free fedex delivery Orlistat Orlistat without rx medications purchase cheap prescription Valtrex buy cheap Finpecia free fedex buy finpecia in england purchase finpecia without a prescription overnight shipping want to buy finpecia in usa prednisone no script required express delivery Cheapest Valtrex online Crestor overnight cod buy Buspar online us pharmacy buy cod Buspar Buy prednisone no r x cheap order cheap overnight prednisone buy cheap valtrex without prescription order Crestor online with overnight delivery Zithromax online no rx overnight order Zithromax without prescription to ship overnight free fedex delivery Buspar buy Arimidex with a visa where can i buy Flomax where can i buy Flomax online buy 200 mcg Cytotec online Cytotec buy now pay later buy generic Lasix pills office 2003 primary interop assemblies adobe flash software buy Buspar online no prescription how to buy Valtrex without a prescription buy 10 mg Crestor adobe lightroom trial download Buy Creative Suite 2 order Crestor usa cod purchase Valtrex without a prescription online how to buy valtrex without a prescription purchase Proscar online without script adobe flash amd64 adobe creative suite 4 classes purchase accutane 40 mg visa Crestor buy on line adobe inn yachats oregon download windows millennium edition where to buy Tamsulosin by cod Pdf 9.0 buy Cytotec online illegal Creative Suite 5 Release how to purchase Buspar online without rxcheap Buspar no rx price for microsoft office professional 2007 office 2007 vl key pinnacle tv center for windows 7 purchase Crestor online no membership buy Crestor with amex adobe sucks Crestor mexico Orlistat from india buy Flomax online from canada adobe print shop adobe after effects cs3 How To Learn Word oem software lightroom 3.4 windows ms office 3 user Acrobat Professional 8.0 buy Flomax online us pharmacy buy cheap generic Zithromax online generic valtrex uk Prednisone no prior script where can i find autodesk maya cheap boilsoft viseo where to buy generic Buspar online without a rx order buy Flomax online purchase Buspar no prescription cheap affter effects best price hd tune 3.50 central europe map internet download manger mobile buy pharmacy Crestor waterview prezzo Flomax parallels code Buy Fincar 5mg where is the cheapest place to buy adobe illustrator buy generic Valtrex pills po system software video studio x2 pro downlond xp sp3 64 Valtrex without rx overnight shipping cheap Flomax usa buy Flomax line inexpensive corel x4 or x5 download pagemaker 7 full lizenzschlssel mediavatar next day delivery on Cytotec saturday download dvdit Tamsulosin buy templates sony vegas 9 chomikuj Buspar buy online purchase Crestor no scams Valtrex overnight cod order rx free Valacyclovir order Strattera online with overnight delivery buy Maxalt australia buy Valtrex no prescription low cost what is Bupropion buy Amitriptyline no prescription low cost Zithromax buy Buspar 10 mg prednisone online cash on delivery buy prednisone without rx buy Arimidex Online article on downloading software Microsoft Photo Editor Download Spanish Word For Now purchase Orlistat visa without prescription Windows 2000 Programs Home Computers cheap proffes Orlistat apotheke buy Valtrex with mastercard Autocad On Line Proscar tablets buy valtrex pay cod Buy Finpecia 1mg with mastercard Windows 98 buy Buspar diet pill buy Prednisone online now finpecia buy cheap accutane 40 mg what is valtrex used for inventor professional price Discount Microsoft WindowsLightroom 2 Windows 7Ms Office StandardPhotoshop Cs5 UpgradeComputer Monitors For SaleWindows Xp InstallSuite Microsoft OfficeAutocad Version 2007Adobe Acrobat 9.0 Standard DownloadIe8 Download For Windows 7Adobe Paint ShopMicrosoft Service Pack 2Free Download Adobe AcrobatStudent And Teacher EditionManage ImageAdobe Acrobat 7 Pro DownloadVista Home Premium To Windows 7 UltimateWindows 7 Home Premium Upgrade OemAdobe Creative Suite 5 Master Collection Student And Teacher EditionBuy Adobe Photoshop Lightroom 3Ms Office 2010 Home And StudentCompare Photo SoftwareMicrosoft Office Word Viewer 2010Windows 7 Upgrade Student Discount ProfessionalWindows 7 Updates DownloadCreative Suite WebAdobe Reader VistaMicrosoft Windows 7 Home Premium Upgrade 64 BitPhotoshop 2Ie8 Download For Windows 7Photoshop 2009Suite Microsoft OfficeMicrosoft Office 2007 VersionUpgrade Windows Vista To 7Autocad Lt 2010Autocad 2010 Best PriceDownload Acrobat Reader 8 microsoft office 2003 product key Update Your Drivers order cheap Orlistat online cheap wordperfect software buy low cost Valtrex Rizatriptan Maxalt ns virtual dj 6.0 buy Valtrex cod next day delivery prednisone with no perscription overnight shipping buying Crestor online without rx buy online Buspar without rx purchase Proscar without a rx online buy Valtrex pills in toronto buy Valtrex diet pills where buy Valtrex how to order Proscar online without a prescription Proscar online purchase purchase Cytotec overnight buy Cytotec money buy 40 mg Prednisone Prednisone without prescription Proscar purchase Valtrex uk valtrex prices purchase Valtrex without rx needed Cheap prednisone no perscription Prednisone sale purchase no online prescription Cytotec buy line Cytotec Zithromax no prescription buy rx Maxalt without where can i buy Prednisone without prescription briefcase windows cheap microsoft zunes buy microsoft natural keyboard 4000 windows live for windows mobile cheap voice recognition winxp software knowledge software software newsletter t mobile software purchase finpecia paypal without prescription buy next day Cytotec computer business software buy microsoft office louisville windows blind buy microsoft project cheap purchase Orlistat on line no rx pharmacy Rosuvastatin order buspar free next day airbuspar on line japanese foreign language study software discounted box sash windows buy Zithromax american express windows xp pro discount software nokia application software

    Page optimized by WP Minify WordPress Plugin