Identity 2.0 何时真正到来?(二)处境尴尬的 Information Card

2009/08/15 | 00:05 | 分类:IT杂谈 | 标签: | 509次阅读

  在 Identity 2.0 技术族中,Information Card(信息卡)算是 2006 年左右炒作得比较多,然而目前发展却不尽如人意的一支。当时微软把 Windows CardSpace——即它的 Information Card 套件同 WCFWPFWF 并列,作为 .NET Framework 3.0 的四大新兴组件来宣传。然而仅从现在的技术图书市场就可以看到:W*F 相关书籍在 .Net 书架上大行其道,而有关 Windows CardSpace 的书籍则是凤毛麟角。细心的 Windows 用户常常会疑惑:新版系统的控制面板中为什么会有一个似乎是制作名片用的 Windows CardSpace 工具?一般用户很少知道微软当年“Codename InfoCard”的雄心。
Identity 2.0 何时真正到来?(二)处境尴尬的 Information Card
  事实上,Information Card 不是微软一家独推的身份认证技术,它还得到了 Intel、Google、Novell、Oracle、Paypal 等公司的支持,并由这些公司共同组建了非盈利的 Information Card Foundation (ICF) 来推进这一技术。和 OpenID 一样,Information Card 也开放标准,没有中心节点,允许任何人按照标准独立实现和构建 Identity Provider 以及基于 Information Card 认证的网络应用,甚至允许用户使用相应的软件在本地自行创建个人 Information Card。Information Card 的工作模型源于生活中的实体证件认证机制:Identity Provider 是按照一定的规则给用户颁发 Information Card,并可以管理和验证自己颁发的 Information Card 的机构,相当于颁发驾照的交管部门或发行信用卡的银行;Identity Selector 是帮助用户保存和管理自己的 Information Card 的本地软件或网络应用,相当于钱包或保险柜;很多 Identity Selector 也兼具创建个人 Information Card 的功能,相当于名片印刷设备。对其工作机制的一个简单比喻是:用户自行制作数字名片,或在发证机关办理数字卡片或证件;平时把自己的数字名片、卡片或证件放在虚拟的钱包或保险柜中;在需要向目标网站证明自己身份的时候,打开钱包或输入保险柜密码,出示相关名片、卡片或证件(事实上只是它们部分“页面”的“复印件”);目标网站获取其中的非敏感信息,有时还需要向发证机关求证一下卡片或证件的真伪;通过验证之后目标网站即可为用户提供相应的服务。
  上文所谓的“名片”即个人(Personal)Information Card,这是 Information Card 最常见的一种形式。个人 Information Card 包含用户的非敏感信息,及其创建时间、创建软件和唯一的 ID 等。在发送给目标站点进行身份认证时,只有用户的非敏感信息被传送,因此不存在前文所述的缺点1、2。由于目标网站没有拿到 Information Card 上的 ID 等重要信息,所以它们无法伪造一个与原 Information Card 完全相同的复本来登录原用户注册过的其它网站。在登录时,一个根据协议生成的、不可修改的 Site-Specific Card ID 会发送给目标站点,它唯一表示了特定 Information Card 与特定目标站点的认证关联。Site-Specific Card ID 配合安全协议,具有双向认证特性,可以防止恶意用户伪造他人 Information Card 或钓鱼站点欺骗用户登录(缺点3)。缺点4和缺点5的克服与 OpenID 类似。而个人 Information Card 优于 OpenID 的,是它不存在单点失效问题——因为个人 Information Card 根本用不到 Identity Provider。个人 Information Card 的薄弱环节存在于 Identity Selector,不同的 Identity Selector 可以实现不同的 Information Card 管理和使用授权策略。例如 Windows CardSpace 使用 PIN 码验证本地用户对 Information Card 合法拥有,由于 PIN 码验证完全在本机进行,因此没有网络传输的危险;Windows CardSpace 也不允许导出非加密的 Information Card 文件,因此只要 Windows CardSpace 软件机制没有被破解,设置过 PIN 的 Information Card 是不能从本机或网络轻易窃取的——当然还有一个大前提是用户不滥用 Administrator 权限,否则“C:\Users\[Username]\AppData\Local\Microsoft\CardSpace”目录还是有被盗取的危险。而另一家知名的 Identity Selector——Azigo 则提供支持多平台的、本地与在线相结合的 Information Card 存储,其信任模型类似于密码托管服务。
  而上文所谓的“卡片或证件”的学名则是托管(Managed)Information Card,它的主要功能不是验证用户身份和传递用户信息,而是用以证明用户具有某种资质(例如成年用户具有在购物网站购买酒精饮料的资质;持有特定信用卡的用户具有在银行网站使用贵宾服务的资质)。Identity Provider 通过额外的手段审查用户具有某种资质之后,在服务器端生成相应记录,并颁发给用户具有特定字段的托管 Information Card。托管 Information Card 本质上只是一个 XML 格式的、指向 Identity Provider 中相应记录的“指针”文件,它也可以像个人 Information Card 一样保存在 Identity Selector 中。当网站需要验证用户某种资质的时候,托管 Information Card 中的“指针”信息被传送给目标网站,目标网站再连接 Identity Provider 查证用户资质是否存在。托管 Information Card 同样可以克服传统用户名-密码机制的诸多缺点,然而单点失效的问题再一次显露。况且不同的 Identity Provider 提供的资质证明服务是异质的,它们与目标网站也通过证书认证等方式绑定,故不能像 Delegating OpenID 那样简单地找替代品绕过,这是托管 Information Card 有待解决的问题。另外,由于托管 Information Card 的“指针”文件容易复制和传播,为保证其安全,协议规定需要使用 X.509 证书、Kerberos ticket、个人 Information Card 或传统的用户名-密码等至少一种机制来验证用户对托管 Information Card 的合法拥有。这将托管 Information Card 的安全性问题划归到上述机制的安全性问题上了。
  机制的灵活性使得创造其它类型的 Information Card 成为可能。但新的 Information Card 特性往往需要目标网站和 Identity Selector 的支持。例如 Azigo 支持的几种 Action Card 类似于现实中的商场会员卡、打折卡,启用之后可以和 Google、Yahoo 或一些购物网站交互,对使用本卡可打折的商品加以图标提示。
  Information Card 已经发布多年了,但支持用它登录的网站依然很少,ICF 官方的资源目录中登记的站点屈指可数。微软的 Windows Live 的 Information Card 支持长期处于“Beta”阶段。具有讽刺意味的是专门提供 CardSpace ASP.NET 控件的 Quality Data 公司自己的网站还在使用用户名-密码登录。稍微有点意义的托管 Information Card 是 Equifax 提供的“Over 18 I-Card”成人验证。它通过查证用户的美国社会保险号码发给其代表成人身份的托管 Information Card,目前唯一的用途是在 Watch-This 网站观看 18+ 的视频。而那几家提供 Azigo Action Card 的网站也往往只把虚拟打折卡和实体打折卡绑定,没有让用户体验到 Information Card 的优势,反而是用一种复杂的机制实现了简单的会员折扣提醒功能。
  Information Card 市场接受程度远不如 OpenID 的原因,我想很可能与其 Identity Selector 机制有关。Identity Selector 确实在一定程度上增强了安全性,但它不像 OpenID 只基于现有的 Web 机制,而需要在客户端部署依赖于操作系统、浏览器的组件。这使得用户感到不便乃至不安,网站运营者因此不会有太大的兴趣。我目前还没有找到在 Chrome 和 Opera 下好使的 Identity Selector。就连 Windows CardSpace 在 IE8 下工作得都有问题,像 SignOn 等网站只有使用 IE7 兼容模式才能登录。可以想像网站运营者如果添加 Information Card 认证,只能收到更多用户的询问或抱怨。Windows Vista 以后 Windows CardSpace 以成为了系统标配,但微软这种把标准协议绑定到 IE 上的行为反而可能引起某些第三方开发者的不满,正如 Mono 常常被一些“纯粹”的自由软件人士抵制一样。
  和 Information Card 思路类似的是 IBM、Novell 等公司发起的 Higgins 开源项目,它提供给用户的“名片”称为 I-Card,也借助客户端(或网络托管的)Selector 保存 I-Card(沿用 ICF 的部分工作)。并支持两种可替换的 Identity Services,其中一种“可信伙伴”服务可以将 Information Card 或 OpenID 认证方式接入 Higgins 框架。此外 Higgins 还引入了 Attribute Services,用于表述数据的上下文及实体(用户、目标网站)之间的关系,并提供访问控制支持(对用户来说,他们此时需要持有一种表示实体间关系 Relationship Card)。Higgins 仍是一个演进中的实验室项目,它提出的一系列认证模型和身份、关系管理机制值得在学术界研究,但目前阶段实用部署仍显复杂。对网站运营者和普通用户来说,额外组件的安装部署、既有应用的修改、新的使用模式和安全守则的学习都是不小的开销。“名片”模式要摆脱现在这种尴尬境地,任重而道远。

