(11/11/16 16:23), Bob Chao wrote:
> 我先講一下,最近在忙MozCamp 跟換工作跟搬家的事情,我要不就只能很粗淺地先掃一遍、要不就是要晚點,但總之我現在快速掃過的基礎想法如下:

感謝你的回信~慢慢來沒關係,希望你不要因為我回信太多就覺得我在催你 xd

> 1. 盡量避免寫得太多,或許你可以看一下有沒有哪些句子能精簡,因為長信少人看。當然這也要看你的目標,如果就是想找「會有耐性把這些看完」的人,那沒差。

目標就...會幫忙做實作註解的人,我也不知道那些人會不會看長信,總之我先精
簡了不少部份(參看附件的 .txt 檔)這封信

* 「理由一」刪了三分之二
* 「理由二」刪了三分之一

> 2. "這裡想跟大家介紹 W3C HTML5 中文興趣小組關於 HTML 規範實作註解的線上計畫,並鼓勵各位踴躍參加。" 這邊看起來是沒有把自己視為
> TOSSUG 的一員,而以一個外來者的身分「鼓勵 TOSSUG 的成員參與」。看你會不會在意造成這樣的印象,一般我不這樣寫,由其 TOSSUG 的
> Ping 一開始也有參與推廣 HTML5 中文興趣小組,其實你就有很好的位置把自己當成他們的一員。隨意改寫你參考:「
> 
> 最近 W3C HTML5 中文興趣小組有個「HTML 規範實作註解」計畫,希望能把規範裡的某些部份加上註解、直接連到 Gecko 或 Webit
> 的實做程式碼,以便幫助大家交叉參考程式碼與規範,蠻推薦大家參加。
> 
> 」

同意,已更改。

> 我沒有把握這樣改寫有符合你的想法,但應該可以表達那個寫作角色轉換上的意思。
> 
> 3. 有些詞的確可能要修一下,舉例:
> 
> 我改的重點:
> 
>    - 刪掉「不可能」相關的詞,一方面這比較武斷、閱讀時感覺怪怪的,二方面其實你也補述了「要辦的話,有些條件要先成立」,那就不是不可能了。

的確

>    - 不見得會先定位出「問題程式碼」在哪裡,只要定位出某些區段的實做在哪裡,那問題就會好抓很多,而且事實上這跟你主題裡的 HTML5

我的確是覺得我在之前研究的「決定編碼」[1] 那邊太過頭了,應該把範圍弄廣一
點...

[1]
http://www.w3.org/html/ig/zh/wiki/HTML5/impl#.E8.BC.B8.E5.85.A5.E4.B8.B2.E6.B5.81

>    規範實做註解也比較相關。
>    - 刪減一部分篇幅
>    - 重點粗體顯示

OK,已更改。

> 看個意思就好 我還在上班也不會花很多時間斟酌

沒關係,總之花幾天醞釀一下。

> 這個計畫總地來講我還蠻有興趣的 對我這類人(不太寫,但確實想知道問題在哪裡,以及怎麼協助開發者修補東西)會很實用。

感謝你的支持啦,當然也歡迎你就「如果某台灣公司(或是一般中文相關企業)要
開發 WebKit,它大概會開發哪個部份...」這個部份提供想法,畢竟這是我為什麼
會想做這個實現註解裡面很重要的部份,總是希望這個計畫最後能派上一些用場
(除了讓自己送補丁以外 :p)。目前覺得 Device API 這些大概是很重要,比較
遺憾的是這些離 HTML 規範比較遠一點。當前我的目標是 <video> <audio> 的這
塊,因為跟華為的視頻流、IPTV 這些比較相關,你有什麼想法也歡迎提供啦!

我把一些跟這個計畫有的沒有的想法再多跟你講一點,有些太囉唆或是太長遠的我
是覺得寫進寄給 TOSSUG 的宣傳稿不太妥當...

* 做實作翻譯這個事基本上不是特別創新的想法,之前有人做了一份 <canvas> 規
範的「測試版」[2],意思是規範裡的基本上很多部份都連到測試這些規範敘述在
某個瀏覽器下正不正確的測試資料。因為一份標準的完成基本上就是有兩個瀏覽器
滿足一份規範的所有敘述這樣。

