Email me: jollen # jollen.org

more: Jollen 的 Embedded Linux 教育訓練

« March 2008 | (回到Blog入口) | May 2008 »

April 2008 歸檔

April 8, 2008

「開放式手機平台論壇」會後手札

臺灣大學系統晶片中心(System-on-Chip Center, National Taiwan University)今天舉辦「開放式手機平臺論壇」研討活動,此活動邀請產研界的多位先進,以談話方式針對開放式手機平臺進行看法分享與意見交換。

去年自從Google公開發表「Android」平臺與OHA聯盟現身後,開放手機平臺的概念開始被大量討論,並且受到極大的重視。今天的活動當然也是將主軸放在Android平臺上,由會議中的討論,很明顯地感受到各界對於開放手機概念的重視,許多人對於Android也有高度的期許,希望新概念的出現,能產生新的機會與商機。

已經感冒超過二個星期了,惱人的咳嗽久久不能停止,連講話都有點上氣不接下氣,不過還是很認真地在會場聆聽多位先進的看法。順手寫上一點手札,整理下來和大家分享。最後也加上一點個人看法,請參考指正。

「工研院資通所 林寶樹所長」提到,Android可以幫助廠商減少在軟體方面的投資。而台灣廠商面對未來的開放式手機新挑戰,將會是手機「外觀」與「界面」的議題。此外,開放手機平臺將能整合WiMAX並產生新的服務。林所長也提到,在open source community & project這裡,尚未找到成功的開放手機案例。

「台大資訊系 林風教授」是很資深的行動網路應用研究者,實務上也有很完整的經驗,林教授提到,在他過去的研究經驗中看到,「security」會是開放手機平臺一個重要的議題。「凌陽 林文昌副總」以技術角度分享了一些有趣的看法,林副總認為,從IC design house的角度來看,太多的open source軟體對他們來說也是一種負擔,porting的工作以及來自於客戶端的要求,經常成為沈重的負擔。

「資策會網多所 何寶中所長」表示,「Google的企圖是建立新的手機產業鍊」,何所長也針對台灣完整的產業鍊,提出一份「台灣版OHA對照表」,試著從台灣本土的廠商組織出「台灣版的OHA」,這是個有趣而且值得深思的看法。

「聯發科技 張志偉特助」以比較結論的方式發表看法,同時也大略介紹了聯發科技在手機的佈局,聯發科技在3G與smartphone上也會有些著墨,例如WiMAX phone以及DVB-H的roadmap。

前陣子,與Openmoko的CEO ‘Sean’討論了一些關於Linux手機的研發成本議題。開放手機採用Linux作業系統核心,不管是Openmoko或是Android都是採用2.6的Linux核心,但大家對於「Linux手機」卻有一種「美麗的誤會」,這是建立在「Linux是免費的」(正確來講是自由的、不是免費的)刻板映像上。但使用「開放」的手機平臺,是為了尋找新的機會,更明白來說,是為了建立或尋找新的商業模式(business model)。

「台大系統晶片中心 陳良基主任」一開始也提到「open source需要Q.C.」的技術,才能導入產品化。原因是,大多數的open source軟體都是玩家為了證明一些觀念所實作的程式碼,要將這麼多的open source project成果整合成一個平臺,在此平臺上開發應用程式,原本就不是一件簡單的事情,若要再將這個open source平臺整合到「裝置」上(產品),則需要更多的know-how與工程技術,才能讓軟硬體整合無間。

這些都是使用「Linux」來開發手機,需要付出的成本。

所以說,使用Linux並不是為了降低成本,事實上無形的工程成本是相當龐大的。過去,Openmoko也針對這個部份做了計算,若要將open source的成果整合成開放式手機平臺,並且生產手機,要付出的工程費用,單位是「億」。

