October 30, 2008
「考量到自由軟體授權的軟體系統規劃 -- 如何借力使力與避開爭議」簡報上線

週二 (Oct 28) 應 DigiTimes 之邀,分享講題為「
考量到自由軟體授權的軟體系統規劃 -- 如何借力使力與避開爭議」的演講,簡報檔案已上線,可參考 [
application-with-open-source.pdf]。
在這議程中,切入「借力使力」前,先反思軟體的範疇:本體是電腦程式,但伴隨著作權 (聲明)、法律與合理專利使用 (執行的行為)。重點在於,掌握 copyright holder 的行使權利的範圍,並依據通行的 Law 來解釋其「具體行為」,首先,考量點為「商業模型」(business),並非 License 本體。再者,回顧工程技術的使用,是否樹立爭議點(侵權事例),最後才是回顧授權內容,因為行為勝過一切。議程則搭配了 Linux Kernel, FreeType, Qt, MySQL, FFmpeg 等知名開源專案為案例,強調「行為」的影響與其背後值得思索的議題。
第二部份則是闡述「如何避開爭議」,則探討分析問題並規劃的重要性。系統規劃有三大原則:
尊重技術的「來源」是重要的態度,並且,合理地對系統作隔離,無論是技術,抑或產品開發來說,都該有足夠的認知與施行規範。
感謝與會者的指教,也歡迎討論,謝謝!
由 jserv 發表於
09:31 PM
|
迴響 (0)
October 05, 2008
Novel-PinYin : 基於自然語言處理的拼音輸入法
前一篇 [
新酷音進度報告 6
] 即提過 [
Novel-PinYin],本文再補上一些資訊。Novel-PinYin 的開發者是任職於 Novell 的吳鵬 (Peng Wu,網路代號為 "epico"),與 SCIM 輸入法架構的作者蘇哲共事過,特色是完整的拼音輸入支援,包括不完全拼音的快速比對,採用類似 Sun PinYin 的 bi-gram 的自然語言處理引擎,提昇字詞比對率。
就目前的實做來看,Novel-PinYin 包含以下子項目:
- Pinyin Parser : 由蘇哲撰寫的拼音解析器,同時支持若干種雙拼方案,包含 Microsoft 雙拼
- Storage : 以 Berkeley DB 處理 N-gram 的資料
- Training : 在實驗原型系統中,透過參數來淬鍊語料庫
- Lookup : 候選字詞查閱與選擇
- Self-Learning : 在最終輸入 (commit) 時,學習使用者偏好的字詞
- novel-imengine : 與 SCIM 銜接的 IMEngine
為了避開詞庫版權爭議,選用 [
CEDICT] (Chinese-English Dictionary) 詞庫和 scim-pinyin 的字庫,而在 Data Smoothing 的演算法處理上,在實驗原型中實做 Back-off 和 interpolation。語料庫為自然語言統計處理方法提供了更多可能,統計方法則推動了語料庫語言學的發展,所以,在如此的基礎上,我們得以:
- 發現語言使用的普遍規律
- 進行機器學習,以自動擷取語言知識
- 對未知字詞進行推測
基於效能考量,前期採用最單純的 cut-off prune (比 Sun PinYin 的模型更加簡化),後期計畫採用以 distribution 為基礎的演算法。輸入法本身暫無使用者自定義詞庫的功能,但支持自動學習,現有兩個詞庫:gb 和 gbk。
以下是 Novel-PinYin 0.2.3 的 test suite 參考結果:
$ ./test_simple_lookup
huangjingqun
Spent 105324 us for 100 operations, 1053.240000 us/op, 949.451217 times/s.
pos:0,token:16779717 pos:1,token:16780842 pos:2,token:16783543
黄敬群
上為在資料庫中給定拼音,作候選字詞查閱。
$ ./test_parser
Input:huangjingqun
Parsed 12 chars, 3 keys:
huang jing qun
0 5 5 4 9 3
ㄏㄨㄤ ㄐㄧㄥ ㄑㄩㄣ
Input:
上為測試拼音解析器,也支援注音符號輸出。
$ ./test_pinyin_index
huang
Spent 4339 us for 1000 operations, 4.339000 us/op, 230467.849735 times/s.
start:16779717 end:16779718
黄 huang2 20546huang 3
start:16779698 end:16779703
荒 huang1 4801huang5 3
巟 huang1 3
衁 huang1 3
慌 huang1 4026huang5 3
肓 huang1 71
...
上為查閱給定的拼音對應的字,包含音調的輸出。
由 jserv 發表於
12:29 PM
|
迴響 (3)
新酷音進度報告 6

