24 October 2010

Why open source?

A question I hear a lot is "why did LL open source the viewer?" This is usually followed by a comment along the lines of "it was a dumb decision, it didn't get the Lab anything, it lets people steal content, and it was just plain st00pid". I think this kind of thinking is insanely short-sighted and ignores a lot of history. Open source development can and often does compete well against closed source development on a level playing field.

I have to say here that I have a lot of experience with open source software, both as a user and as a project manager. For the last decade, I've managed an open-source project that's very well known in its field. I know what open source can do, and what it can't.

I don't know why LL chose to open source the software. I seem to recall hearing it was because they chose to include library code that itself was GPLd, forcing the viewer code to be GPLd...but that doesn't explain the new viewer that uses pretty much the same libraries being LGPLd. I do know that, having done so, they can't closed source it again, not just for political reasons, but because the license is irrevocable. They could, if they wanted, obsolete every open source TPV out there by making an incompatible change to the protocols and changing the license on their code (as they did in going from GPL to LGPL), at the cost of forcing everyone to change - and we all know how well Viewer 2 went over.

There are three things LL gets from open sourcing the viewer. The first is described by Raymond's Law: "With a sufficiently large number of eyes, all bugs are shallow". An open source project can harness the enthusiasm and talents of anyone interested and motivated enough to work on the project. A closed source project can only harness the resources of those working for the producer. All else being equal, this is a significant advantage for the open source project.

The second is that open source allows others to add features that the primary developer didn't think of or want to add. There are many features in the Phoenix viewer - nearly 300 of them - that LL didn't come up with. Some (like breast physics (and this still amuses me no end)) they may well add; some (like RLV) they almost certainly won't.

The third effect is often overlooked, but no less real. Programmers working on an open source project are aware that others will look at their code. This makes them more careful when coding, more likely to comment their code and do other things to make it understandable to others, and less likely to sweep bugs under the rug.

People like Prokofy Neva argue that third party viewers should be done away with because they're nothing but content theft tools. (Prokofy also thinks that there's no place for RLV, based on a fundamental refusal to understand that true BDSM is neither violent nor exploitative, but rather loving and consensual; she'd rather see me and my fellow practitioners get the hell off of SL.) The problem with this simplistic worldview is that closing down every TPV and changing the protocol would not stop copybotting. The first copybot came out before LL open sourced the viewer code. There's a content theft proxy out there that will work just fine with a box stock LL-supplied viewer. The history of MMORPGs is rife with examples of people cracking the communication link and doing all sorts of evil. LL wouldn't be able to buck that trend.

The users are voting with their feet. Well over half of them are using open source TPVs. Regardless of what those who don't understand open source have to say about it, it's here to stay on SL, and that's a good thing.


  1. Linux is what open source can achieve.

  2. Well, Kos, that may not be as powerful an example as you might like...because Linux also has usability issues for many folks. Open source TPVs don't have that class of problem. Others, sure, but not that one.

  3. I fully agree with you, Tonya. But I think you have not listed one important point: by making the code open source LL has de-facto created a standard for VWs. This may give LL opportunities to change into a service provider in the future.

  4. Also, let's not forget that Lindens historically have always been strong advocates of open source. I have heard them saying this a few times at OHs.

  5. I'm not talking bout usability. I'm talking about communities creating great things. Many eyes and minds working on a same project. In terms of open source, Linux is a giant.

    I would argue the usability of Linux these days actually, but that's not what this is about :o)