作者周鼎在開源中國「源創會」分享《Ubuntu Tweak 五年歷程》,現場 300+ 人,講者從緊張進入狀態,無稿自然講完,互動熱烈,自稱最享受的一次活動。
作者為 Canonical 員工,首次以官方身份宣佈 Ubuntu 中文名「友幫拓」 (不強求使用)。Ubuntu Tweak 非「優化大師」,是桌面系統調整工具,2007 年 7 月啟動,最新 0.7.2,50+ 版本,<2 萬行代碼,單次下載峰值 50 萬,多語言支援,眾多貢獻者共建。
簡單演示:字體調整、Unity 設定、清道夫 (清理垃圾)。
2006 年底接觸 Linux 選 Ubuntu,當時中文支援差、需大量折騰配置。作者愛將 Ubuntu 美化成 Mac OS X 樣貌,喜歡解決問題,萌生做傻瓜配置工具念頭。
2007 暑假僅有 C/Java 基礎,參照其他開源專案開發。開源世界感覺極佳:`apt-get source foobar` 即可獲取原始碼,對初學者如魚得水。文檔不全反而迫使閱讀源碼理解本質,培養從本質解決問題能力。自創「人肉版本控制」後改用 SVN 入駐 Google Code。
善用開源特性,多讀源碼這份「文檔」
邊學邊做一暑假,開學釋出 0.1.2 (C 語言、介面醜、功能少但開啟開始)。放自己網站論壇推廣,引關注,有人主動編譯 64 位、翻譯繁體。LUPA 社區邀請線下分享,極大鼓舞。
主動宣傳,願意參與者比想像多;專注 coding 之外也要混社區。
註冊域名架 WordPress 英文向世界廣播 (開源無國界)。逃課全職開發,半月釋出 0.1.4 修正 Bug 展現熱情。意識到架構難維護,放慢速度學設計模式 (MVC)、重構框架。北京朋友設計新 Logo,開始重視介面設計。
2007/11 釋出 0.2.0 結構與介面改良。寫詳細發布文 (習慣延續至今)。Launchpad 管理 Bug,首個 Bug「Logo 佔太多空間」作者堅持不改,一年多後才修正,認為堅持自己意見經過爭論比盡信第三方好。
0.2 後不滿意架構,教授推薦 Python,邊學邊用 Python 重寫,12 月中釋出 0.2.4 新增 Compiz 3D 設定、德語/波蘭語。GTK/Python 皆現學現用,學以致用極重要。
學以致用,邊學邊用。
Launchpad PPA 機制讓用戶加源即持續更新,線上翻譯平台支援 30+ 語言,奠定快速流通基礎。
關注開發以外事物,優化分發流程。
2008/1 釋出 0.2.5,主動部落格宣傳效果佳,linux.com、del.icio.us 報導。約每月兩版,半年 11 版。
Release Soon, Release Often
野心膨脹嘗試支援多發行版,改名「Ubuntu Tweak」導致 Fedora 用戶不願用,反響冷淡放棄。教訓:先專注做好一個平台。
先專注做好一個平台
0.4.4 起計劃開發內容、定釋出計劃、遵守特性凍結週期。2009 年近月一版共 10 版。08 年底換 Git 遷移 GitHub,接受外部 patch,無痛分支支援 0.4/0.5 並行。
實施軟體工程 + Git 技術,優化開發流程。
09/11 與 Kevin 分享想法快速出草圖,10 年維護 0.5 並設計未來版,另一朋友 Jeonkwan Chan 參與細節討論,跨地域共享熱情。11 年愚人節發「初探下一代」逼自己,後因工作變動中斷久,11 年底砍功能終釋出 0.6。從草圖到釋出整整兩年業餘時間。砍掉第三方源等功能但廣受好評。自此形成「設計驅動開發」思想:架構與介面本質皆是設計過程。
嘗試設計驅動開發
Ubuntu 如今有鮮明主題、Unity 桌面、軟體中心含商業軟體/遊戲,五年前不可想像。Ubuntu Tweak 也達到理想樣貌,重要性下降:Ubuntu 預裝即很好用,無需折騰輸入法/介面。上月宣佈不再開發新功能,僅維護更新。2007/7 中啟動,馬上滿 5 年,五年做過很多事多半途而廢,唯有此堅持帶來最多收獲。
未來 5 年 Ubuntu 會更好,Tweak 會淡出,但這 5 年學到的持續影響後續工作。
花五年時間,認真、專注、持續不斷地去做一款軟體,慢慢把它做好...
謝謝大家!
Windows XP 极速關機/開機實戰技巧:待機、休眠、STR 技術與快捷鍵全攻略
解答關於 Windows 10 版「Spartan」瀏覽器的幾項疑問
Win 8 CP 公測用戶是 Win 7 Beta 兩倍,但市場佔有率僅 0.11%
Win8.1 更新 KB3096053 下載:修復 KB3069114 安裝失敗問題,先裝 KB3096053 再裝 KB3069114
微軟確認:Win8.1 無 Update 2,下一重大版本直指 Windows 9
32 位元 Win8 仍原生支援 16 位元舊應用,64 位元版移除子系統