《少年小樹之歌》一書中寫道:
「當你發現美好的事物時,所要做的第一件事,就是把它分享給任何你遇見的人。這樣,美好的事物才能在這個世界自由地散播開來」
四年前與一群朋友合作,整合開發資源,重建 [
新酷音輸入法計畫],如今已以自由軟體的形式,在世界上自由地散播開來,的確始料未及,謹此對所有參與開發、討論交流,與使用輸入法的先進朋友們,致以感激之意。
兩年沒有發佈正式的釋出版本後,日前終於釋出 libchewing 0.3.1 與 scim-chewing 0.3.2,同時我們也決定了未來的開發方向。關於新酷音主體的 libchewing,其開發模式將切割為兩個分支:
- libchewing 0.3.x (發展代號: kanruru) : 延續既有的功能,以 unigram 作為 language model,強化漢語拼音、候選字詞處理、詞庫詞條與詞頻的維護、跨平台支援、特殊符號輸入與操作模式等等。在此分支中,也會檢視 API 與資料結構設計,已做了些許調整,API 與 ABI 也有 breakage,待穩定後,會成為 libchewing 0.4.x 穩定版本。"kanruru" 不僅是個可愛的 codename,也表示 Kanru Chen 目前正著手維護此分支
- libchewing 0.5.x (發展代號: beeboo) : 以 uni/bi-gram 自然語言處理為核心的全新設計。透過語料庫處理,從而語料中統計並斷詞,在保存關鍵詞候選集並統計詞頻後,可一系列的篩選過濾,提昇 libchewing「猜字」的準確度。此設計中,注音與 (有調) 拼音是同一個層次,實做上會以廣泛使用的 [GLib] 來處理資料結構與演算法,並引入 [GNU dbm] 或 [Berkeley DB] 作為資料儲存與操作之用
在 [
新酷音輸入法::開發者討論群組] 已多次討論及詞頻、詞性、HMM (Hidden Markov Model) 等議題,同時,[
Sun PinYin] (可比擬為簡體版本的國音 / 自然輸入法,由 Sun 工程團隊維護,授權模式:CDDL / LGPL 2.1) 與 [
Novel-PinYin] (以 HMM 為基礎的拼音自然語言輸入法,由 Novell 北京工程師維護,授權模式:GNU GPL) 的公開釋出,給予頗大的鼓舞,新酷音開發團隊的成員也逐漸與 Sun 及 Novell 工程團隊交流,這也是 libchewing 0.5.x 分支的技術基礎。
以發展里程碑來看 libchewing 0.5.x 分支,大致分為以下:
- Milestone 0 - 分析 Sun PinYin 與 Novel-PinYin 設計,並嘗試處理注音和拼音對應議題
- Milestone 1 - 以 tsi.src (新酷音原本的詞庫) 來協助產生有聲調的 bi-gram lexicon,以銜接 Sun PinYin 工具,同時,lexicon 及 n-gram 繁體中文化也要處理
- Milestone 2 - 抽詞及斷詞工具 (semi-supervised or unsupervised) + API 整合 (來自 libchewing 0.3.x/0.4.x)
- Milestone 3 - 更廣泛地 IM 整合與重用
在 wiki 頁面 [
SunPinyinHackNote] 中,lexicall 已著手對 Sun PinYin 做了初步研究並紀錄細部的資訊,最近也會試著用更具體的方式整理。可想而知,這些發展對開發團隊來說,的確是不算單純的新挑戰,但,終究得透過更好的技術與開發模式,讓更多使用者受益,當然,我們永遠歡迎新血的投入,諸如 Programming / Debugging / Testing / Bug-reporting,抑或 Art Design -- Logo, Icon, Website, Documentation 皆需要熱心人士協助,謝謝!
由 jserv 發表於
03:06 AM
|
迴響 (1)
October 02, 2008
演講:考量到自由軟體授權的軟體系統規劃 -- 如何借力使力與避開爭議

