Open SN Specification Document 0.02.2 (c) copyright 2006-2007 Jonathan Vanasco jvanasco@FindMeOn.com -------- Intro Open SN ( Open Social Network ) is a machine readable data specification for standardizing social network profiles for import / export across sites Open SN is different than the FOAF and hCard specifications, in that Open SN is geared to map the common fields on social network , forum, and online dating sites -- not adhere to existing standards. Open SN does not take into account 'privileged' information -- like email address, postal address, telephone , etc -- nor is it meant to. Open SN is not meant as a replacement for FOAF or hCard, nor should it be mistaken for one. Open SN is an interchange format that doubles as a standalone format. Instead of trying to extend existing formats or coerce common profile data into them, OpenSN fields wrap the common elements into a semantically organized namespace. Virtually any profile format can be translated into OpenSN , and vice versa. Instead of writing multiple translators, data sets can just be read into or read from OpenSN documents. Open SN is mostly an intermediary format, but can essentially be used for semantic markup of profile elements, emulating a microformat Open SN takes into account awkward fields and design implementations: ie: Most online profiles feature a different subset of birth month, birth date, birth year or age -- OpenSN treats each field independantly. As such, each field can not be a standard timestamp, but instead a word/integer Open SN also allows for a zodiac sign without a birthdate. Open SN also requires supporting potentially unsafe content -- specifically , it must support javascript and flash formats that allow for cross site scripting (xss) attacks. This sounds stupid, but its smart -- different systems have different policies. Some allow for more lenient js/flash settings, other's don't. Because of this, Open SN has 2 important render methods: Data provided in an Open SN raw feed / transport , must contain whatever the user submitted-- without any site policy restrictions to scrub/untaint/detoxify the input. This should be a non-issue, because it raw feeds are treated as text and not rendered. Data provided in an Open SN 'view' ( microformat style html ) can be limted/scrubbed by any site policies whatsoever. Adopters are encouraged to provided a raw feed in addition to a view, and discouraged from providing the html view in open sn markup if they do not provide a raw feed. We believe this policy promotes portability, while respecting the different security and html support protocols of each website. Open SN is primarily read only. If two accounts / urls can be linked together via a shared public key on a findmeon node, it could be relatively safe for one url to issue a request for an update against the other. Using something like OpenID2 for as many fields as supported, would be a better approach. Open SN also comes with a sample database schema for creating online profiles that can talk to other online profiles. Please note that the open sn schema is set to foreign key on a useraccount id --- find "XXXXXXXXXXXXXXXXXXXXXXX" for the field to replace The Open SN motto: Infer if you can, Dumb down if you can't. -------- In short Why? People get sick of typing / copy+pasting the same information into several sites By reading/writing OpenSN, people can easily migrate and synchronize profiles from one website to another. Origins / Maintenance: In April 2006, RoadSound.com ( a syndicated collaborative content management system for the recording industry ) began to split out its identity verification and link management system to a seperate project, FindMeOn.com Since FindMeOn was already standardizing links and identities, taking a stab at profiles was the next step FindMeOn.com maintains ownership on the specification, but has released it as an open standard under the Creative Commons Attribution-No Derivative Works 2.5 License. The sample SQL schema is released under the MIT or BSD license. We can't remember which one, but they're pretty much the same. -------- Changes 0.02- Added 'Preferences' Section using OpenID Simple Registration Fields Added CountryISO to LocationHistory Array entries -------- interests general TEXT 1000 : ',' separated values music TEXT 1000 : ',' separated values movies TEXT 1000 : ',' separated values television TEXT 1000 : ',' separated values books TEXT 1000 : ',' separated values heroes TEXT 1000 : ',' separated values affiliations TEXT 1000 : ',' separated values dislikes TEXT 1000 : ',' separated values basic nickname TEXT 32 about_me TEXT 1000 who_i_want_to_meet TEXT 1000 gender OPTION ( M , F ) age INTEGER birthdate_year INTEGER birthdate_month INTEGER birthdate_day INTEGER ethnicity OPTION ( African Descent , Caucasian , Asian , East Indian , Hispanic / Latino , Middle Eastern , Native American , Pacific Islander ) hair OPTION Brunette, Blonde, Grey, Red eyes OPTION Brown, Blue, Green height TEXT 5 height_units OPTION ( METRIC , 'ENGLISH TRADITIONAL' ) weight TEXT 5 weight_units OPTION ( METRIC , 'ENGLISH TRADITIONAL' ) zodiac OPTION ( Aries,Taurus,Gemini,Cancer,Leo,Virgo,Libra,Scorpio,Saggitarius,Capricorn,Aquarius,Pisces ) note: can be inferred from birthdate , or overridden specifically here ( if the birtdate is not shared ) relationships relationship_status OPTION ('single' 'in a relationship', 'in a domestic partnership' , 'married', 'divorced' , 'it\'s complicated' ) sexual_orientation OPTION ('heterosexual','homosexual','bisexual','asexual') children OPTION ( 'Decided- None' , 'Decided- Someday' , 'Undecided' , 'Proud Parent' ) habits diet OPTION ( omnivore, carnivore, pescetarian , vegetarian, vegan, pollo-vegetarian , pesco/pollo-vegetarian , kosher ) alcohol_self OPTION ( None , Infrequent , Moderate , Frequent ) alcohol_others OPTION ( None , Infrequent , Moderate , Frequent ) tobacco_self OPTION ( None , Infrequent , Moderate , Frequent ) tobacco_other OPTION ( None , Infrequent , Moderate , Frequent ) drugs_self OPTION ( None , Infrequent , Moderate , Frequent ) drugs_other OPTION ( None , Infrequent , Moderate , Frequent ) beliefs religion OPTION ( Agnostic , Atheist , Buddhist , Catholic , Christian , Christian Scientist , Hindu , Jewish , Mormon , Muslim , None , Pagan , Protestant , Scientologist , Spiritual, Taoist , Unitarian , Quaker , Wiccan ) location current_city_name TEXT 32 current_state_province TEXT 32 current_postal_code TEXT 11 current_country_iso OPTION - 2 letter iso code hometown_city_name TEXT 32 hometown_state_province TEXT 32 hometown_postal_code TEXT 11 hometown_country_iso OPTION - 2 letter iso code location_history *ARRAY city_name TEXT 32 city_state_province TEXT 32 country_iso OPTION year_residency_start YYYY month_residency_start MM year_residency_finish YYYY month_residency_finish MM education education_level OPTION ( 'High School' , 'Some College' , 'In College- BA' , 'College Graduate - BA' , 'In Graduate / Professional School' , 'Graduate / Professional School- Completed', 'Post Graduate Work' ) schools_attended *ARRAY school_name TEXT 64 note: livejournal has a list.. It should conform to that if possible school_city TEXT 32 school_country OPTION - 2 letter iso code school_state_province TEXT 32 attendance_status OPTION ( 'Attending' , 'Attended', 'Attended+ Graduated' ) attendance_start_month MM attendance_start_year YYYY attendance_finish_month MM attendance_finish_year YYYY degree_type OPTION - ( Diploma, BA , BS , MFA , MA , MS , MBA , PHD , JD , MD , Certificate ) companies *ARRAY company_name TEXT 32 company_city TEXT 32 company_state_province TEXT 32 company_country OPTION- 2 letter iso code position TEXT 32 employment_start_month MM employment_start_year YYYY employment_finish_month MM employment_finish_year YYYY preferences time_zone OPTION - Locale Setting (see sample sql) preferred_language OPTION - Locale Setting (see sample sql) -------- Copyright & Licensing: © copyright 2006-2009 FindMeOn, Inc. All Rights Reserved This work is licensed under the Creative Commons Attribution-No Derivative Works 2.5 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nd/2.5/ or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.