Windows Live 和 Google 账号的一些差别及其对创建个人统一账号的影响

2009/07/04 | 23:47 | 分类:Web与移动平台 | 标签: | 1,356次阅读

注意:以下论断仅针对目前阶段(2009年7月4日)观察到的 Windows Live 和 Google 服务而言,只代表用户可见的现象,不说明其实现的本质;只说明现状,不代表未来可能的变化。

1. 有关使用非 Hotmail 邮箱注册 Windows Live ID 或使用非 Gmail 邮箱注册 Google Account

1.1.M. 使用原有(非 Hotmail)邮箱注册的 Windows Live ID 与在 Windows Live 网站通过注册 hotmail.com / live.com / live.cn / msn.com 等邮箱得到的 Windows Live ID 的使用范围基本相同,可以直接使用 Messenger、SkyDrive、Spaces、Photos 等服务,只是没有 Hotmail 邮箱(注意:微软启动 Live 战略以后,“Hotmail”的概念泛指一切 Windows Live 邮箱,不限于“hotmail.com”后缀的)。可以认为,通过注册 Hotmail 邮箱得到的 Windows Live ID 只是比用自己原有的邮箱注册的多得到了一个免费邮箱。如果用原有邮箱的 Windows Live ID 登录 Hotmail,会被告知需要开通 Hotmail。

