2018年6月

本文基于维基百科条目编译:https://en.wikipedia.org/wiki/Tim_Berners-Lee

Tim Berners-Lee,1955年6月8日出生于英国伦敦。父母都是数学家,父亲Conway Berners-Lee也是计算机科学家、第一台商业计算机“费伦蒂马克1号”(Ferranti Mark 1)开发团队成员,母亲Mary Lee Woods则还是一位程序员,曾为“费伦蒂马克1号”写程序,父母因此相识并结婚。

Tim小学就读于Sheen Mount Primary School,中学在伦敦西南部的Emanuel School渡过(该校1/4生源由英国中央财政拨款资助,1975年成为独立法人),那是1969至1973年(14-18岁)。少年时期的Tim是个“铁道迷”,通过焊接铁道模型初涉电子领域。

1973至1976年(18-21岁),Tim在牛津大学王后学院学习,成绩优秀,获得一等物理学学士学位。

大学毕业后,Tim进入多塞特(Dorset)郡普尔(Poole)的一家通讯公司Plessey当工程师(21-23岁)。

1978年,Tim加入芬当(Ferndown)市的D. G. Nash公司,参与开发打印机排版软件。

25岁(图片来源:https://en.wikipedia.org/wiki/Tim_Berners-Lee

1980年6月至12月(25岁),Tim以“独立合同工”(independent contractor )的身份在位于瑞士日内瓦的CERN(European Organization for Nuclear Research)短期工作了半年。在此期间,他基于超文本的概念提出了一个项目建议,旨在方便研究人员共享和更新信息。为了演示,他开发了一个原型系统,叫ENQUIRE(Web的雏形)。

1980年底离开CERN后,Tim又加入伯恩茅斯(Bournemouth)的Image Computer Systems, Ltd。在这家公司的3年,Tim负责技术,工作的项目涉及“实时远程过程调用”。正是这个项目让他熟悉了计算机网络知识。1984年(29岁),Tim以研究生(Fellow)的身份回到CERN。

1989年的时候,CENR成为欧洲因特网最大的一个节点,Tim(34岁)从而有机会把超文本的概念嫁接到因特网上。1989年3月,他就写了一个建议,1990年再次提出,得到了他当时经理Mike Sendall的肯定。

这个建议就是基于之前ENQUIRE背后的思想,提出了World Wide Web。Tim为此编写了第一个Web浏览器WorldWideWeb,这个浏览器同时也是一个网页编辑器,运行在NeXTSTEP操作系统上,以及第一个Web服务器CERN HTTPd。

第一台Web服务器

第一个网站也在CERN诞生,于1991年8月6日上线(http://info.cern.ch)。这个网站的第一个网页地址是:http://info.cern.ch/hypertext/WWW/TheProject.html,其中汇总了关于WWW项目的信息,包括什么是超文本,如何编写网页,甚至如何搜索网页等。当然,这个网页最初的样子并非现在这样。

1994年(39岁),Tim在麻省理工学院创办了W3C(万维网联盟),集合业界厂商共同制定Web标准,推动Web的发展。Tim免费分享了自己的想法,任何厂商都不必向他支持版权费。W3C决定自己制定的标准基于免版税的技术,从而最大限度降低人们使用的门槛。

2001年(46岁),Tim因曾在东多塞特居住,赞助了East Dorset Heritage Trust项目。2004年12月(49岁),他接受南安普敦大学电子与计算机科学学院的教职,研究语义Web。

2009年10月(54岁),Tim在媒体上承认网址中的两个斜杠(//)是不必要的。他跟记者说:“别提了,当时还觉得是个好主意呢。”

2009年6月,英国首相戈登·布朗宣布Berners-Lee负责推进英国政府的数据开放及通过Web的无障碍访问。他和Nigel Shadbolt是data.gov.uk背后的两个主要负责人。英国政府通过这个项目把官方收集的几乎所有数据都免费公之于众。2010年4月,在英国地形测量局的数据公开之际,Tim说:“这是政府行政文化的一次深刻变革,它表明,除非有足够的理由,否则信息都应该面向公众开放,而不是相反。”他继续说:“政府更大幅度的开放、负责和透明化,将为民众提供更多机会,同时也让个人直接参与那些与自己相关的事务更加便捷。”

2009年11月,Tim成立World Wide Web Foundation,旨在“推动Web为人类赋能,通过启动变革计划,构筑本地能力,以利用Web媒体促成积极改变。”

截止到2012年5月,Tim一直与Nigel Shadbolt共同担任Open Data Institue的联席主席。

2013年10月,Tim牵头成立Alliance for Affordable Internet (A4AI) ,谷歌、Facebook、英特尔和微软作为成员,与Tim一道致力于降低发展中国家和地区的上网费用,目标是让这些地区的上网费用达到联合国宽带委员会低于月收入5%的标准。

2014年(图片来源:https://en.wikipedia.org/wiki/Tim_Berners-Lee

2016年10月,Tim加入牛津大学计算机系担任教授,同时成为基督堂学院院士。

2016年(61岁),Tim因“发明万维网、第一个Web浏览器,以及让Web得以大规模发展的基础协议和算法”获得图灵奖。

Tim同时在MIT计算机科学与人工智能实验室担任专职教授,领导 Decentralized Information Group。

简单地说,就是从CSS3开始,CSS规范就被拆成众多模块(module)单独进行升级,或者将新需求作为一个新模块来立项并进行标准化。因此今后不会再有CSS4、CSS5这种所谓大版本号的变更,有的只是CSS某个模块级别的跃迁。

引入模块化之前

按照CSS工作组的说法,CSS历史上并没有版本的概念,有的只是“级别”(level)的概念。比如,CSS3其实是CSS Level 3,CSS2是CSS Level 2,而CSS Level 1当然就是CSS1。每个级别都以上一个级别为基础。

大家都知道,CSS1早就作废了。CSS2其实基本上也已经作废了。但是,CSS1、CSS2(以及CSS2.1)在当时都是一个大而全的规范。而且,CSS2在成为最终标准的时候,W3C规范的流程里还没有定义CR这个阶段。

后来,W3C进一步完善了规范制定流程,要求每个规范都要经过以下五个阶段:

  1. 工作草案(WD,Working Draft)
  2. 最终工作草案(LC/LCWD,Last Call Working Draft)
  3. 候选推荐(CR,Candidate Recommendation)
  4. 提议推荐(PR,Proposed Recommendation)
  5. 推荐标准(REC,Recommendation)

由于当初CSS2并没经过CR阶段,因此出现了很多问题。CSS工作组被无穷无尽的“改bug”搞得不厌其烦。结果,他们决定对CSS2进行一次修订,这就是CSS2.1(CSS Level 2 Revision 1)。换句话说,CSS2.1其实只是CSS2的一个修订版,并没有实质性变化。有些CSS2中的内容,CSS工作组认为不够成熟,于是从CSS2.1中删除了。这些删除的内容被视为回退到流程的CR阶段——相当于需要“回炉”。(后来,这些内容基本都以CSS模块的方式,经过修订和增补,进入了CSS Level 3。)

CSS2.1及之前的CSS规范把所有内容都写在一个文档里。随着CSS特性越来越多,越来越复杂,CSS规范的篇幅也越来越长。CSS2.1的PDF版有430页(https://www.w3.org/TR/CSS2/css2.pdf)。这就给勘误和进一步升级带来了极大不便。因为文档不同部分升级的进度不可能强求一致。

于是,CSS工作组决定从CSS2.1之后开始采取模块化的路线。就是把需要升级的内容独立成模块拆分出来,新增的需求也以新模块的方式立项。从此以后,CSS就进入了Level 3。

引入模块化之后

CSS采取模块化路线后,就有了三种模块,而且它们的命名方式非常值得注意。

  • CSS Level 2原有模块:Selector、Color、Values and Units、BackgroundS and Borders等这些都是从原来CSS规范中拆出来的模块。这些模块的命名一开始就会从Level 3开始,比如Selectors Level 3(https://www.w3.org/TR/css3-selectors/)、CSS Backgrounds and Borders Level 3(https://www.w3.org/TR/css3-background/),因为它们都是在CSS Level 2的基础之上开始的。
  • 新模块:Multi-column Layout、Transitions、Flexible Box、Transforms等都是后来新增的模块,以前CSS中不存在类似特性。因此它们的命名会从Level 1开始,比如CSS Transitions Level 1(https://www.w3.org/TR/css3-transitions/)、CSS Flexible Box Module Level 1(https://www.w3.org/TR/css-flexbox-1/)。
  • 当然,还有CSS2.1从CSS2中删除的内容。如前所述,“被CSS2.1删除的CSS2中的内容,被视为回退到CR阶段”,而其中大部分内容都会以CSS Level 3的面目“转世”,一旦它们进入CR阶段,就会取代之前对应的内容成为新标准。

OK,上述任何模块的规范从WD推进到REC阶段,要么意味着新CSS模块诞生,要么意味着旧CSS模块重新焕发了生机!

希望下面这张图能更直观地说明CSS模块的命名:

模块还会有Level 4或更高

CSS到Level 3因为采取了“模块化”策略,本身不会再进化到Level 4了。正因为如此,CSS理论上永远不会出现CSS4。但是,CSS中的某个模块是可以到Level 4甚至更高级别的。比如,CSS Color Module就开始Level 4的升级之旅了(https://www.w3.org/TR/css-color-4/)。

CSS snapshot 2017里是这么说的(https://www.w3.org/TR/CSS/#css-levels):

There is no CSS Level 4. Independent modules can reach level 4 or beyond, but CSS the language no longer has levels. ("CSS Level 3" as a term is used only to differentiate it from the previous monolithic versions.)

没有CSS Level 4。独立的模块可以到Level 4或更高级别,但CSS这门语言不会再有这个级别。(“CSS Level 3”作为一个概念,只是便于跟之前大而全的版本有所区别。)

以下是几个有用的参考链接。

有什么不明白的,欢迎大家留言!