Category Archives: 作品

那些台灣軟體產業所缺少的 – 開放源始碼

前面幾篇談到了台灣軟體產業界常見的毛病,除了工具以外,還有一項令我感到相當意外的,就是我發現台灣業界對於開放源始碼的認知真的很有問題,例如我曾有和別人討論過,跟他們你們可以使用open source的現成資源來減低成本,但是得到的回應很常是 那不是讓你用但之後就要付錢嗎? 從這類的回應就可以大略知道,其實有很多人對於開放源始碼都有一些錯誤的認知,到底什麼時候該付錢、什麼情況可以使用都搞不清楚,因此這回我大算介紹一下一些常見的開源授權的常識 免責聲明 在讀本文前我得先聲明,我不是律師,這不是提供專業的法律見解,只是試著用較易懂的方式解釋授權,以我自己的經驗來說明,其中多少可能會有錯誤,請自行判斷,也歡迎指出錯誤,如有需要請洽詢專業的法律諮詢,在本文末會提到 認識授權 (License) 首先要從授權(License)的概念開始談起,開放源始碼通常不是只是單純把程式碼公開出來,而是一般都會搭配某種授權,而授權的意思,以白話來說,就是寫了一份聲明,裡面這樣提到 此程式任何人可以免費使用,但是使用前你必需遵守以下條款…. 有了這樣的聲明,使用開源的人就可以放心使用,當然前提是要遵守授權所提出的條款,基本上因為已經授權出來,所以就算是原作者反悔,也沒辦法控告你什麼,除非你違反他當初訂出來的條款,而一般人看見落落長的條款項目可能就怕了,更何況是用英文寫的,但是別擔心,事實上要注意的要點只有幾樣,都大同小異,同一類條款的性質都很類似 散佈(Redistribute) 在理解授權之前,首先要理解散佈,這是授權裡面一定會提到的重要關鍵動作,那麼什麼是散佈呢? 簡單的來說,就是將軟體轉交給其它人,不管你是以原始碼的形式,或是編成二進制執行檔後,只要是轉交給其它法人,就算是散佈,舉個例子 把原始碼上傳供人下載 把原始碼拿來販售 把原始碼編成執行檔供人下載 把原始碼編成執行檔販售 以上都算是散佈的行為,所有的授權條款裡面都會提到散佈開源程式時你應盡的義務,當然,也有很多行為是稱不上散佈的,例如 將原始碼交給公司內部某個單位 將原始碼編譯成執行檔自己使用 在伺服器上以開源程式執行提功服務給使用者 像這樣沒有法人的經手,都不算是散佈的行為,對於散佈的行為介定是很重要的,等一下會解釋 授權(License)的種類 授權有(License)非常多種,我們在此大略將其分成三大類,第一類是GPL,第二類為BSD,而第三類為商業授權,是較為特別且少見的,其中GPL最不自由,而BSD最自由   在這裡自由與不自由主要是指你在使用這些開源軟體時所要盡的義務的多和少 GPL GNU General Public License主要是由Linux陣營的開源軟體開發者為主在使用的,它有幾個特色 散佈要連修改的部份一起開源 病毒的感染性 排它性 散佈與修改 如同我們前面提到的散佈,最重要的重點是,如果你改了程式,而又要散佈程式,那麼你在散佈的同時也要把你修改的部份也公開出來,例如 修改了原始碼後拿來販售 修改了原始碼後編成執行檔供別人使用 上列行為都扯到了散佈,因此如果你程式有修改,你不能只給別人執行檔,要連改的部份一起開源出來,這條款的目的主要是在於GNU的社群,希望強迫使用者能回饋社群,因為一但你改了程式,想拿來賣錢,就得公開出來,避免有人改進了程式,拿來販售,但沒有公開程式的問題 … Continue reading

Posted in 中文文章, 作品, 嘴砲 | Tagged , , , , | 8 Comments

嘴砲談雲端 – 介紹用雲端除錯網頁的雲端技術: Browserling

