作者: fenghuajun 原文:
http://fit.coollittlethings.com/?p=94大家好,我是Linux下新输入法Fitx(Fun Input Toy for Linux)的作者。
6 j# N% v5 l9 V, f5 ~5 M关于Fitx. e/ n4 t- Z, \ T+ F+ Y/ h( i: d* e, q
Fitx名字很像fcitx,是的,fitx和fcitx是有渊源的,一年前我开始做Fitx的姐妹版Fun InputToy的时候花了3个月的时间看fcitx的代码,虽然没完全看懂,却在研究的过程中想到了现在Fitx现在的算法。很高兴Fun InputToy没有丢fcitx的脸, 现在是Mac OS X下最流行的输入法之一。同时我们在两周以前也发布了iPhone平台的版本WeFit,其强大的功能和优异的性能受到的广泛的关注,现在最新版本是1.0 preview 5。
7 u2 o7 ?# d' K9 m" D7 ^+ R9 s
+ T: {. R0 b2 z7 C- o: R
所以,没有Fcitx就没有FIT和Fitx。我在此隆重感谢fcitx的作者,Yuking。1一个月以前我正在想把FIT移植到
linux平台,我再来看fcitx的网站,我非常遗憾的知道fcitx已经停止开发,我知道在这个世界上像Yuking这样的程序员一定是孤独的,我们应该给他多一点关怀……我非常抱歉,我看你的代码的时候应该多给你写两封邮件……
8 C) S# X- @* d下面是Fitx一些参考地址:
& m- J$ c5 L. _* L9 o. g5 h
Fitx:
http://fitx.googlecode.com- b7 y0 G V, _2 L
FIT:
http://fit.coollittlethings.com
3 S+ c5 z# |/ v* ]8 |6 M' xWeFIT:
http://fit.coollittlethings.com/?page_id=76* F+ a5 E. B$ o6 Z) w- ^( c
关于Licenses3 `; d* e1 |5 x
半年以前很多人呼吁FIT开源,后来开源了又很多人问Licenses
! [3 Z! l6 y1 l5 ^+ I* b; y- S$ f
我一直没太在意,不好意思,我们长在一个copy的国度,我不知道一个Licenses, 我们的法律能不能保护我这样一个弱小的程序员,能不能保护Yuking, 能不能让Yuking的激情永远不会逝去……
- P6 Z6 c5 q' m/ b$ {! V2 P4 c& [因为要来Linux平台,我必须回答这个问题,我把所有的Licenses看了一遍,我选择最轻量级的BSDLicense。其实这个也不必,代码随便用,给我发个邮件
fenghuajun@gmail.com,交个朋友。(我能不能发明一个用代码必须发邮件交朋友的Licenses?)
1 e7 }# i$ A# g. P/ G* E9 G* hFitx是在New BSDLicenses下完全开放源代码的输入法。最早FIT词库是基于fcitx的词库,通过程序进行了一些整理,后来我又在网上搜刮了一些网友整理的自定义词库。词频和字频是根据北京大学语言学院公布出来的一些新闻和小说的词频统计资料,后加程序整理。
' L* i) z5 U3 X. ^6 y; @Fitx是具体技术上怎样一个东西0 \- O1 l5 j6 j/ t
Fitx严格来说不是一个输入法,而是一个输入引擎,Fitx在Linux下是C/S架构。Fitx的Client端是用python写的,非常简单,Server端是进行编码查询的,相当于一个MySQL数据库,只不过专门做拼音,五笔,现在最新支持笔画编码的查询。Server端在Mac/iPhone/Linux平台上是通用的,将来也有可能在Windows上。
( f0 |7 t7 J2 q AClient端借助james.su大侠的scim和Shawn.P.Huang大侠的scim-python完成Client端相当轻松。站在巨人的肩膀上,保持代码简单不正是*nix的核心价值么,同时也是python的核心价值,这样做的好处是代码容易维护,升级容易,但是不好的地方在于部署安装比较困难,很高兴的是以Ubuntu为代表的Linux安装软件已经不像从前那样麻烦了,还有就是不好的地方可能就是效率……(不要和我争论C++和python效率,我的专业意见认为在现代计算机上相差无几)。
/ y8 x1 C3 h0 j1 n恩…相信python的简单哲学还有一个坏处,那就是我们搞技术的
假装专业忽悠人的资本没有了,同时又有一个好处,简化你所面的纷繁复杂世界,你才有能力面对更大的问题。
+ H, W1 i! }0 N& x9 Q+ u这就是技术上的Fitx和它相信的哲学。
8 M! `. a7 l* F
如何能够帮忙
* I H0 w2 e( R由于同时开发维护Mac版本和iPhone版本,本人时间有限,Linux经验也不是很足,现在很希望大家一起帮助Fitx的开发。现阶段Fitx的开发特别需要大家帮忙,发挥Linux社区群策群力的精神。
. c; w1 g j1 F: L' C8 f4 i1. Fitx依赖的库较多,上面已经提到,条件限制,本人只能确定在Ubuntu上的安装编译过程,用其他Linux系统的朋友能够帮忙完善相关的编译安装文档。
; R& L8 n/ Q2 o& T2. 我对Linux经验较浅,对于如何制作二进制发行包还不是很在行,希望能有专家帮忙。
/ Q3 G o) x# x6 |- m6 k
2. Fitx现在的功能还比较简陋,但其实Fitx的Server端已经比较完善,输入法的很多功能只需要在Client端的开发,只需要用python。对python有兴趣的朋友可以试试看看我的代码,如果能看明白又有兴趣帮忙的话,可以给我发邮件。
. j' X, o6 l4 X1 R' F2 p
我的邮箱是
fenghuajun@gmail.com: {& q* e/ M: D) z
最后想说……1 T$ v y2 `( f0 [7 ]$ G# T
其实我是非常热爱开源运动的,我在大学期间就在想如何能在中国建立开源社区,但是当FIT在Mac平台成功以后,很多人叫我开源。我却感到疑虑,因为FIT不是我发布的第一个开源软件,为何一个软件做得好,多人用就那么多人来叫你开源?为何一个软件做得不怎么样(可能很有前景),开源却没有人帮忙呢?另外我想问问Yuking,有多少人给fcitx贡献了代码?
- m6 ~: c p8 n0 i8 }9 }. Z尽管有这些顾虑,最终FIT还是开源了……为什么?
8 k6 R1 R: v, }6 k! ~* d1.FIT是吃fcitx的奶水长大的,人要知道自己从哪里来的。
$ \& l! r! K# n
2.关于开源,我觉得我们国家已经很落后了,但是如果不从我们开始,又从谁开始;如果不从现在开始,又从什么时候开始?if not us,then who? if not now, then when? (里根)。争论是没有用的,要的是去做,takeaction!(很遗憾,我现在看到国内的论坛,主要是争论……)
- G+ X! w% m# j- |, z+ }; M
所以FIT选择开源,并且回到Linux平台,希望大家多多支持。我一点都不高手,我不是来这里找争论的,我只是来这里找一些支持的温暖。希望没有来错地方。