I touched on the libsecondlife project to a certain degree when I talked about CopyBot back in November, but a recent comment on that post reminds me that this subject is worth considering in more detail. (Oddly enough, when I tried to bring up that link to the project’s home page, it came back with an internal server error…and then with an infinite-redirection error from Firefox. Hmm. — UPDATE: And now it works. Go figure.)
Libsecondlife (so-named from the Unix convention for naming library files “libsomething.a” or “libsomething.so”) is, ostensibly, a project to reverse-engineer the protocol used by the Second Life client to communicate with the Grid and create a library, as open source code, allowing other programs, such as replacement clients, to be written. In this respect it’s a little like the various libraries allowing programs to communicate with proprietary instant-messaging networks, such as ICQ, AIM, or MSN. I did a little work with libicq back when I worked for Jabber, so I know something of the processes involved here. By capturing the network traffic flowing between the SL client and the Grid, they have worked out many of the details of the communications protocol and many of the functions which may be called upon in the server.
LL has stated, on at least one occasion, that the reverse-engineering work being done by the libsecondlife project is legit, and not a violation of the TOS. In fact, some Lindens are even involved with the project, and libsecondlife has been successfully used as a tool to expose bugs in the server-side implementation of SL. (The server code needs to handle anything the client can throw at it, even stuff which is obvious garbage, even if the real client would never even dream of sending such a thing. This is in keeping with the prime security rule for client-server software systems: You can never trust the client. libsecondlife allowed non-standard data to be thrown at the server, to see what happens.)
The creators of libsecondlife speak glowingly of possible applications of this technology, such as IM clients allowing people to send and receive real-time IMs in SL without using the complete client to do so. However, two of its best-known applications are, shall we say, somewhat more problematic. CopyBot was one of those, and, while the most dire predictions of various concerned individuals, including myself, did not come to pass, the aftereffects are still being felt by many. Another one appears to be the appearance of “CampBot” avatars, created and operated for, seemingly, no other purpose than to siphon money from camping chairs at casinos and other popular locations; indications are that these avatars are guided by “autopilots” created with libsecondlife. (While I’m not fond of camping as a general rule, I don’t think hordes of CampBots are fair to either the people deploying camping chairs or the newbies who seek them out to provide some manner of income, now that LL has completely shut off Basic stipends.) Still another involved the creation of “megaprims” larger than the 10-meter restriction for ordinary prims. (This illustrates the point I raised earlier: the megaprims could only be created because the server didn’t check the dimension values being fed to it by the client. LL has since fixed that hole, so no new megaprims can be created.) These megaprims are known to confuse the sim servers to a certain extent, yet people still use them, and, furthermore, sell them. There are some indications that LL may be cracking down on the megaprims, but they still exist. (A sky structure constructed using megaprims is visible from the Gin Rummy’s skybox office/conference room, for instance.)
There are allegations that many of libsecondlife’s project members are little better than griefers, or, worse, are griefers, or members of various griefing groups, and that they sit back in their private IRC channel and laugh while their tools are used to wreak havoc on the Grid. (Side note: “Griefer groups” are one thing we don’t need, no matter what tools they’re using. If I were in Philip’s shoes, I’d do everything I could to locate all identifiable members of these groups, then mass-ban and call in the FBI. These groups not only wreck the experience of SL for all the legitimate end users, some of whom are paying customers, they wreck it for all the companies coming in and setting up shop in SL, all of which are even higher-paying customers. This is one instance where “good business” and “the right thing to do” go hand-in-hand.) In my post on CopyBot, I argued that “the libsecondlife project needs to ‘clean house’ in a big way.” This does not appear to have happened, at least not to any great extent.
It’s a shame, really, because, from a purely technical standpoint, libsecondlife is working in an interesting and challenging environment, and I might have the ability to contribute something to their efforts. As long as the specter of griefers and griefing hangs over the group, though, I am leery of involving myself in any way with their project, even to the extent of downloading their code to try it out. And therein lies what should be a major cause for concern on the part of libsecondlife: if their reputation is such that potential contributors are scared away from their project, does this not run contrary to their stated goals? I quote from their own home page:
The libsecondlife project is an effort directed at understanding how Second Life works from a technical perspective, and extending and integrating the metaverse with the rest of the web. This includes understanding how the official Second Life client operates and how it communicates with the Second Life simulator servers, as well as development of independent third party clients and tools.
How does their association with griefers and griefing mesh with this mission statement? Is this not a concern which should be addressed, post haste?
I still think, as I originally stated, that the ultimate solution to restoring libsecondlife’s credibility is for LL to assume administrative control of the project, setting up a sponsored “foundation” to manage the source tree, hold the copyrights (with availability under the same licensing scheme that libsecondlife uses now), and serve as an umbrella for development work on the project. This is similar to the arrangement that Jabber Inc. has with the Jabber Project, and it has been largely successful for both. (In fact, largely due to the synergy between the company and the project, XMPP, the Jabber protocol, is now an Internet standard.) However, in order for this to work, the existing leaders of libsecondlife would have to cede some degree of control of their project…and that would appear to be unlikely.
Still, it would be worth it to see LL make the offer, just to see how the libsecondlife people respond to it. The logical choice, if they truly are interested in what their mission statement says they’re interested in, would be to accept. After all, they would surely benefit from increased resources, increased cooperation from LL, an “official” imprimatur given to the project, and perhaps even to LL hiring some of the libsecondlife developers. If, however, they turn it down…some may then draw unsavory conclusions about where their true motives lie.
What can those of us on the “outside” do about this right now? Very little. Mostly, we can just watch…and wait.
“The price of freedom is eternal vigilance.” – Thomas Jefferson
“CONSTANT VIGILANCE!” – Mad-Eye Moody, Harry Potter and the Goblet of Fire