本 (十) 月 28 日,小弟將應 DigiTimes 之邀,出席 [
善用開放源碼 強化『軟實力』] 研討會,為與會的來賓分享「考量到自由軟體授權的軟體系統規劃:如何借力使力與避開爭議」的主題。以下是簡要的資訊:
- 活動時間:2008年10月28日(二) 15:30-16:20
- 會議場地:科技服務大樓14樓 創新廳 (台北市民生東路四段133號14樓)
- 簡介:軟體一開始僅是硬體的附屬品,但歷經這幾十年的蛻變,成為一門兼顧廣度與深度的新興工業。無疑地,軟體系統背後有相當多需要考量的議題,而近年來量多質優的自由軟體導入後,更使得此產業有了不同的面貌,即使是軟體巨人如 Microsoft 者,也不得不思考:善用自由軟體資源,借力使力以加速專案開發與強化整體品質。這其中不全然僅是技術議題,更是由自由軟體多元的授權條款與法律議題之驅使,進而更動到軟體系統的架構。本議程即以技術開發者的角度切入,談論如何透過良好規劃的設計,消弭可能的授權爭端,並延攬優秀的自由軟體資源。
更具體來說,因為產品的技術複雜度已達到不可輕忽的地步,所以導入成熟的自由軟體,但往往加劇人們除了技術以外的不安因素,特別是有別以往的授權條款、潛藏的專利限制、商標侵權議題等等。缺乏這方面的業者,無形中也亂了方寸,傷透工程與法務部門。
所以,本議程以一個過來人的身份,試圖引導與會者重回產品設計開發的本質,藉由分析箇中利弊與探討已知案例,最低限度達到「如何借力使力與避開爭議」,期待您的指教,謝謝!
由 jserv 發表於
11:51 PM
|
迴響 (0)
October 01, 2008
Qtopia 再度更名為 "Qt Extended"
產品的更名,背後不免反映一些事實。今年六月份,Nokia 宣佈成功併購位於挪威的 Trolltech,並整合旗下 Qt 產品線到 Nokia 的裝置中。就如 LinuxDevices.com 的新聞 [
Trolltech and Qtopia rev'd and renamed] 指出,現在 Nokia/Trolltech Qtopia 再度更名為 [
Qt Extended],表示奠基於 "Qt Software" 的完整應用程式集合。
下圖揭露現在產品線的大體示意:

歷經三次 (2005 年底、2008 年上半、2008 年下半) 的更名,Qt 系列產品已叫人眼花撩亂,筆者試著整理名稱術語的變化:
- Desktop Toolkit:
- Qt/X11 -> Qt for X11
- Qt/Win32 -> Qt for Windows
- Qt/Mac -> Qt for Mac
- Embedded Toolkit (API 幾乎與 Desktop 版本一致):
- Qt/Embedded -> Qtopia Core -> Qt for Embedded Linux [注意:這是 Trolltech 最重要的產品線之一,指的是 Library 本身,而不是「應用程式集合」,儘可能保持 Qt API 在跨越平台的相容性]
- Qt for Windows CE
- Application Suite:
- QPE (Qt Palmtop Environment) -> Qtopia 1.x [注意:QPE 的版本號從 1.0 一直發展到 1.4,後來 1.5 版則更名為 Qtopia]
- Qtopia 1.x -> Qtopia 2 -> Qtopia PDA Edition / Qtopia Phone Edition [注意:Qtopia 2 以來,分為 PDA 與 Phone 兩大分支,與其搭配的 Qt/Embedded 就是 2.x 版本。儘管有 Qt/Embedded 3.x 推出,但沒有 Qtopia 3,而是直接跳到 Qtopia 4.x,此同時為技術與市場策略考量]
- Qtopia 4.x Phone Edition [注意:PDA Edition 此時已是一種 "Phone" 的組態] -> Qtopia [注意:表示與 "Qtopia Core" 的階層關係,並且同時於一個釋出版本中涵蓋 GSM/WiFi Phone,顯然是市場定位考量] -> Qt Extended
至於詳情,可參閱 Nokia/Trolltech 與前述 LinuxDevices.com 的新聞頁面,既然正式更名,咱們日後要留意。
由 jserv 發表於
11:46 PM
|
迴響 (0)