As lots of you have no doubt noticed by now (you heard it here last), and Linden’s PR folks were kind enough to let me know via a morning email, the Second Life client is now open source (GPLv2 license, for those that are curious ). This was, according to Linden, an inevitable decision:
In an act of either acceptance of the inevitable or simple desperation, Netscape Communications released the bulk of the Netscape Communicator code base to form the foundation of projects as Mozilla, Firefox, and Thunderbird.
We are not desperate, and we welcome the inevitable with open arms.
Unsurprisingly, I think it’s a good decision on their part. As do Bob and Matt, among others. Linden is to be commended for this decision, IMO, and I’m hopeful that it will accelerate development of the Linux alpha which, the last I tried, was still taking my desktop with it when it crashed (the only application that can consistently do so).
While the Linden folks should be commended, however, I’m less certain than others appear to be that this will have a material impact on either the client or the concerns that many have with Second Life.
I’ll see if I can’t make some time for Linden this week to get some answers, but I’m curious as to how accessible the code will be for non-Linden developers. It’s a sizable product; 30 MB’s as of 188.8.131.52, or roughly a third of the size of the OO.o codebase. While size is a rough metric at best for complexity, I think I’m safe in assuming that the client is non-trivial in its construction. That is a barrier to entry for would be open source developers, and it will be interesting to see how Linden tackles that. Is the code well documented? Did they take a page from Sun’s experience with OpenSolaris and flag relatively good entrypoints for folks new to the codebase? How modular is the client itself?
Over the longer term, I’m sure there will be interest in the project and at least some external contributions . But in the short to medium term I’d expect the tangible impact to be more of the security patch type of contributions than potentially evolutionary or revolutionary new features, not least because while the client is open source the server is still not.
Apart from a debate on the metrics of Second Life (criticism here, defense here), the principal concern that many have with Second Life – myself included – is the question of investing in a world owned, collectively, by a single commercial entity.
Second Life, after all, is differentiated, at least to me, by its intended longevity. I’ve played a fair amount of online games in the past – mostly of the first person shooter variety (I had a serious addiction to Team Fortress at one point that necessitated the uninstallation of Half Life, upon which TF was based) – but never doubted that eventually I’d outgrow the games. And I did. Investments made in those worlds, then, would be viewed as more or less frivolous – temporary outlays for short term gratification. The gaming equivalent of the stuff in the supermarket checkout aisle, in other words.
Linden Labs’ creation, on the other hand, is a different animal altogether. People heavily invest both financially and – more critically – in time, towards less ephemeral, more permanent goals. They build houses, they create furniture, they design clothes – there’s even a real estate market. The experience then, I would argue, is materially different from just about any other game out there (with the possible exception of World of Warcraft, which I haven’t played). It’s more demanding of one’s resources. And that would seem to be fine, as the reward is an immersive, long running experience.
The difficulty, however, is that all of your investments are ultimately dependent on a single entity, and more problematic, a single commercial entity, with all the responsibilities that that entails. Now I’ve heard almost nothing but positive commentary about Linden Labs and the way they conduct themselves, and the decision to open source their client is indicative of a vendor that understands and appreciates the nature of community.
But all that said, I’m instinctively mistrustful of closed environments; they’ve been tried before on the web, and most if not all have failed when faced with open competition. That does not appear to exist at the present time, so Second Life has yet to face a real threat of this nature, but projects can evolve. Like David,  I’m quite reluctant to invest significant time, money or both on either a personal or commercial level in a world that is inherently closed in nature – and could become more so depending on the financial fortunes of the organization backing it. I can’t forgo it entirely, because several of our customers are beginning to conduct briefings in the virtual world, but I’m definitely a skeptic (and can’t see myself spending money on SL clothes when I won’t do so in the real world ;).
Independent of those concerns, however, Linden deserves credit for this decision and their relatively capable handling of the news (there are some things missing from the FAQ, like contributor policies and such, but it’s not bad – call us if you need help there, Linden). I’d be far more excited were the announcement to cover the back end as well as the client, but I understand and appreciate the business models involved. While I think Linden’s probably only a few years away from an Innovator’s Dilemma in terms of combatting open alternatives, it’s certainly possible that the open sourcing of the client could win them converts in the interim – and the user experience should improve in either case.
Disclaimer/Credit: Sun, briefly mentioned, is a RedMonk client, and credit for several of the links belongs to Andy who sent them along today.
 Mildly interesting on the heels of MySQL’s recent decision
 Speaking of which, how are those to be handled, I wonder? All I found on the FAQ was this:
Anyone will be able to submit code to Linden Lab, which we will consider including in the Second Life viewer that most people download from secondlife.com. However, we will carefully review any submission, and ensure that it is safe and stable code that will be of broad benefit to all before we accept it into the mainstream version of the Second Life viewer.
I’m assuming the Linden folks will require either a JCA or outright assignment, no?