20130821-Twitter 買下開放源碼學習課程公司 Marakana 以打造 Twitter University

The Future of Learning - Mozilla Firefox_001

黃郁文/編譯

Twitter 開始著手打造自己的工程師內部訓練分部,名為推特大學 (Twitter University),建置此一分部的目的,是要吸引更多優秀人材能到 Twitter 上班,並且在 Twitter 的工作上持續累積提升自己的程式開發能力,而此目標最快的達成手段,就是透過收購一間著名的開放源碼學習課程公司 Marakana 來作為 Twitter University 的設立基礎。Marakana 在課程方面的教授範圍包括:Android、Java、HTML5、Scala、Python、Hadoop,以及 jQuery 等開放源碼相關的重要程式語言、平台,和專案。歷史紀錄上,Marakana 授課人數在實體教室方面的已逾 10 萬人次,透過其免費線上課程進行學習的人數更是已經超過 5 百萬人。此次的收購交易,可說近水樓台先得月,Twitter 和 Marakana 都位於舊金山地域,收購案讓 Marakana 從此成為 Twitter 內部的正式訓練單位,故從收購動作開始執行之後,Marakana 已不再向外部提供開放源碼方面的訓練課程,其舊有的訓練課程平台 Marakana Spark 亦就此關站;然而,許多 Marakana 的授課老師,過往也常出現在 NewCircle 這個開放源碼技術的訓練網站上提供服務,故 NewCircle 網站上已累積不少他們的課程範本與心血結晶,在 Marakana 的關站宣言裡,因此也建議老顧客能夠光臨 NewCircle,繼續進行開放源碼課程方面的技術學習。

身兼 Twitter 副主席與資深工程師身份的 Chris Fry 表示:希望 Twitter 能成為全世界最好的工程師工作環境,並表示 Twitter University 目前正在起步階段,初期將以提供員工整套技術訓練為主,一路從新手提升其能力到 iOS Bootcamp、JVM Fundamentals、Distributed Systems、Scala School 等等進階課程為止。課程老師多數來自公司內部熱心於教育的成員,與定期持續舉辦的黑客技術分享聚會 (Hack Weeks)。Fry 復指出,即使收購讓 Marakana 成為 Twitter 的內部單位,但公司整體政策仍會繼續支持開放源碼課程的學習,也會線上釋出部分 Twitter University 的使用教材,有興趣的開放源碼愛好者可以持續透過 TwU 這個 Twitter 頻道 (https://twitter.com/TwU) 來關注 Twitter University 未來的學習資訊。

—-

相關網址:

1、Twitter 買下開放源碼人材訓練公司 Marakana
http://www.zdnet.com/twitter-acquires-open-source-educator-marakana-for-internal-university-7000019344/

2、Twitter 收購開放源碼人材訓練公司 Marakana 啟動 Twitter University
http://techcrunch.com/2013/08/13/twitter-buys-open-source-training-company-markana-to-power-new-twitter-university-for-engineers/

3、Twitter University:打造世界級工程師學府
https://blog.twitter.com/2013/twitter-university-building-a-world-class-engineering-organization

4、Marakana 關站宣言
https://marakana.com/

5、NewCircle 線上課程網址
https://thenewcircle.com/

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