1) Just use values like "twitter" or "github" on the top level. This seems simplest and is, AFAIK, what OneName does.
2) Since these are not "generic terms" but instead names of particular companies, another idea is to introduce a new "social" value which holds an object with unspecified keys that can link to arbitrary social network handles. Like this:
Code: Select all
{
"social":
{
"twitter": "my-name",
"github": "domob1812",
"sourceforge": "domob"
}
}
What do you think? My opinion is that 2) is a "nice" solution, although it may be overspecifying things. Also, one could argue that fields like "bitcoin"/"namecoin", "otr"/"gpg" or "xmpp"/"email" would have to be put under similar schemes for crypto-addresses, cryptographic key fingerprints and communication protocols, respectively. However, I believe it is justified to draw a distinction here between (semi-)official standards/protocols and company names.