1.1.G. 使用原有(非 Gmail)邮箱注册的 Google Account 与通过注册 gmail.com 邮箱得到的 Google Account 的使用范围基本相同,可以直接使用 Calendar、Documents、Reader、Groups 等服务,只是没有 Gmail 邮箱和 Gtalk 即时通信功能。如果用原有邮箱的 Google Account 登录 Gmail 或 Gtalk,会被告知需要开通 Gmail。

1.2.M. 在已登录原有邮箱注册的 Windows Live ID 后,根据提示开通 Hotmail,相当于重新注册了一个全新的 Windows Live ID,新账号可以使用所有 Windows Live 服务。这个 Windows Live ID 与原先的那个没有任何关联,可以分别独立使用。二者的 Messenger、SkyDrive、Spaces、Photos 等数据独立、互不干扰。

1.2.G. 在已登录原有邮箱注册的 Google Account 后,根据提示开通 Gmail,相当于在原有账号基础上增加了 Gmail 和 Gtalk 服务。这时账户的主 Email 地址自动修改为新的 Gmail 邮箱,原来的邮箱则变成了本账号的关联邮箱。关联邮箱可以同 Gmail 邮箱等价地登录 Google 的各项服务;在部分服务(如 Groups)中,可以使用关联邮箱作为自己的联系方式。但一旦注册了 Gmail,在 Google 的多数服务中就会用 Gmail 邮箱作为用户身份的唯一对外标识。在此之前用户创建的数据不受影响,只是账户名称变了。用户可以解除关联邮箱,解除之后旧数据不会丢失。但需要注意,如果解除关联邮箱之后重新手动关联,部分服务(如 Groups)无法使用新的关联邮箱。

2. 有关 Windows Live Admin Center 和 Google Apps 服务

2.1.M. 在 Windows Live Admin Center 使用自己的域名开通服务,旗下用户得到的服务与在 Windows Live 网站通过注册 Hotmail 邮箱得到的 Windows Live 服务完全一致。自己域名的邮箱就是 Windows Live ID,邮箱后台也是由 Hotmail 提供支持的,名称也叫“Hotmail”。这相当于在 Windows Live 原有的 hotmail.com、live.com、live.cn、msn.com 等域基础上,增加了用户自定义的一个域。

2.1.G. 在 Google Apps 使用自己的域名开通服务,旗下用户得到的服务与一般的 Google Account(无论使用原有邮箱或注册 Gmail)并不相同。自己域名的邮箱并不是可以登录 Google 各项服务的 Google Account,而是仅仅能登录本域的一个账号。Google Apps 相当于为企业、学校等用户群体提供一个适于内部使用的、相对独立于 Google 公共服务平台的“小 Google 服务平台”。在这个小平台中,提供有限的几项服务,如 Mail、Calendar、Documents、Sites、Gtalk 等,不包括 Reader、Groups 等。这些服务体现“内部”特色,在逻辑上与 Google 公共服务平台隔离,例如 Mail 被命名为“[你的域名] Mail”而非“Gmail”;但这并不影响域内用户与其它 Google 用户(包括其它域下的 Google Apps 用户)进行有限的互通,例如可以与跨域的 Gtalk 联系人聊天、共享 Documents 上的文档等。

