Display Names: the case for them

This post is about the peculiar policy of the OpenSim devs to refuse Display Names as a feature in the face of very widespread and long-standing demands for them. They do not want to write the code, fair enough – but they don’t have to. It already exists and, despite previous assertions that they would accept patches implementing the feature, they have not and will not. This undermines basic trust among the community in one of the main killer features for many people.

I have never myself used Display Names in Second Life and have only a marginal interest in them in OpenSim. However, while I am not interested enough in Second Life (and very rarely go there) to be bothered, it does make rather more sense in the more informal situation of being at home in my own grid or in the more liberal environment of the open metaverse via Hypergrid. Imagine my name is really Starflower Bracken offline – it isn’t, despite me having used this identity exclusively as my primary identity for 14 years at the time of writing. My neighbour probably calls me Starflower or, if she knows me rather better, Star. I may perhaps have a title like Reverend, Doctor or so on that I use in certain contexts. At a conference or event, I may wish to be Dr, Prof or Reverend Starflower Bracken, Her Sublime Highness S. Bracken, Starflower I of Wales and so on. I don’t do roleplay but I might temporarily need another name for some such reason, if I later became so inclined and developed that as a hobby. Who knows? One friend who speaks Welsh calls me Seren (a Welsh name meaning Star) and I’d rather like to use that in her company. I can’t because of their decision. But otherwise Starflower Bracken has been my name for a long while. It might make sense to be Starflower (Display Name) and Starflower Bracken (full, official or formal name rather than the peculiar SL term “legacy name” that only makes sense in their business context). I’ve got used to “Starflower Bracken” hovering over my head but even I have some use cases for temporary tweaks in specific, quite useful situations.

Recently I had to make some alts in OpenSim. This should not have been necessary. It’s highly inconvenient and wasteful of database resources to copy inventory all over the place but for the basics like clothing, skins, hair and shapes I am obliged to do so. Yes, I use scripted NPCs that look like me for some purposes, but they don’t answer most of the use cases above where I need to be personally in-world with a viewer.

The only arguments against them that I have heard are weak:

(1) Abuse cases can’t be pursued. Oh yes they can! The “legacy” i.e. account name or full name is there for all to see in the logs and can be retrieved in a fraction of a second. In 14 years I’ve never had an abuse report situation. How many has OSGrid even had?! I bet very few and nothing would prevent them being investigated properly. I have a policy in place for my grid. I can see no problem whatsoever with enforcement, should it ever be required.

(2) Names in strange characters provide a problem for others speaking to them. This is bordering on racist in certain situations, although not so meant intentionally. What about people needing Chinese or other names in different scripts or characters? The defence was that people might write their names upside down and it’s awkward for others to type. So don’t type them! You are not even obliged to talk to that person. It’s a social matter between them how they address each other and, as such, is seriously none of your business. It’s a non-argument.

Further, what about people’s personal lives? – and I don’t just mean BDSM or other sexual situations. Maybe a wife has a nickname for her wife that the other partner likes to show as part of their personal affection for each other in one context but then goes back to her normal name elsewhere, either no Display Name or simply her first name, or a short or nickname that her friends use away from home, or whatever. Maybe she has a football name or whatever. Maybe Liz at work is Lizzie to her sister and Eliza to her grandmother. I’m pretty confident Esyllt might adopt a name people can pronounce when in exclusively English-language environments outside Wales! Maybe she’s just Es or whatever.

One can opt out. Anybody not liking Display Names can disable them in the viewer. This has always been the case in SL or anywhere that has them in their fork of the codebase. Any grid operator may simply not enable the option. The OpenSim devs are free to have it disabled by default if they like in the standard OpenSim.ini.example. They can add text recommending against its use or even that they think it’s crap but users can enable it if they really must. Sorry, perhaps that is perhaps not really necessary – but you take my point. More practically, they could hide it away in OpenSimDefaults.ini for us only to dig out if we want it, if they’d like to really discourage it. There are other unusual settings hidden away there too.

The names binding code is reasonably simple, according to the documentation. The code is written. This is one of the factors that has led to forks and splits in the developer community already, which weakens the joint effort. Personally I am a liberal-minded person who likes to enable other people’s preferences where those don’t actively hurt me or anybody else. It seems authoritarian to say that because we don’t like it, neither may anybody else have it. It’s such an obvious time-saving and resource-saving thing. People DO have multiple names and identities. Reverend Daniel Peters may be Rev D. Peters, The Reverend, Dan, Peters (in sport, say), Fuzzy Bug, Daddy etc. Why not let him do his thing? you really don’t have to if you aren’t so minded. Google and Facebook tried to police people’s identities and it created a storm. Don’t repeat their mistake.

It’s a bit late in the day for this but could still be easily resolved. It would heal a rift in the community. Please consider it. Personally I’ve reached the point where it makes sense even for me. Others have been asking for *ages* and have even written the code for you. One or two of them are developers who contribute to the OpenSim codebase or forks of it, and whose patches are already parts of OpenSim. You won’t even notice when it’s in the code, since it may well not be operating in your regions or in your viewer.

Thank you for all that you do, by the way ❤

Getting 2DO.pm events into the browser

For this I used OpensimEvents, to which I have contributed a few temporary bug fixes where special characters were stopping the script from working – this isn’t perfect because a few accented characters don’t show properly but at least the script isn’t breaking. So keep an eye and this may be sorted out properly shortly.

I downloaded the archive and unzipped it or git cloned it – I can’t remember which – to a folder called /opt/OpenSimEvents (sorry, I am a stickler for correct capitalization). There were a few things to sort out before it would work:

The most important was to get the database details right in lib/MySQL.txt so that it will connect to your OpenSim installation database. This is self-explanatory.

Then you need to set the right path for your installation. I originally used a relative path lib/MySQL.txt but recently that broke for me and it required a full path:

cd /opt/OpenSimEvents

sudo nano lib/setupMYSQL.plx

– if ( open(FILE,”/InetpubMySQL.txt”))
+ if ( open(FILE,”/opt/OpenSimEvents/lib/MySQL.txt”))

When the relative paths broke recently, I also had to change this as follows:

sudo nano SearchEvents.pl

– use lib ‘lib’;
+ use lib ‘/opt/OpenSimEvents/lib’;

Finally there is the matter of making the script run regularly with crontab:

sudo crontab -e

* 0 * * * /usr/bin/perl /opt/OpenSimEvents/SearchEvents.pl

Obviously you can also run this script manually when you like. The last thing to say, by way of giving credit where due, is that the wonderful 2DO.pm is a fork and replacement service based on the original, now archived HYPEvents. Thanks also to Outworldz for their script that I have used here and for their helpful collaboration on fixing the bugs 🙂

Oh – that’s not the last thing to say. The absolutely last thing to say is that this only does events. These are the usual tabs in the viewer search, with notes:

Web Search – whatever web page you have set in your grid
People – local people in your grid
Groups – local groups in your grid
Places – doesn’t currently work so needs a script – could look at the old Metaverse Ink service? Or make something for the local grid?
Events – covered by this tutorial
Land Sales, Classifieds – doesn’t currently work so needs a script – could be repurposed from the old opensimwiredux?