20131025-Adobe 啟動 SVG 開放源碼資料庫支援計畫

20131025-snap.svg

黃郁文/編譯

約 8 年前 Adobe Systems 收購 Macromedia 取得 Flash 相關的技術後,Flash 技術的運用在 Adobe 相關的主線產品裡,也著實風光了好一陣子,不過、時過境遷,現階段在 Adobe 的商品規劃下,Scalable Vector Graphics (SVG) 格式的運用,已漸漸取代 Flash 成為下一階段的主軸。近期、Adobe 更啟動可縮放向量圖形 SVG 資料庫屬性的 Snapsvg 支援專案 (http://snapsvg.io/),試圖透過此舉,將 Flash 過往的特色,透過 SVG 的嶄新技術,重現在當前的行動網路世界。儘管從歷史發展來說,2001 年初 SVG 技術剛剛嶄露頭角時,Adobe 是支持 PGML (Precision Graphics Markup Language) 格式,不過由於後來 PGML 並不被「全球資訊網協會 (World Wide Web Consortium, W3C)」所採用,其後 Adobe 便改弦易轍轉而推動 SVG 的格式與標準,並將其開發成果以開放源碼的方式釋出,達致 SVG 格式至今已漸趨普及的局面。

Adobe 現時推動的 Snapsvg 資料庫,是以開放源碼的 Apache-2.0 授權方式在 Github 平台上向公眾釋出,這個新套件是由 Dimity Baranovskiy 所設計,而 Dimity Baranovskiy 也是 Raphael Javascript 資料庫的創作者,可說這些相關資料庫的設計,就是為了簡化向量圖形在網路瀏覽器裡的運用與展現效果。所以大體上,Snap.svg 是一個 JavaScript 性質的資料庫,能讓網路開發者將其置入網頁內以 SVG 執行原本的 Flash 功能。SVG 套件功能強大,可以在網頁環境下,輕易完成過往透過 Flash 技術才可達到的各種呈現效果,而其 API 應用介面,尚可讓使用者對 SVG 進行操控,以動畫模式增加互動性,如此即可輔助現存的 Adobe Edge 工具與服務的發展。另外,Snapvsg 是以 Apache-2.0 的開源方式向外授權,這樣寬鬆的授權態度與先前版本已有很大的差異,而因為 Apache-2.0 授權的特性,未來 Snapsvg 將可經改作之後,完整被適用於 Internet Explorer、Opera、Safari、Chrome,以及 Firefox 這些性質殊異的瀏覽器環境下。此外,該資料庫尚可與 Adobe Edge Animate、Adobe Flash Pro CC、Adobe Illustrator CC,以及 Adobe Photoshop CC 等 Adobe 推出的其他商業販售軟體,直接在編輯格式與播放效果上相容。

Adobe 網路平台工程部門的 Vince Hardy 表示:Snapsvg 資料庫的建置目標,是要解決開發者與設計師不斷求新求變的需求,以協助開發成果能透過瀏覽器感動所有的網路服務使用者與視聽者。到目前為止,除了 Snapsvg 資料庫之外,Adobe 官方所參與的自由開放源碼計畫,還有 Web GL、Blink and WebKit、CSS Filter Effects、CSS Shapes,以及新的開放源碼 CSS 資料庫等等專案,可以說,我們正在目睹一個開放源碼主導未來資訊生活的新世代,這個趨勢,正在持續發展。

—-

參考網址:

1、Adobe 啟動 SVG 開放源碼資料庫
http://www.theinquirer.net/inquirer/news/2302907/adobe-announces-an-open-source-svg-library

2、Adobe 在 GitHub 上釋出 Snap.svg 開放源碼專案
http://www.adobe.com/aboutadobe/pressroom/pressreleases/201310/102313AdobeReleasesSnapsvg.html

3、Snap.svg 專案首頁
http://snapsvg.io/

20130817-GitHub 讓自由開源授權模式的選擇變聰明

Choosing an OSS license doesn’t need to be scary - ChooseALicense.com_1376645531572

黃郁文、林誠夏/編譯

GitHub 近期新設了一個 choosealicense.com 網站,讓使用者可以很簡單地選擇所需要的自由開放源碼授權條款。在此之前 GitHub 經常在託管專案的授權宣告方面被批評,有評論者認為,若 GitHub 持續未能提醒使用者有關託管專案授權方式的資訊,將導致許多人錯認託管於 GitHub 平台上的軟體專案皆為公眾財 (Public Domain),但其實這些專案的程式碼皆可以附隨一份自由開源軟體的授權條款,若是不遵照其授權規則,是無法被任意使用的。而現在,當使用者在 GitHub 上建立新的軟體專案時,於編輯 readme 與 .gitignore 檔案時,開設者將可以同時選用該專案所偏好的自由開源軟體授權條款,像是 Apache、GPL、MIT、Affero GPL、Artistic、BSD、Eclipse,或 LGPL 這些常見條款。這樣的作法,國內於 2003 年由自由軟體鑄造場團隊設置的 OpenFoundry 平台亦有相類機制,名為「授權精靈 (License Wizard)」。這樣的授權選擇機制,讓託管平台上的專案建立者,可以透過 ChooseALicense.com 網站,或是 License Wizard 頁面,依照其需求,按步就班的選擇符合其需求的自由開源軟體授權條款!

例如,若使用者希望較簡單與寬鬆 (permissive) 的自由開源軟體授權條款時,網站會提供 MIT License,若想強調專利干擾方面的防護,則使用者可轉而考慮 Apache-2.0;而若要求修改後的程式碼都必須在不中斷分享的循環裡,則可參考 GPL-2.0 或 GPL-3.0。一旦使用者選擇好所需的條款,網站便會自動顯示條款的主要內容,以及綱要上可如何應用,接著,透過一鍵複製 (one-click) 選項,就可以將所選擇的條款全文拷貝到記憶體暫存區,其後即可方便的轉錄到軟體專案裡的 readme、copying,或是 legal 檔案裡。另外,ChooseALicense.com 網站本身就是一個自由開源專案,其使用 CC-BY-3.0 及 MIT License 併行釋出,使用者將可視需求為其建立分流專案 (fork),並據以編寫或是增錄自己所需要的其他功能。附帶一提的是,GitHub 工作人員 Garen J Torkian,還另行開設了一個相類專案 AddALicence.com,這個專案讓使用者能利用 GitHub API,在選好授權條款後,直接將授權檔案嵌入到其擁有管理權限的 GitHub 專案裡。此一功能可讓已經運轉有年的 GitHub 託管專案,能好好整頓原本蕪雜的專案授權資訊。另外,AddALicence 網站本身亦是以 MIT License 進行公眾式授權,所以使用者亦可視需求分流及修改它。

國內的自由軟體鑄造場團隊,於 2005 年左近籌劃授權精靈的建置,以循序式問答的方式,協助平台的使用者選擇適合自己使用的自由開源軟體授權條款,完成後並以 MIT License 進行釋出時。彼時部份的評論家也認為授權選擇一事未必為開源專案建置管理上所必要,然而,經過了數年之後,欣然發現當前自由開源軟體領域的重要開發平台 GitHub,亦建立了相類機制來讓使用者利用,正可謂「德不孤、必有鄰」;而 GitHub 此一在授權輔助上的進展,亦顯示出隨著自由開源軟體大舉進入被商業化利用的時代,授權妥適與依循上的重要性,亦已日漸提升,且逐步獲得參與者與利用者的共同重視。

—-

相關網址

1、GitHub 讓開放源碼授權選擇變聰明
http://www.h-online.com/open/news/item/GitHub-gets-smart-over-open-source-licences-1918463.html

2、Choosealicense.com 網站
http://choosealicense.com/

3、Addalicense.com 網站
http://www.addalicense.com/

4、OSSF 授權指引 v2.3
http://www.openfoundry.org/LicenseWizard2/LicenseWizard.cgi

5、OSSF 授權精靈 v3.3
http://www.openfoundry.org/LicenseWizard/

20130816-困頓中求轉進 – BlackBerry 與 Mozilla 持續合作 Peach Fuzzing

Mozilla, BlackBerry Team Up on Peach Fuzzing - Developers - LinuxInsider_1376645568055

黃郁文/編譯

雖然在本月 12 日 (2013/8/12) 已宣布暫停交易公司股票,BlackBerry 宣佈其正在尋求轉進方案,包含以出售、合資的模式來解決股票收益不斷下滑的狀況。然而其近期仍著手與 Mozilla 合作建置網路安全偵察類工具 Fuzzing,以提升相關產品在網路應用上的使用安全。Fuzzing 類型專案,概念上簡要來說是一種偵錯軟體,其方式是將多樣隨機或不正確資料置入應用程式、或個別專案的程式碼中 (fault injection),以找出該程式無法妥當處理的資料,並進一步測試程式是否能在各種干擾狀況下正常運作。Fuzzing 可用於各式各樣程式,也可延伸到資料庫軟體或共享記憶體上進行偵錯測試,它能指示程式的開發者,哪一部份的程式缺點需要進一步被稽核,亦可搭配其他除錯工具,以發揮更大功效。不過,這類的程式原則上僅能確保受測元件在一些例外情況下仍能正常運作,並不表示通過此類程式的測試,被測元件就會是完美無瑕的程式。

BlackBerry 與開放源碼專案為主要產品的 Mozilla 之間已非第一次合作,亦非其第一次參與開放源碼專案的增補與運用,大致上,BlackBerry 在 2010 年經由註冊 GitHub 開始進入開放源碼的世界,其並曾將 QNX 作業系統進行開放,亦強調公司一直有在 Webkit 的開源架構方面耕耘。此次再次與 Mozilla 就 Fuzzing 性質的開源專案展開合作,選擇的合作專案為 Peach。Peach 是一個建構於開源基礎的 fuzzing 框架,其能同時進行輸入資訊變體 (mutation-based) 與輸入資訊進化 (generation-based) 這兩大項目的偵錯測試,該專案創立於 2004 年,目前已進行到第三版第一測試版本。而 BlackBerry 與 Mozilla 雙方寄望能透過本次合作,結合雙方力量提升 Peach 專案在瀏覽器上的測試能力與偵錯功能,以進一步改善網路安全,提供客戶更為完善的保護。Mozilla 現已成功於 HTML5 環境下利用 Peach 進行 Fuzzing 測試,範圍包括:影像格式、影音多媒體格式、字型,及 WebGL、WebAudio,WebRTC 等核心應用程式上,以有效提高 Firefox 及 Firefox OS 的使用安全性。此外,Mozilla 除了與 BlackBerry 合作提升 Fuzzing 專案的應用範圍外,近期亦已公開另一個開放源碼安全測試平台 – Minion。Minion 著重正確性與簡易性,強調不論是開發者或是安全專家,都可利用該平台所提供的安全性測試工具,目前這些工具源碼亦已放置於 GitHub 上,值得感興趣的朋友造訪此網站略探一二。

—-

相關網址

1、Mozilla 與 BlackBerry 合作進行 Peach Fuzzing
http://www.linuxinsider.com/story/Mozilla-BlackBerry-Team-Up-on-Peach-Fuzzing-78615.html

2、BlackBerry 與 Mozilla 合作提升網路安全
http://crackberry.com/blackberry-teams-mozilla-further-web-security-through-fuzzing

3、Minion 安全測試專案於 MozillaWiki 上的說明頁面
https://wiki.mozilla.org/Security/Projects/Minion