2.2.M. 通过 Windows Live Admin Center 得到的自己域名的 Windows Live ID 与使用默认域名的 Windows Live ID 处于平行位置,功能等价,没有带来新问题。

2.2.G. 通过 Google Apps 得到的自己域名的账户并不是 Google Account,因此如果用户需要使用完整的 Google 服务,需要另外注册 Google Account。如果用户使用基于 Google Apps 的自己域名的邮箱注册 Google Account,可能带来一些微妙的问题:

2.2.G.1. 总体上说,这与 1.1.G、1.2.G 节所述的“使用原有(非 Gmail)邮箱注册的 Google Account”相似。

2.2.G.2. 对于 Documents 服务,用户分别拥有“Google 公共服务平台”和“本域服务平台”上的两套版本,分别在不同的界面使用不同的密码登录,数据独立。如果注册了 Gmail,则 Gmail(Mail)、Gtalk 服务也类似地维持两套版本。

2.2.G.3. 对于 Calendar、Sites 服务,本质上也有两套版本。如果没有注册 Gmail,则会因账户重名问题只能在优先注册的平台上使用,第二套版本无法启用;如果注册了 Gmail,则可以保证两个平台上拥有不同的账户名称,两套版本可以并存,数据独立。

2.2.G.4. 对于 Reader、Groups 等“本域服务平台”没有提供的服务,可以在“Google 公共服务平台”上使用,不存在多版本问题。

3. 总结及对创建个人 Windows Live / Google 统一账号的建议

3.1. Windows Live 对非原生邮箱账号的处理比 Google 更简单、更易于理解一些,区别一在能否直接使用即时通信工具,二在注册原生邮箱之后对原有账号的影响。我们可以通过单独注册 Gmail 邮箱的方法让 Google 实现类似 Windows Live 的“双账号”行为,但不能在 Windows Live 中为非原生邮箱账号添加额外的 Hotmail。

3.2. Windows Live Admin Center 与 Google Apps 是两个定位有所不同的产品,Windows Live Admin Center 强调用户域与 Windows Live 平台的相对统一,而 Google Apps 强调用户所属组织的独立性。它们的功能行为满足了不同类别用户的需求。

3.3. 对于企业、学校等有特殊需求的用户,或者仅偏好于 Windows Live / Google 一方的用户,以及对账号不在意或不愿公开的用户,不在本文讨论范畴之内。

3.4. 对于追求“使用并公开统一账号,访问 Windows Live / Google 服务”的用户,建议方案为:通过注册 Gmail 邮箱得到 Google Account,享受所有 Google 服务;然后使用这个邮箱注册 Windows Live ID,享受 Hotmail 之外的所有 Windows Live 服务。因为对外统一接口是 Gmail 邮箱,所以 Windows Live 上的联系人可以直接联系到用户,无须经过 Hotmail 邮箱。相反地,如果首先通过注册 Hotmail 邮箱得到 Windows Live ID,再用此邮箱注册 Google Account,则无法使用 Gmail 与 Gtalk。如果用户不在意 Gtalk,则此方案也可行;否则此方案不佳,因为如果用户在此基础上注册了 Gmail 或 Gtalk,多数 Google 服务中的用户账号会变化,不符合“统一账号”要求。

3.5. 对于追求“使用并公开统一的个性化(自己域名的)账号,访问 Windows Live / Google 服务”的用户,没有像上面那样完美的方案。建议的两种方案为:

3.5.1. 使用 Windows Live Admin Center 开通自己域名的邮箱,即可享用所有 Windows Live 功能。使用这个邮箱在 Google 注册账号,即可使用 Gmail、Gtalk 以外的几乎所有 Google 服务。如果用户不在意 Gtalk,则到此为止。如果用户在此基础上注册了 Gmail 或 Gtalk,多数 Google 服务中的用户账号会变化,不符合“统一账号”要求。不过用户也可以在 Google 之外使用自己的服务器搭建 Jabber 服务,与自己的域名绑定,现实与 Gtalk 的互通,但这提升了实现成本和技术难度。