有試著想開發支援所有主流瀏覽器的朋有們肯定都會遇過像我在 How hateful it is to develop a web application which runs correctly with different browsers? 所提到的情況,為了確定網頁在各種版本的瀏覽器,特別是那該死的IE系列都能正常顯示和執行,這樣的畫面出現是很平常的事 在這張圖中我分别用了兩個VirtualBox給IE7和IE6,如果連IE5要加進來右是另一個,只是IE5太古老雖然還是可能有人在用,但我已經懶得測了。 當然,安裝所有的瀏覽器是一個解決方法,包括使用VirtualBox之類的虛擬化技術來安裝萬惡的IE系列,但畢竟還是很麻煩,來自拉脫維亞 (老實說我也不知道這是什麼樣的地方 XD) 的Peteris Krumins,有趣的是Peteris他唸的是物理系,他和來自美國的James Halliday創作了一個基於雲端的解決方案,叫Browserling,裡面用的技術是之前我在 Open the browser, and here comes the computing power 所提到的,他們共同開發的技術,這個技術最有趣的地方是可以透過網頁來遠端操作電腦,雖然這不是什麼很創新的技術,但結合虛擬化的技術,將運算能力變成像流水一樣,網頁一開服務即到的型式,這就是它的潛力。 扯到雲端 在台灣一個很有趣的現像就是,當某種新東西很新奇、在未來會有不錯的應用,總會有一堆門外漢跟著朗朗上口地四處吹噓這些名詞,說穿了不過就只是趕流行,前陣子流行的是奈米,什麼都要冠上奈米,這樣做價格似乎就可以翻幾成,也有Web2.0之類的,甚至台灣還有人搶著推出Web3.0,說是要把網頁變成P2P的型式,當然是以失敗收場,而現在只不過是把流行的口號改成雲端而已,什麼都要冠上雲端,打開電視偶爾也會看見一些名嘴吹噓著雲端巴啦巴啦…,其實當發現一堆門外漢也在跟著人云亦云時就說明了這已經是在炒作了,哪天在路邊看見”雲端雞排”也請不要意外 XD 何謂雲端 每個人對雲端都有一套解釋,對我來說,雲端不外乎就只是將計算資源、資料儲存等等能力變成像自來水那樣,接上名為網際網路的大水管,打開電腦即可存取,這樣的概念其實早就有了,更早之前甚至有人提出更激進的想法,要將使用者這端完全只剩下客戶端的能力就夠了,剩的東西都由雲端的能力提供,但是也是沒有成功,或許是環境不夠成熟,而我個人認為使用者端的能力也是需要的,網路頻寬再怎麼進展,要即時所有東西都由遠端提供還是有困難的 台灣的現況 … Continue reading

Posted in 中文文章, 作品, 嘴砲 | Tagged , , , , | 1 Comment

作品集更新 : 幾何圖形繪圖以及手繪辨

最近的一個案子終於算是結束了,簡單地介紹一下這個軟體,跨平臺的幾何圖形繪圖和手繪辨識的功能 可以用各種方式填色 不同的框線 每個物件都可以自由旋轉和變形以及位移 物件可以設定透明度 當然,這軟體是跨平臺的,這是在ubuntu下執行的畫面,原本當我在windows下寫完丟到ubuntu下執行,我猜想可能會遇到一些煩人的跨平台問題要解決,不過很順利地,一切就像在windows下一樣,wxPython看來真的是跨平臺的好選擇 接著是抓圖沒辦法展示的功能,手繪辨識和無限次數復原和重做,請看影片 手繪辨識是裡面最難寫的功能,讓我把我學過的數學都搬了出來,象皮擦的部份也是很複雜的運算,這整個軟體裡用到的幾乎都是線性代數的知識,我很自豪的一點就在於大部份我學過的東西都在實際應用上用得上

Posted in Python, 中文文章, 作品 | Tagged , , , , , , , | 6 Comments