[2]
http://w3c-test.org/html/tests/submission/PhilipTaylor/annotated-spec/canvas.html

* 從規範敘述連到原始碼就更...暴力了,我是不覺得比前者難就是了,不過比
HTML 規範翻譯更有愚公移山的感覺。

* Ping 或是很多人有講過說我們不應該只翻譯,要做點新的東西,基本上實現註
解是新的東西,至於外國為什麼沒人做這類的事,如果拿去 #whatwg 問的話,大
概只會得到「因為你沒開始做」這種開源社群的標準答案,當然也可能是這種作法
會造成實作過度依賴規範這種不好的結果,又或是這種作法缺少效率吧。老實說,
我有想過跟國外合作(基本上就是 #whatwg)的可能,不過至少這個實作註解的成
果如果是英文的話肯定不能放 W3C 網站,畢竟這個東西完全傾向開源的瀏覽器,
對 Opera、IE 等等瀏覽器有不公平之嫌(不過目前反正用中文被說話的機會比較
小一點)。另外就是總是希望透過實作註解學到東西的人是中文世界的人 :p

* 有關於「協助開發者」的部份,目前的作法當然能協助的「開發者」就是瀏覽器
開發者,而且是 Web 標準這一塊(換句話說,在中文世界裡基本上沒有人)。其
實我是希望對 F2E 比較有經驗的人能再想初一些更能善加利用這個規範翻譯成果
的各種註解方式,像是舊瀏覽器的各種兼容情形、新功能的實作情形之類的。畢
竟,HTML 規範裡面有一個 Web Developers 的版本[3],就是從本來的規範裡切出
來的。(不知道這樣說會不會惹你生氣,不過之後強烈歡迎 Mozilla Taiwan 來
W3C HTML5 中文興趣小組主導這類的計畫)

[3] http://developers.whatwg.org/

* 給 TOSSUG 的宣傳稿裡面,我本來是有想要寫「HTML 規範還定義了某些基本的
演算法,像是不分大小寫比較字串之類的(HTML 比較屬性之類的東西不分大小
寫),透過這個實作註解,剛寫程式的朋友可以點這幾個連結就知道大型專案裡這
麼基本的方法是怎麼實作的」之類的從教育上解釋實現註解的好處,不過我覺得對
TOSSUG 的人來說好像有點扯淡,月底我去中研院演講再用這種宣傳方式好了...


目前就先這樣啦,TOSSUG 試過之後我可能還會多透過一些社群,包括 h4、上海開
源社區或是一些私信宣傳吧,有什麼宣傳上的點子或是這個計畫在執行上的意見歡
迎繼續提供啦!


> ~Bob

~Kenny
各位 TOSSUG 的 hacker 們大家好:


這裡想跟大家介紹 W3C HTML5 中文興趣小組關於 HTML 
規範實作註解的線上計
畫,並鼓勵各位踴躍參加。

== 什麼是 HTML 規範實作註解計畫?==

這是由 W3C HTML5 中文興趣小組的 HTML 
規範翻譯延伸出來的一個計畫,基本上
就是把規範裡面的某些部份(在極端的情形下是每一行)直接連到瀏覽器實作的原
始碼的某些部份(範例:[2],請點各瀏覽器圖示)。這裡原始碼使用的連結樣式
如下:

Gecko:
http://hg.mozilla.org/mozilla-central/annotate/945f64763a70/content/html/document/src/nsHTMLDocument.cpp#l823
WebKit:
http://trac.webkit.org/browser/trunk/Source/WebCore/dom/Document.idl?annotate=blame&rev=99612#L21

也就是在創造連結當下的最新版本的某一行,用「當下最新版本」而不是「最新版
本」是避免行數在新的版本中會改變,而用「當下最新版本」基本上就是為當時的
原始碼照張像這樣。

[2]
http://www.w3.org/html/ig/zh/wiki/HTML5/impl#.E8.BC.B8.E5.85.A5.E4.B8.B2.E6.B5.81

== 為什麼要做這樣的事情?==

=== 理由零 ===

作為一個業餘人士,我目前透過這份規範翻譯 + 
實作註解已經貢獻了 Gecko +
WebKit 了關於 CSS 
實作的三個小補丁。歡迎大家用業餘的時間來 hack
Gecko/WebKit 一下,送個補丁,貢獻 Web 
標準並給自己的技術人人生添加一筆。

=== 理由一 ===

幾個月的觀察下來,我發現 Gecko 跟 WebKit 
在台灣並沒有開發者,我想這個主
因當然是商業理由。再來就是大型的專案本來要切入就不是很容易,Gecko/WebKit
的文檔也不夠詳細。

商業理由一個小小的 hacker 
基本上沒什麼辦法改變,但是在文檔上面,我認為
HTML 
規範實際上本身就是相當好的瀏覽器規格書。畢竟這份規格書就是反編譯
 IE
的成果與 Gecko/WebKit 願意實作部份的交集。

透過這份規範可以同時掌握世界上大型開源專案前幾名中的兩個專案
 — Mozilla
與 WebKit。如果之後有幸做 HTTP 
規範的實作註解的話,說不定還可以加上
Apache。我在 COSCUP 聽 Linux Kernel 的 Talk 講說《Lions' Commentary on
UNIX》是 Linux 歷史的起點,那我相信 HTML 
規範也一定是瀏覽器歷史上相當重要
的一個里程碑。

=== 理由二 ===

我想短期之內台灣都不太有機會做 WebKit 
做全職的開發者(整個 Adobe 做
WebKit 全職的也只有兩個人),如果只是做暫時的 Gecko/WebKit 
開發,能夠快
速的找到要開發部份的原始碼就變得很重要。

我常常聽到大陸 WebKit 社群的朋友在問「JS 
的切入點在哪?」「要擴展 window
物件怎麼做?」之類的問題,希望之後這個規範實作註解能夠把這種問題的答案記
載下來。

所以目前現有的實現註解已包括 JS 裡面 window、document 
物件所用的 IDL,這
樣要找擴展 window、document 
的方法就有個起始點了。任何商業公司如果有「如
果我要開發 
WebKit,我大概會開發這個部份...」的計畫的話,歡迎跟我們說,我
們可以先行做那個部份的實作註解。

=== 理由三 ===

之前 pingooo 
在提到說要辦中文排版相關的工作紡的時候,有說下午要來個
WebKit hackathon 
來解這些問題,老實說我覺得這完全不可能,光是定位相關的
程式碼可能就要花一個下午了...

那時候是覺得如果要辦這樣的活動,事先的準備中一定要先定位出問題程式碼在哪
裡,所以這也是我現在做 CSS2.1 
實作註解[3]的一個目標(不過我不能保證我會
不會定位出問題就手癢送補丁了 :p)

[3] http://www.w3.org/html/ig/zh/wiki/CSS2/impl

== 如何參與?==

我們採 wiki 自助式:

1. 
上W3C註冊帳號頁[4]註冊帳號、記得不要用中文(抱歉、W3C的系統不是很有國
際觀)
2. 找想翻譯的段落、看看[5]的對照表有沒有重復
3. 
開始翻譯!有wiki的問題歡迎私下問或是在列表或是討論頁詢問

如果想要註解的實作部份尚未有中文翻譯,也歡迎自己先找個地方做英文版規範的
實作註解,之後在統合一下。

就像上面講得,如果有商業公司有未來願意開發 WebKit 
哪個部份的情報可以先告
知一下的話,我們可以先看那個部份的程式碼。

其他交流管道:
* W3C HTML5 中文興趣小組郵件群[6]
* irc.mozilla.org #mozilla-taiwan(我是 MozTW 
社群成員,但是本專案與
Mozilla Taiwan 無關)
* QQ HTML5 翻譯群,群號:151145242
* 私信

[4] http://www.w3.org/Help/Account/Request/Public
[5]
http://www.w3.org/html/ig/zh/wiki/Talk:HTML5/impl#.E8.B2.A2.E7.8D.BB.E6.8F.90.E5.A0.B1



呂 康豪(Kenny), 中文興趣小組W3C連絡人, Amateur Gecko/WebKit 
Contributor
Google+: https://plus.google.com/112088462407783855918/posts
新浪微博: http://t.sina.com.cn/1950042164

Reply via email to