3.5.2. 使用 Google Apps 开通自己域名的邮箱,即可享用部分 Google 服务(关键是有 Mail 和 Gtalk);然后使用这个邮箱注册 Windows Live ID,享受 Hotmail 之外的所有 Windows Live 服务。再使用这个邮箱注册 Google Account,享受其它 Google 服务。注意不要开通 Gmail,原因同上,且此举是无法恢复原状的!此方案的缺点在于 2.2.G 节所述的部分服务双版本共存或双版本冲突的问题,使用时需要格外注意,防止混淆。

3.6 对于新启用统一账号的用户,3.4、3.5 节提出的方案可以在一定程度上满意其需求。但对于已经在不同平台上使用了不同账号的用户,迁移到新的统一账号上来却是不方便的。主要的问题是用户数据无法同步迁移。目前 Windows Live 和 Google 提供的关联邮箱功能,主要解决的只是多账号登录问题,没有太关注内容同步,这也许是它们下一步有必要努力的方向。

附录A. 我个人的统一账号迁移方案:基于 3.5.2 节方案,前两个步骤相同,但没有注册新的 Google Account 和 Gmail。访问 Google 服务仍然使用原来的 gmail.com 账号。主要的考虑是:

A.1. 我原来在 Windows Live 上使用的服务以个人存储为主、人际交流为辅,内容易迁移;即使不迁移也无妨,因为大多是自己使用,不对外公开交流。因此这个账号可以停止维护,只增加必要的邮件监控或转发。

A.2. 我原来在 Google 上使用的服务以人际交流为主(如 Reader 和 Documents 上的共享、Groups 中的群组和帖子),如果迁移,对个人和其他联系人都有一定的时间和劳动成本。

A.3. 我关注的统一接口的三个要件是 Email / MSN / Gtalk,这一方案满足了此要求。缺陷只是在访问 Google 服务的时候没有使用统一的账号,但这并不影响对外公开的接口。且 Google 双平台 cookie 独立,方便同时登录 Google Account 和 Google Apps 账号,互不干扰。

上面大折腾,下面小折腾——启用新的 Email∕MSN∕Gtalk 账号

2009/06/26 | 12:02 | 分类:默认分类 | 标签: | 1,870次阅读

  前天和昨天中国互联网可够折腾的了,这些折腾再次警示我们网络上可能存在的风险。上面大折腾,我在下面也小折腾了一下,启用了新的、统一的 Email/MSN/Gtalk 账号:
  上面大折腾,下面小折腾——启用新的 Email∕MSN∕Gtalk 账号
  麻烦朋友们在 IM 或地址簿中加入这个新的账号。
 
  启用这个新账号,出于以下考虑:
  1.原 MSN 账号基于“.cn”域名,存在潜在的安全风险。
  2.原 Gtalk 账号名称过长,不便他人记忆。
  3.原“@gmail.com”邮箱存在一定的受阻风险
  4.我原先对外公开的 Email 较多较杂,不便统一处理邮件。
 
  新账号的技术方案:
  使用 Google Apps 建立自定义域名的邮箱(基于 Gmail 系统)和 IM(即 Gtalk)服务;使用这个邮箱注册 Live ID,即可开通 MSN 服务。
  顺便说一下,原来的“@linjian.cn”的邮箱和 IM 使用的是微软的 Admin Center 服务。与 Google Apps 类似,它提供了基于 Hotmail 的邮箱和基于 MSN 的 IM 服务。但 Google 不允许使用 Gmail 和 Google Apps 账号以外的 Email 地址作为 Gtalk 账号(虽然可以使用第三方 Email 注册 Gtalk 别名,但别名只能用于登录,在好友处显示的仍是一个“@gmail.com”结尾的、不能收发邮件的 jabber 名称。而且这一特征只能在英文版 Gtalk 上使用,中文版 Gtalk 和多数第三方客户端不支持)。
 
  新账号的优点:
  1.Email/MSN/Gtalk 统一的入口地址,便于发布和记忆。
  2.公开单一的邮箱,处理与朋友往来的邮件,减少管理邮件的时间开销。当然,处理工作业务、重要数据的邮箱并不统一到这里,还是要用独立的。
  3.安全。使用自己的域名,可修改 MX、SVR 等记录,不受制于服务提供商。即使 Gmail 相关域名被劫持,自定义域名的邮件收发也不受影响。即使 Google 相关的 IP 被过滤,我也可以在不改变账号的前提下更换邮箱服务器和 jabber 服务器,通信不受影响。自己的域名被劫持相比 Google、Live 被“肃整”的概率要小一点。
 
  新账号的缺点:
  1.Google Apps 账号不能使用完整的 Google 服务,它可以访问 Calendar、Docs 等,但不能登录 Reader、Groups 等。所以我仍然需要使用原 Gmail 账号登录上述服务。不过这对面向他人的“统一入口地址”影响不大,只是自己麻烦点;好在 Gmail 和 Google Apps 的 cookie 是独立的,可以同时登录互不干扰。
  2.联系人批量转移是个麻烦事,好在 MSN 和 Gtalk 都可以批量导入导出纯文本的联系人列表。需要各位联系人确认一下我的添加请求。
 
  备注:
  目前正在使用“@linjian.cn”的 Live ID 的朋友请不要担心,只要没有不可抗拒的因素,我不会停止对 linjian.cn 域名的支付和维护;只要微软的 Admin Center 服务继续免费提供,我就不会停止使用 linjian.cn 上的 Live 服务。除了对个人姓名域名的保护性注册因素之外,我们也必须认识到:虽然目前放在美国的域名比放在国内的域名(尤其是“.cn”)要保险一些,但美国毕竟是我们的潜在对手。万一中美关系有大事变,不排除中国人在美国的域名受到威胁的情况。所以,“.cn”域名可以认为是一种战备资源,适当的时候可以显示其价值。