使用Linux並不能讓你的研發成本降低。簡單來說,就像在玩樂高積木,你用積木堆出一台酷炫的機器人,但卻希望明天他就變成會飛的無敵鐵金鋼。玩具終究還是玩具,我們可以用樂高堆出「概念」,但要做出一台無敵鐵金鋼,這又是另當別論。

「嵌入式產業聯盟 盧功勳」會長也不約而同提到「Q.C.」是open source模式的重要一環,Q.C.是產品化的技術,也是軟硬體整合技術的領域。

Android的出現是一件相當好的事情,許多廠商能在這裡找到許多新商機,並且也能激發更多的創新服務。Google台灣工程研究所的簡立峰所長,是今天的神祕嘉賓,簡所長今天也以「非官方」身份提到,他認同「台灣是Android最佳的合作伙伴」這件事情。Android能帶出許多新的機會,這是與會先進都認同的想法。

「Works Systems」的CEO ‘Tom’就是由「服務商」的角度來分享開放手機平臺所帶來的新機會,例如透過Android開發’location-based’的服務。

會議上,Openmoko也分享了一些看法。開放手機除了「一個技術平臺」外,相對重要的元素還有「使用者經驗(user experience)」、「使用性(usability)」與「設計(design)」。使用性就是UI的設計,開放手機與smartphone最重要也是新的挑戰就是UI的設計,資策會網多所的何所長就提到「使用Android平臺必須還有一些差異化」才能找到新機會,「差異化」可由UI做起。

設計(design)這個環節在這次會議中,比較沒有被討論到,不過這卻是開放手機另一個重要的元素。工研院資通所林所長就明白提到,手機「外觀」會是開放手機一個重要的項目,也是廠商的新挑戰。這裡所指的設計,就是ID(工業設計)。Openmoko很久就體認到設計的重要性,因此做出了「開放設計」的大膽嘗試,在今年的二月份,Openmoko將其手機的機構設計原稿(CAD)以創用CC授權公開給社群使用,結果效果出奇地好,很快地就收到來自於社群的回饋。

開放手機是一個新觀念,也是一個新挑戰,不妨以新的腦袋來思考,除了「長知識」外,也增進工作樂趣。

延伸閱讀

2008.02.14: OpenMoko 對 Android 的「官方」看法
2007.12.02: Google Android 採用 Apache License: 為什麼不是 GPL?
2007.11.09: Android 與 Gphone 觀察
2007.11.08: ABC News 報導 OpenMoko

April 12, 2008

開放手機:談中國市場的機會

開放手機的新機會在中國。過去在日記「開放手機:Linux Mobile Phone」與「開放手機:談東方開源」中提到:「拿掉開放手機這件事不說,中國手機市場,不管是低價或高階手機,都已經被國際大廠佔據,很難從中再找到發揮的空間。」、「中國白牌與黑牌手機的特殊市場,更把中國手機的市場空間壓縮得更小」。

這幾天,恰巧也有新聞指出:「大陸主流手機 台品牌廠全面撤退 難敵國際大廠 紛轉戰智慧型手機」。中國手機市場龐大,相當迷人,但進去走一遭卻發現這個市場的困難度。中國人口眾多,「一人買我一顆包子就夠了」形容中國市場「到處是錢潮」,可是手機廠在這裡卻履踢鐵板。解決策略是什麼?

以下就市場機會與開放平臺二個方向,發表一些個人想法。

市場機會

「透過開放平臺的Linux手機,在更低價手機端(高度一致性的軟硬體平臺),或是不同市場需求的高階手機市場,會是一個很好的機會。」幾天前在台大晶片中心所舉辦的「開放式手機平台論壇」中,主持人陳良基主任也提到「透過開放式手機進入中國的中低階手機市場,會是一個很好的機會」。

由於中國的手機市場已經是國際大廠的天下了,所以採取弱者策略應是中小型手機廠可參考的做法。怎麼樣的廠商叫中小型手機廠?如果不是在中國的這幾個國際大廠,當然就屬中小型廠商。幾百萬支的量,在中國也不算是大規模。以Openmoko來說,這本來就是一家小規模的手機公司,放到中國,只能以「微型企業」自居,所以行銷策略的目的並不是在搶市佔率,而是建立一個屬於自已的小天地。

