本文来自我正在写的OPSN草案中的一部分。
前几天Robert Scoble由于运行一个脚本来导出自己在facebook上的联络人列表而被facebook封了账号,而引发了这些联络人信息究竟属于谁的争论。显然不少sns运营者认为这些数据是他们的(当然他们会宣称这是为了保护用户的隐私)所以不能让你很爽快地带走。
我正在做的OPSN(Open Portable Social Network)是一个开放的,数据可携带的,分布的SNS协议和基于此的一个原型实现。OPSN是一个类似于OpenID和oAuth的基于HTTP扩展的协议和参考实现, 他可以和openID, oAuth很好地结合,和openID, oAuth没有重叠各自解决不同领域的问题,OPSN中重用了Microformats中的一些数据规范(hcard, xfn), 也可能会使用APML和OPML来作为部分数据交换格式。OPSN的原型中使用了OpenID作为用户认证部分。
从根本上而言,一个SNS从现今的技术实现来说固然是中心化的容易实现,但一个分布的SNS其实更加贴近于人际社会。事先需要说明几个OPSN中的基础概念:
“单向+通知”比目前大部分sns, IM中的朋友关系建立更加合理,也更贴近人际社会。现实生活中,你可以单方面把某人作为自己的朋友去关心(例如单恋,:) ), 你可以“通知”也就是让对方知道你单方面建立了这种关系,让对方去决定如何从他(她)的角度建立和你的关系(并且再通知你)。
OPSN的基本思路来源于实际的人际社会中每个人管理自己的社交联系的方式,在一个现实的人际社会中:
现实生活社交中,各个人联络的信息是如何被使用和分享的呢? 至少有以下的形式,可能不全面,欢迎补充:
受到OpenID设计的启发,在OPSN中我引入了“授权”的概念:
通过授权,我们可以我们可以把自己的私人 URL授权让专门的OPSN Server来帮助我们管理我们的social network. 我们可以随时更换这些授权的对象,并且随时把自己的数据转移到自己信任的服务器上。 这样对一个技术比较强的用户,他可以建立完全私有的符合OPSN的个人服务器,一切数据在自己控制之下;对于不想这么麻烦的用户,只需要使用任何一个OPSN Server, 然后在自己的个人页面上标记一个授权服务器,就能委托OPSN Server来行使职能。 授权也可以在现实人际社会中找到一些类似的,例如繁忙的经理人可能授权其秘书来管理部分他的联络信息。
联系客服