我选择Windows平台软件的原则

2009/04/11 | 15:52 | 分类:IT杂谈 | 标签: | 959次阅读

  我认为,目前阶段我选择计算机软件或服务的一个重要原则是:在不直接或间接侵犯他人合法权益的的前提下,尽可能满足自己对计算机系统的知情权和控制力。基于这个原则,使用GNU/Linux+开源软件当然是最好的选择。不过这不是今天要说的重点,我想说说我在Windows平台下的选择软件的一些准则。也许这个话题的受众面更广一些。
  “不直接侵犯他人合法权益”是比较容易理解的,在计算机软件领域,主要指的就是不使用盗版、破解软件。我的这一原则并不是出于什么高尚的道德或法律因素,仅仅是出于对同行的尊重。我承认,在其它一些方面,如电子书、音乐、影视,我自觉或不自觉地使用着一些侵权的复本。但在软件方面,自己作为一个计算机专业的学生,一个不断制造代码的劳动者,我十分理解同行的工作价值。虽然自己是开源和自由软件的爱好者,但尊重他人选择自己软件发行和营利方式的权利。当然,很多人会以经济原因拒绝使用正版。但这个问题还用我说吗?网上介绍常用盗版软件的替代免费软件的文章还少吗?(123)除了Windows本身和一些领域专用软件外,日常应用中没有哪个领域缺乏优秀的免费软件。在免费软件中,我的首选是开源、自由的工具,这一方面是对自由软件精神的支持,另一方面,作为一个开发者,学习他人源代码、按照自己的需求修改软件功能也是满足我知情权与控制欲的途径。当然,很多Windows下的自由软件也沿袭了UNIX的KISS精神,相比Windows下传统软件那种大而全的风格,这些软件的确不迎合一些用户的习惯。我有时也会犯这个懒,比如在Windows下虽然有自由的ISO制作和CD刻录工具,但我还是想使用如同UltraISO那样集成了这两类功能GUI的工具,这时候免费但是专有的ImgBurn则成了我的选择。同样,一些开源、自由的媒体播放器出于专利原因,默认不集成Real、QuickTime等格式的插件,在懒得自己配置的情况下,选择那些专有的免费软件也是不错的。
  至于免费软件覆盖不到的Windows本身(注意是“Windows”而不是“操作系统”),我承认我有点站着说话不腰疼——我的Windows及微软的一系列软件都是本科时通过参加微软的竞赛等活动免费得到的。但这对于一个有经济能力使用电脑和网络的大学生来说并不是遥不可及的:微软的DreamSpark计划为大学生免费提供Windows Server 2003在内的操作系统。如果想要XP、Vista或Server 2008,则可以通过加入IEEE学生会员等方式得到MSDNAA的授权,下载和使用百余种微软产品。IEEE对中国学生只需要25美元的会费,连Vista Business版价格的十分之一都不到。计算机专业的学生,有兴趣可以还参加ImagineCup竞赛,只要第一轮晋级就可以免费得到MSDNAA授权。另外听说ACM-ICPC也开始和MSDNAA合作了。这些途径得到的微软产品在技术上和零售版没有区别,但licence限制在学术、科研等非商业领域使用(全凭自觉)。当然,微软出此策略也是老谋深算的,想方设法把学生吸引到它的平台下,学习和使用它专有的技术,从而沦为它的奴隶,在将来的工作中不得不使用它的产品,进而谋取潜在的利益。知道了微软的陷阱,不往下跳就是了。我通过免费或廉价的途径合法地得到了你的软件,你通过竞赛活动或商业合作轻松地宣传了你的产品,双方已经各取所需了。而对于非学生用户,我想说的是,你既然有钱买电脑、上网,就不可能真的因为经济因素用不起正版Windows。用不用正版,绝对是一个意识问题。
  所谓“不间接侵犯他人合法权益”的原则往往被很多用户忽略。举几个例子:我拒绝使用迅雷一类P2SP的下载工具,因为它未经授权地盗链他人服务器上的文件,尽管加快了用户的下载速度,但在减少被盗链网站点击量的同时反而耗费了它们带宽与流量,给这部分运营者带来了损失。我不使用stardict这个开源的词典软件,因为尽管软件本身合法且优秀,但它所使用的词典很多都是侵权的,作者通过把软件和词典(包括软件和词典的网站)分离的办法来规避GPL授权应有的责任,这种擦边球不值得我们支持。我也不在网络浏览器中安装广告拦截插件,因为你既然要从这个网站有所收获,就应该允许网站的建设者得到回报。一个负责任的网站,它所选择的广告也应该是负责任的,即使对消费者没有帮助,也不会产生不良影响;至于有些人说网络上充斥着大量低俗、欺诈、病毒等性质的广告需要拦截,那我只能说,你对网站的选择有问题!总体而言,这个原则有“己所不欲,勿施于人”的意味。开发者、运营者和使用者应该尽量构成一种和谐的循环。这话说起来空,但要做起来,对于用户来说有不少点点滴滴是可行的。这一原则与其它社会道德是一样的:如果只有你一个人做,也许你就是吃亏者;但如果大家形成了一种良好的氛围,那么整个环境就会向着积极的方向发展。
  所谓“知情权”和“控制力”,这是Windows天生的弱势,提到这个问题的时候,我也只能强调Windows的用户只有相对的知情权和控制力。微软要把用户变成傻瓜,但用户有必要明白,在操作模式上傻瓜一些无妨,但在对系统的知情和控制方面,务必要保持清醒的头脑。普通用户并不需要像系统级程序员那样了解Windows内核中每个接口的功能和设计原理,但至少要对自己使用的实用工具(Utilities)和应用软件(Applications)的逻辑有表象上的了解。Windows 9X及其工具的表象相对容易把握,我曾熟知多数系统文件和进程的功能;然而XP以后,一系列本不应该由操作系统负责的机制被Windows接管,微软打着“安全”的旗号把一系列机制黑盒化了(然而对用户来说最重要的默认用户权限问题却有所放松),一度使我感到控制力的丧失。当然,我一方面因为微软及第三方应用强大的推力而妥协,另一方面自己也会与时俱进地学习的。我所抵制的,是那些表面上以给用户更多的知情权为诱饵,事实上接管了用户的控制力的软件,这包括不少国产安全软件(以360安全卫士为代表)以及一些系统优化、设置工具。这类工具针对的目标是大众用户,但开发者缺乏社会责任感,没有想着如何引导用户理解软件机制或表象、培养良好的计算机与网络使用习惯,反而以自己利益为导向,在软件的界面设计和提示语中存在着大量充满主观色彩内容。这类软件误导着用户,让他们对Windows产生误解、对注册表产生恐惧、对病毒和攻击产生敬畏。在这类软件的影响下,用户自身的技能难以提升,只能做这些工具的奴隶。因此,我所期望的软件应该在客观层面增强用户知情权和控制力,而不应该从主观上妨害用户自身判断和决策。借用“己所欲,勿强施于人”的说法,这一原则可以表述为“己所欲,勿强施愚(动词)人”。
  最后,我想附带说一下我对绿色软件的态度。“绿色软件”是一个已经被用歪了的概念。起初,人们把那些不需要安装、不需要建立或更改任何在该程序所在目录以外的文件、不修改Windows注册表及系统设置的软件称为绿色软件。一些开发者看到了这个需求,纷纷将自己的软件以这样的方式设计和发行,这是一个很好的趋势,我喜欢这样的程序。然而一些盗版、破解者也瞄准了这块绿地,把一些商业软件加以破解、修改,制作了所谓的“绿色版”。从技术角度说,这些通过反向工程制造出来的软件往往不是真正的绿色软件,它们一般只做到了免安装、免序列号等正版验证过程,而对于软件原有的修改注册表等特性,破解者们往往不在意。从本质上说,这类软件的绿色版,只不过是给破解版、盗版加上了一个好听的名字罢了,绿色软件的名声早已被这些不法者弄臭。不过有一类“绿化软件”是合法的,那就是对开源软件做源代码级的修改,使之具备免安装、无垃圾的特性,然后在原作者所使用的licence的许可范围内重装发布的软件,它们也被称为“便携版”(Portable edition)。国外有一些“绿化”组织专门从事此行,如PortableApps.com。如果没有特殊的需求,我仍然会优先选择原版(需要安装、非绿色)软件。因为我相信,在大多数情况下最懂某个软件的人应该是它的开发者。软件开发中往往存在一些hack和trick,这是第三方开发人员常常注意不到的。即使是这种合法的、基于源代码级的修改版软件,也可能存在第三方人员无意中造成的隐患。故减少一个中间环节,有助于提升我对这个软件的信任。
  个人见解,仅供参考,欢迎批判。