高階中階低階手機,在這裡都會有機會。不過,「不同市場需求」的高階手機,會是比較容易的一個方向。所謂的不同市場需求的高階手機,就是「差異化的smartphone」。

開放平臺

從事開放手機的工作,最好可以將「積極尋求open-source社群」協助列為主要的經營策略之一。透過open-source社群、集結眾人智慧、快速累積成果與經驗、建立使用者驗體管道、收集使用者經驗等,都是「開放手機平臺」的新革命。

開放手機是一門「使用者生產」的藝術, 如果只是將Android當作是一個「快速的」、「降低研發成本的」、「免費的」、「現成的」手機平臺,就會忽略掉開放平臺最重要的資源與最強大的武器,就會有一點點可惜囉。正因為社群是「協作」模式,所以有時會感覺到「生產過程缺乏組織與條理」,這個部份,肯定違背專業經理人的思考原則。社群發展原本就是比較「抽象」的藝術, 跟科技的「具象」思考不太一樣。有些時候,就要調整自已的想法,或是建構新的思惟體系,才能適應。畢竟,看似沒有條理的一些行動,最後都可能連結成一股強大的力量。

開放平臺的open-source ecosystem,能協助產品差異化的進行,並加速創新流程。不管是外來廠商,或是中國本土的手機廠,開放平臺都是一個很好的新機會。

April 20, 2008

[教育訓練紀錄] 關於驅動程式的 private data 與可重覆進入函數

今天進行 Linux 驅動程式的教育訓練課程,課堂中提到「多個 process (/dev/debug[0..n]) 同時 invoke 同一個驅動程式 (fops) 的架構觀念與程式設計」,我們也做了一個課堂練習。這是 Linux 驅動程式架構上,很重要的一個觀念。

Private Data and Reentrant Function

如圖,當 P 與 Q 二個 process 同時在系統裡執行時,因為開啟的裝置檔不同,因此 kernel(VFS switch)會分別為二個裝置檔建立一個 struct file 的資料結構空間。因為二個裝置檔的 major number 相同,因此如果 P/Q 同時(或非同時)執行 write system call 時,都會引用(invoke)到同一份程式碼(即圖上的 xxx_write)。

VFS Switch 在 callback xxx_write 時,便會將「正確的」struct file 結構傳給a write driver function,即圖中的 filp 指標。如此一來,xxx_write 函數便能「重覆進入」:computation code 一份,但有二份獨立的 data (memory space)。

