我的open source專案整理列表

從很久以前,我就覺得open source是一件很酷的事,覺得能夠免費讓大家用自己心血的結晶真的是件很了不起的事,因此我自己除了使用了不少的open source資源,也一直希望自己也能夠多少有點貢獻,所以在過去多年中確實也有寫了一些open source的專案,雖然都不大,但都很多都是我自己會用到的工具,雖然以前可能有寫過一些介紹,但其實還有不少是沒有介紹過的,會寫open source專案其實多少就是希望有人能使用,而隨著時間久了,我自己會在看到時才想起原來我有寫過這個專案,所以想說弄篇文章來整理一下我所做過的open source專案

Python HGE

HGE以前是一款商用的2D遊戲引擎,後來開源,因為我覺得他的引擎挺簡單好用的,重點是有硬體加速,不像SDL純軟體算圖很慢,所以想說把它移植到Python,於是就用Boost.Python寫了一個專案,完成度大約7~8成,裡面有些比較難處理的部份還沒弄好,但主要功能大多都已經可以使用

專案網址:

http://code.google.com/p/python-hge/

Gluttony

Glottony是一個用來分析Python函式庫在PyPi上的相依情況,主要是有一次我安裝TurboGears時遇到其中一個package的伺服器似乎掛掉了,整個進度就因為那個檔案載不了而無法進行,因此我覺得或許這種相依的情況也是選工具時重要的考量,於是就寫了這樣的工具

專案網址:

https://bitbucket.org/victorlin/gluttony

Po translator

這是一個用來將.PO檔中的內容透過Google自動翻譯的工具,主要是因為我自己的網站有中文版,想翻成簡體中文,手動一個一個實在太花時間,於是就寫了一個這樣的工具,不過目前有個缺點是當送的量太多,會被Google擋掉一陣子的樣子

專案網址:

https://bitbucket.org/victorlin/po_translate

Apply firewall

iptable幾乎是所有用Linux主機多少都會用到的服務,但是在重設iptable的過程中,難免有時會不小心擋掉自己,如果是遠端登入就麻煩大了,主機在美國也碰不到,只有遠端重開機一條路可走,為了解決這問題,我做這個小工具,可以讓設定iptable像是切換螢幕解析度一樣,會有一段時間讓你確認,沒反應的話會自動取回更動前的設定

專案網址:

https://bitbucket.org/victorlin/apply_firewall

Correct pycountry

這是一個pycountry的fork,主要是因為pycountry引用ISO裡的國家名稱,但大家都知道台灣的名稱被ISO亂訂,看了心情就不是很爽,所以就fork出一個專案然後改掉裡面的名稱部份

專案網址:

https://bitbucket.org/victorlin/correct_pycountry

Middleman

Middleman是一個基於gevent的簡單網頁proxy,主要是我自己寫來抓論文用的,不過現在已經沒在使用,middleman的名稱主要是取自middleman attack

專案網址:

https://bitbucket.org/victorlin/middleman/

Logy

一個簡易的中央日誌記錄用的網頁服務,目前沒有繼續開發的打算

專案網址:

https://bitbucket.org/victorlin/logy

Loso

Loso主要是我替Plurk寫的一套中文斷詞系統,稍後有空我會寫篇文章來介紹這套系統

專案網址:

https://github.com/victorlin/loso

Avoid Disaster

Avoid disaster是一套用來備份資料用的工具,這也是我會加入Plurk的原因,當時我替我的Now.in寫了備份資料庫的工具,剛好看見Amir也寫了一套,裡面有個做法我覺得很不錯,於是就把兩套合在一起,做了一個fork,Amir看了就邀請我加入Plurk,這套工具不只可以備份到Amazon S3去,只要新增不同的storage類別,例如FTP storage,就能改將資料備份到FTP去

專案網址:

https://github.com/victorlin/avoid_disaster

SCSS Tools

SCSS Tools是一套工具讓Python整合SCSS變成一件輕鬆愉快的事,它讀取簡單的設定檔,然後幫你監視目錄裡的SCSS檔案是否有改變,有的話自動幫你重新編譯

文章介紹:

http://blog.ez2learn.com/2012/02/27/scss-is-not-for-ruby-only-python-can-also-integrate-scss/

License

這裡的專案所有的License應該都是MIT,好像只有少數幾個BSD,為什麼選MIT呢? 一來是我覺得GPL那種病毒式的,修改了想散播就得強迫你加入的自由算哪門子的自由,其實這點反而讓它變成很多商業產品喜歡使用的授權,因為你改了要散播也得開放出來,對於競爭對手有所限制,但BSD like就沒這問題,我這些東西都沒有商業考量,我覺得要開放就是要做到你拿去做商業軟體散播也無所謂的地步,就像天元突破裡的一段,他們之所以想開源

不過如果我也不是什麼聖人,或許哪天我的開源專案有了商業考量,或許我也會使用那病毒GPL來防止別人競爭吧,但是應該是不會,我覺得要開源就不怕別人用,就算用了GPL對方也不一定會照著規則走

第二個用MIT的理由,是因為MIT聽起來很酷!

第三,就是因為 MIT = Made in Taiwan 😀

This entry was posted in 中文文章, 分享 and tagged , . Bookmark the permalink.

8 Responses to 我的open source專案整理列表

  1. 張旭 says:

    haha! Made In Taiwan!

  2. janetyc says:

    rock!!! cook 😀

  3. 建議你可以去申請GOOGLE廣告來增加營收~~~~

  4. douzi says:

    一不小心搜索到了您的网站,貌似还不错,以后我会常常来关注的~From MainLand

  5. Hey there! I simply want to give you a huge thumbs up for the great information you have here on this post.
    I’ll be returning to your website for more soon.