我与IE的二三事

2009/03/24 | 01:02 | 分类:IT杂谈 | 标签: | 450次阅读

  IE8发布了,各种褒贬不一的评价蜂拥而至。而我比较感兴趣的是Internet Explorer Collection这项工作,它又是一次Abandonware Show呵。下载下来在虚拟机中安装,跑我的blog,看上去只有IE6以后才能完全支持我那些CSS。而在IE3之前,Unicode是不被支持的。(看图不要误会,我虚拟机中使用日文版XP仅仅是因为手头没有多余的中文或英文版SN了,而MSDNAA/IEEE提供的日文和西班牙文版XP的SN也不能浪费,安装到虚拟机做测试环境得了)
我与IE的二三事
  简单回味一下我认识IE的故事:我最早使用的IE是Windows 95 OSR2绑定的IE3,同时使用的浏览器还有Netscape。升级到IE4的理由现在还记忆尤新:上辽河油田的“心网”聊天室(中国石油网,地址好像是http://10.70.3.20,现在不知道还在不在了?)时发现好多功能无法正常使用。于是询问网友,他们说“安装IE4就好了!”我便疑惑了,问了半天才知道桌面上那标称“Internet”的软件原来就是“IE”(别笑话,那时候我才刚刚开始学英语,尽管IE的标题栏上写着“Microsoft Internet Explorer”,可对我就是天书)。玉门油田的网站上似乎没有IE4下载,于是我花了半天的时间才从辽河的一个下载站(好像叫“巨星”、“太极”什么的)把它拉了回来。安装之后一试,果然比IE3和Netscape强大很多,以前浏览有问题的网站瞬间正常了!用现在的话说,我那时候真火星。正是在那段日子,微软凭借着Windows 98绑定IE4的手段一举击败Netscape,开始了IE垄断浏览器天下的时代。
  有即也有离,这是新世纪的事了。偶然得到的一张Ubuntu 5.04 Live CD让我在Linux下认识了Firefox。它与我之前用过的Linux下的各种浏览器相比优势明显,需要自行配置的东西不多,各式各样的问题(尤其是中文相关问题)也很好解决。我自此放弃了以前在Linux下用过的一系列不尽如人意的浏览器。而自从Firefox 2.0推出后,我逐渐在Windows下也转向使用Firefox,疏远了IE以及以IE为核心的浏览器。这似乎没什么特别的理由。Firefox更安全吗?我相信我对Windows和IE的掌控能力,用IE照样不害怕。快速吗?Firefox插件多了启动速度也不怎么样。资源占用呢?Firefox相比一些使用IE内核的标签页浏览器还是大了点。现在想想,能说服我自己的理由,第一是开源和自由——一种精神上的满足;第二是标准和统一——在不同系统下使用一致的视图、相同的插件,共享书签等设置。
  虽然现在不多用IE了,但作为一种爱好,我还是在保持追踪微软包括IE在内的新版软件发布。回到上面的截图,我们可以看出IE界面风格大致经历三个阶段:IE1~IE2是Windows 3.X的3D风格,IE3~IE6是Office 97的平面风格,而IE7~IE8则是Vista风格。开创垄断历史的是平面风格的第二个版本——IE4,那么作为Vista风格的第二个版本,IE8能否在与Firefox、Chrome的竞争中挽回自己的持续流失的市场份额呢?我看难。然而我还是在不经意间“助纣为虐”了,呵呵!

页面存档: 上页 1 2 3 下页