struct file 裡設計了一個稱為 private_data 的欄位,用來指向「私有資料」,即保存個別 user process 狀態的資料結構。這是在 Linux 驅動程式中很常見的程式結構,當然也是一個「不可不懂」的觀念。`

延伸閱讀

* 2006.09.20: 一篇有關 Reentrant Code Program (可重覆進入程式碼) 的文章


April 22, 2008

iPhone 改變工程師設計嵌入式裝置的思惟

嵌入式系統發展的標準化平臺正在加速進行。嵌入式裝置的確和桌上型系統(desktop)很不一樣,iPhone 的成功展示了以使用者為中心(user-centered)的設計模式,Patrick Mannion 稱 iPhone 是一種軟體設計的工藝(feat)。(*1)

去年(2007年)十月份於 San Francisco 所舉辦的「Mobile 2.0」研討會上,討論了「Mobile 2.0」(例如:開發式手機平臺)的三大重要課題:user experience、usability 與 design。user-centered 設計模式即是一種收集使用者經驗,並透過使用者經驗工程,設計使用性(usability)更佳的操作介面(UI)。UI 的設計是使用性的重要一環,iPhone 的 UI 設計已經不用再多說了,使用性要佳,裝置必須更聰明(smarter)。應用程式之間是否能緊密地整合,是決定使用性良劣的另外一個重要的因素,「緊密整合」稱之為 coherence 而不是 integration。

Coherence 才能讓裝置更聰明,而不是 integration。

一般的嵌入式裝置都有多層的應用程式架構(layers),也有很多功能層,將許多不同的程式庫、軟體元件等整合在一起,稱之為「integration」,並不是 coherence。甚致,目前的嵌入式裝置雖然有複雜的多分層設計,但之中完全沒有緊密性(coherence)可言。

「iPhone 是一項偉大的創舉與成功,它全部都是軟體。它是一個開放標準(open-standard)的平臺、很可靠,並且有很好的 user interface。」(*1)

iPhone 是一個「以使用者為中心的設計典範」並且強力展示了「嵌入式軟體的設計工藝」。要把軟體設計得較複雜,很簡單!但要把軟體設計簡單化,就不容易了!這就是 iPhone 軟體工藝技術的表現。在莫耳定律的影響下,科技業無不卯足全力提升技術,並加速創新流程,但「Apple 則是很滿意他的慢步化表現」(*2)

[1] iPhone nudging embedded design toward standard, http://www.eetimes.com/showArticle.jhtml?articleID=207400109
[2] iPhone impacts CE design, http://www.macworld.co.uk/ipod-itunes/news/index.cfm?newsid=21035&pagtype=allchandate

April 24, 2008

Qt 4.4 在 Neo1973 與 HTC Touch Cruise 上展示 iPhone-Like 介面

前一篇日記「iPhone 改變工程師設計嵌入式裝置的思惟」提到 iPhone 在 UI 方面的卓越表現。稍早前,[Trolltech Labs] 發表一項新的實驗項目:新的 Qt 4.4 已經可以在 Windows Mobile 以及 Embedded Linux 二個平臺上執行了。

neo1973_iphone_ui.png
(圖片來源:http://dist.trolltech.com/video/wince/qtembedded44video.html)

Trolltech Labs 提供一段 demo 影片,Windows Mobile 平臺使用 HTC Touch Cruise 手機,Embedded Linux 平臺則是使用 Openmoko 的 Neo1973 手機。不過,最引人注目的不是「Qt Everywhere」的表現。新的 Qt 在 UI 方面最令人驚豔的是它的「iPhone like graphics」。

我們都知道,未來的智慧型手機開發方法論,會是以使用者為導向的一個體系,包含如何讓應用程式之間更緊密地結合(coherent)以及如何提昇使用性(usability),因此 UI 將會是決定這個部份的關鍵。Nokia 在收購 Trolltech 公司後,在 UI 這一段看來已經有一些不錯的成果了。

April 30, 2008

嵌入式系統廠商不能不懂的自由軟體授權 GPLv3

Richard Stallman[1] 是 Free Software Foundation[2](自由軟體基金會)的創始人。FSF 成立於 1985 年,致力於爭取電腦使用者的軟體使用自由。Richard 也在 1989 年寫出了第一個 GPL (GNU General Public License)[3] 條款,並在 1991 年 6 月份時釋出 GPLv2(GPL version 2)。

GPL 是現今最重要的 Free and Open Source Software(FOSS)授權條款,至今有超過 60% 的自由軟體都是採取 GPL 授權規範。因應時勢需要,GPLv3 在經過長時間的討論後,也於 2007 年 6 月正式釋出。由於過去的 FOSS(Free and Open Source Software)是採用 GPLv2 授權,因此在 GPLv3 釋出後,大家最關心的便是 GPLv2 與 GPLv3 的差異。由於 GPLv2 與 GPLv3 是不相容的,而且目前資訊工業也大量採用 FOSS 解決方案,再加上嵌入式系統(Embedded System)的應用所帶出的「firmware 與 hardware 不可分割」議題,因此不管是軟體開發商或是嵌入式系統廠商,無不積極針對相關的法律議題進行了解,以釐清 GPL 在商業運用方面議題。

中研院「自由軟體鑄造場」在今年三月份舉辦「自由軟體法律研討會:嵌入式應用專題」[4],當天有許多台灣的科技大廠以及政府單位參與,可見大家對自由軟體法律問題的重視。對商業運作而言,特別是嵌入式系統廠商來說,GPLv2 與 GPLv3 的議題會是最重要的部份。了解 GPL 授權規範,以及釐清 v2 與 v3 的差異,將是當前最重要的功課。

Richard Stallman 也親自寫了一份「Why Upgrade to GPL Version 3」文件 [5],向大家說明 GPLv2 與 GPLv3 的主要差異。大致整理 GPLv2 與 GPLv3 的主要差異如下:

* GPLv2 與 GPLv3 是不相容的,沒有法律上的方式將 GPLv2 的程式碼與 GPLv3 的程式碼組合成單一程式。

* GPLv2 與 GPLv3 都是「copyleft」的授權,在自已的程式裡引用使用此授權的程式碼,則自已的程式同樣要引用相同的授權。

* 只在我們需要連結(link)、合併(merge)或組合(combine)二個不同授權的桯式成為一個單一程式時,才會引發授權不相容的議題。但是,GPLv3 的程式與 GPLv2 的程式在一個作業系統裡各自執行時,就不會有什麼問題。例如,TeX 與 Apache 授權都是與 GPLv2 不相容的授權,但我們仍可以在同一個系統裡執行這些程式。因為這些程式都是獨立的程式。又如,如果 Bash 與 GCC 都改採 GPLv3 授權,但 Linux 仍然採用 GPLv2 授權時,這也是沒有衝突的。

* 解決「tivoization」問題。有些裝置以硬體的方式限制使用者,讓使用者無法在該裝置上執行經過修改的軟體。像是 DRM(數位內容管理 - Digital Restrictions Management),如 DVD 撥放器,就會限制 DVD 的撥放。但 GPLv3 並不是想禁止 DRM 的使用,而是確保使用者能有修改軟體的自由,例如:加入一個功能到軟體裡。

* 試圖解決軟體專利問題。但目前仍然無法有效地單獨以 GPLv3 解決此問題。

* GPLv3 與 Apache 授權相容。

原文法律條文有點艱澀難懂,這裡有一份社群協作的「GPLv3 中文翻譯」: http://wiki.debian.org.hk/w/GPLv3, 或許可以提供一些幫助。Richard Stallman 去年接受 Linux Link Tech Show 的訪談,也親自說明 GPLv3 的觀念,值得一聽。

許多嵌入式裝置,如:smartphone、router、media player 等,都廣泛使用 FOSS 做為解決方案。因此,當我們不斷討論自由軟體與開源軟體在商業化的應用時,GPL 授權這個最重要的「許可證」以及相關法律問題,也不能忽略。

延伸閱讀

2006.11.12: Linux Link TEch Show 的訪談:理查史都曼談 GPLv3

[1] Richard Stallman, http://en.wikipedia.org/wiki/Richard_Stallman
[2] Free Software Foundation, http://www.fsf.org/
[3] GPL, http://en.wikipedia.org/wiki/GNU_General_Public_License
[4] 自由軟體鑄造場『自由軟體法律研討會:嵌入式應用專題』, http://www.openfoundry.org/component/option,com_docman/Itemid,112/gid,230/task,cat_view/
[5] Richard Stallman, Why Upgrade to GPL Version 3, http://gplv3.fsf.org/rms-why.html

關於 April 2008

此頁面包含了在April 2008發表於Jollen's Blog的所有日記,它們從老到新列出。

前一個存檔 March 2008

後一個存檔 May 2008

更多信息可在 主索引 頁和 歸檔 頁看到。

Top | 授權條款 | Jollen's Forum: Blog 評論、討論與搜尋
Copyright(c) 2006 www.jollen.org