为什么不使用开源?

最近做一个项目,本想用开源软件做的,虽然我一直积极游说,但是几经周折后,最终还是放弃了。这次失败的尝试倒是使我深刻体会到许多企业不使用开源软件的某些原因了。这里我说的企业是指与IT、通讯、传媒关系不大的行业,广义上也可以包括许多政府机构。

不差钱

这个原因在私营企业可能不是主要的,但是在国有企业和政府机构却常常成为一个重要因素。虽然开源软件基本不需要花钱购买,但是由于认识上的差距,总觉得免费的东西是不好的,花钱买来的东西才是最好的,而且越贵越好,因此有时宁可花钱买一个心理上的安慰(有人说有个别机构甚至特意花钱买开源软件)。此外,反正花的不是自己的钱,完全不心疼。而且钱花得多,可以让领导认为这个项目非常重要,技术非常先进(其实未必),从而获得领导的赏识。

有人说,用开源软件就不好吃回扣了。其实虽然回扣这种事情时有发生,但是至少在我的经验看来,还不是普遍现象。另外一个原因就是体制的问题了,天价内存条这类事情的出现,撇开标价错误不谈,其实未必其中有人真的吃了回扣,而是现在的政府采购制度使然,许多国有企业也有自己类似的供应商制度。以我了解的某国有企业的供应商制度而言,购买任何东西,必须向在供应商名单内的企业购买,如果买的东西无法在名单内企业买的话,那么不仅仅要进行非常复杂的审批手续,而且还要通过名单中的供应商才能购买,并且要支付给该供应商一大笔费用(20%左右)。可想而知,供应商名单形成了一个半封闭的市场,在这个市场中的供应商都是各自商品的垄断者(基本上供应同类商品的供应商不太会超过3家),供应商们当然要哄抬物价,用比外部市场贵很多的价格卖,反正你只能买我的东西。而在这种体系下,缺乏技术实力的企业就不太会用开源的产品了。

没有技术实力

许多与IT、传媒、通信无关的企业,其在软件开方面缺乏技术人才,而开源软件常常需要做许多二次开发或维护,这些企业根本没有这个能力,或者即使有能力,但是因为这方面在企业中不是主要业务,常常不受重视,有软件开发技术的人才经常还要去做其他的许多工作,根本没有精力专门去开发。因此这类企业的模式常常是,对所用软件领域有一定了解的人确定好开发商,然后沟通需求,定下价格,订好合同,买进安装使用,企业的技术维护人员只是做一些简单的维护工作,较大的问题都要通过开发商来解决。

另一方面,如果使用开源软件,许多二次开发工作就需要找人帮助解决,而鉴于前面提到的经费使用问题,不仅手续异常繁琐,还要被供应商雁过拔毛,很难让企业的项目员工有足够的动力去做。

不安全

开源软件不安全是一个经常存在的认识误区。这主要是出于对开源软件的不了解造成的,这个问题其实反而是最容易解决的问题。只要有对开源了解比较清楚的人,把这个错误认识讲清楚,还是很容易被企业的领导认可的。

但是还有一个层面就是,许多开源软件可能没有商业公司来运营,如果进行二次开发的话往往只能找一些个人来做开发。而许多国有企业和政府机构对此会产生安全疑虑,生怕这种个人的开发者会不会窃取企业机密或政府机密,会让企业或政府机构感到对个人开发者缺乏约束力。

不用承担责任

不使用开源软件的另一个原因是,使用开源软件,如果出了问题责任就是自己的,但是如果从其他公司采购的,那么所有的责任就可以转嫁到那个公司上去了,恐怕这也是前面说道有企业宁可花钱买开源软件的一个原因了。总之,能不承担责任,就尽量不要去主动承担责任,这也是这类企业领导的信条。

—————————————————————————–

当然,真正不使用开源软件的原因,常常是上面几条的综合考虑的结果。,技术人员没有技术实力,没有时间精力去开发维护,领导不想承担不必要的责任,采购流程的制约,再加上不差钱,于是形成了与开源软件无缘的局面。

关于h2weibo

h2weibo是一个将你的twitter内容实时同步到新浪微博的工具,基本上同步间隔在2-5分钟之内。最近作者释出了源代码。而且原来作者架设的代理被新浪取消了资格。没办法,只好自己来架设了。代码是java写的,幸好作者写了一个安装指南,否则真的要抓瞎了。

下面是我安装使用中遇到的问题和解决办法:

在ubuntu 11.10上编译没有问题,很顺利,但是在安装vmc时出了问题,出现了好几行类似“invalid date format in specification: “2011-11-10 00:00:00.000000000Z”“这样的错误信息。

网上找了一下,有个很笨的解决方法,就是把相应报错的文件用编辑器打开,把”2011-11-10 00:00:00.000000000Z”改成”2011-11-10″即可。

另外,如果按照安装指南安装和使用vmc出现Permission denied ,记得在命令前加上sudo。

cloudfoundry.org的申请大约需要半天到一天,因此先申请服务,在折腾h2weibo比较好。

最后,比较郁闷的是,twitter和微博的key填写在default.properties这个文件里,但是我用自己申请的key填好后,更新到cloudfoundry,用twitter帐号登录只有一个空白页面,完全不能用。只能使用下载下来的h2weibo中作者留得key才能使用。不知是为何?

 更新:原来是回调地址没写,感谢@xu_lele的提醒,应为:http://xxx.cloudfoundry.com/callback/twitter 这样。

在linux下同步豆瓣电台到last.fm

最近发现了一个ubuntu下音乐播放器banshee的插件banshee-doubanfm,可以通过它同步豆瓣电台到last.fm。

首先安装banshee-doubanfm:

sudo add-apt-repository ppa:pro711/ppa

sudo apt-get update

sudo apt-get install banshee-extension-doubanfm

接下来运行 Banshee 并且启用插件(编辑->首选项->扩展程序),然后点击左侧在线媒体列表中的 豆瓣电台 项目,此时会弹出用户名和密码设置对话框,设置完成后即可点击播放收听豆瓣电台。

最后点击左侧的last.fm项目,登录last.fm。这样在banshee中用豆瓣电台播放曲目时,会把曲目信息同步到你的last.fm账户。

64位ubuntu下解决google地球的启动与中文乱码问题

google地球的64位ubuntu版本很多人都会遇到启动画面一闪而过,然后就退出的问题,以及中文显示乱码的问题。综合ubuntu论坛上的讨论此处的文章,终于完美解决。
1、安装google earth所依赖的库:

sudo apt-get install libqt4-webkit libqt4-gui libqt4-network libqt4-core

2、删除google earth自带的库,或者将其移走。
这些文件全在HOME下的google-earth文件夹下,执行:

cd ~/google-earth
mkdir old
mv libcrypto.so.0.9.8 old
mv libQtCore.so.4  libQtGui.so.4 libQtNetwork.so.4 old

切记不要删除 libQtWebKit.so.4

ubuntu 10.10 64位版本下如此操作问题解决。ok,收工!

重写了4sqr,支持照片上传

这两天重写了4sqr,原来的4sqr因为foursquare的APi升级导致无法使用,现在用这个PHP API重新写了一个。安装使用说明在此

4sqr这个网页客户端适合没有foursquare客户端,但是可以使用google纵横的GPS手机。如果你的手机有foursquare客户端,但是客户端不支持照片上传,也可以用4sqr作为一个替用品。对于GFW问题,这也是一个解决方案。要说的是,对于大多数黑莓用户而言,手机不支持AGPS也不支持基站定位,在室内用foursquare客户端很杯具,经常因为无法定位而找不到地点,只能搜索來找地点。4sqr则是通过google纵横定位,凭借其基站定位技术,因此在室内也可以轻松check in。哦,对了,黑莓版的foursquare还不能添加新地点,4sqr可以解决这个问题。

几个要点:

  1. 要先去注册一个应用,CALLBACK URL要和config.php里的$redirectUri处一致。
  2. google纵横的页面改版了,user id复制粘贴在手机上操作不易,因此现在改成了个人版,只能自己使用
  3. 为了防止GFW,禁用了所有的网络爬虫,遵守robots.txt的搜索引擎不会收录
  4. 现在可以在check in时上传照片。如果你有flickr帐号,建议你通过FlickSquare把照片同步到flickr

下载4sqr v2版

二维码下载。

乱读四本

元旦以来,陆续读了四本书。推特上有人问我有什么好书可以推荐,我实在不知如何回答。每个人的读书兴趣都不一样,尤其是非小说类的图书,很难说我喜欢的,别人就也会喜欢读。尤其是我这种喜欢乱读书的人,完全没有焦点,姑且把我读的这几本随便介绍一下吧。

果壳中的宇宙》:霍金同学的这本书虽然名为科普著作,但是看着着实吃力,一点也不普。千万不要被全彩印刷和有趣的插图所迷惑,文科同学建议还是不要看了,理工科的同学,要是不是学物理的,看的八成也会累死。这是一本典型的装逼书籍,也是一本上好的睡前催眠读物。时间旅行一章看得我晕头转向,只搞明白了即使有时间机器,你也无法穿越时间,因为需要先穿越过一道无限密度的能量屏障,而此时将会连人带机器全部被辐射暴毁的连一点渣都不剩。

话说科学大家们写科普著作貌似都有一个通病,生怕别人不懂,都尽量不用公式而用比喻等语言手法來达到浅显的目的,但是却往往适得其反,很多高深的理论本来就已经超出了人的自然理解能力,即使再形象,只要保持科学的严谨性,还是很难被大众理解。此时还不如用一些简单点的公式,反而來的更容易理解一些。

另外,这本书的中译本,明显虎头蛇尾,后半部分的翻译质量明显不如前面的好,或许是出版时间太紧的缘故?

时间、空间和万物》:又是一本物理科普著作。这本书是李泳翻译的,现在已经难得一见翻译的这么好的书了。

夸张一点说,物质世界的基本构成完全是量子化的,不确定性原理在诉说着这个世界完全是几率的结果。理论上,破镜也能够自动重圆,把镜子打碎的电影倒过来放(就像武侠片中的飞檐走壁,一跃上房其实是把从房上跳下来的镜头倒过来播放而已),就可以看到镜子又完好如初了。这在物理上是不违背任何定律的。从热力学第二定律上来看,镜子的重圆减少了熵,因此不可能。而从量子力学上来看,破镜自动重圆并非不可能,只是这种可能性太小了,小到根本不必去考虑这种可能性,或者说你把世界上所有的镜子都打碎,碰上这种情况的几率都还小到可以忽略。

书中最后深奥的打油诗非常有趣:

我们说空空如也,
我们说如也空空,
我们说量子的笑容。
看万物飘忽不定,
谁能说时间匆匆?
没完没了的问题,说也无穷。

她送我一粒光子,
还照亮不了自己,
我把它从头剖开,
只为看个彻底;
还把他泡进洗涤剂,
不让它四散分离

她幻化出中微子,
一百,一百,还有多多。
亲朋好友都来,把一条条禁律吓破;
我看见了,小鬼,
一个对头一个姐妹。

它给我一个电子,
说那电荷应有代价,
我给她四十粒子,
尽管它不是太大。
看呀它实在可怜,
比重子差的还远。

她传来一颗中子,
说它就要远行,
它却滔滔不绝,说自己该是颗星星。
我想“裂变的损失多大,
它才是政治家。”

她最后唤来超子,
超子紧皱着双眉。
它叹息十二个新便士,抵不过半块黄金币。
“唉呀呀,我真后悔,
悔不该走进了八卦堆。”

她发出镭射的光辉,
她走进绿色的春雷,
她留下漆黑的洞穴,
不留下一点伤悲。
“老伙计,请进!”这是谁在答应?
我敲门问,“这是哪家的陷阱?”

那是古老的引力子,
要歇脚在夕阳黄昏。
阳光落进GM的荒林。
我说那不是我的家,
它说我正在喝一杯茶。

最后要说的是,这本书是第一推动丛书中的一本,整套丛书看来都非常不错。

网民的狂欢:关于互联网弊端的反思》:这本书没啥意思。作者是一个极端的精英主义者,虽然在结论中提出应当避免技术所带来的负面影响,还是有点警示作用,但是其立论的根据却是相当薄弱,用非常守旧的思想去看待新生的事物,盗版、欺诈、隐私这些问题不是web2.0造成的,没有互联网,这些问题依然存在,而作者却把这些问题一股脑全算在web2.0身上,并不公平。新的技术和新的生活方式必然会造成与旧有的生活方式的冲突,人类文明就是在这种冲突中一点点发展起来的。旧有的东西不适应新的方式,必然会产生改变,而不是去一成不变的维护旧有的,而视新事物为洪水猛兽。在这一点上,作者倒是蛮适合中国生活的(o(∩∩)o…哈哈)

作者不相信网民,认为业余者对专业人士造成了威胁,也降低了生活品质。作者或许不了解开源社群。linux的作者托瓦兹在写出linux时还是一名学生,恰恰是作者眼中的无知的业余分子(在作者眼里自由软件的积极分子估计都是他所谓的偷窃者)。作者或许不知道有种人叫做业余天文学家,许多人都具有专业的天文观测水平。维基百科上虽然很多业余人士,但是如同每个人除了有本职工作或本专业技能外,往往还有很多个人的兴趣爱好,在这些个人的兴趣爱好领域,他也可能是一个非常专业的人。

总之,这是一本非常业余的著作,许多基本的知识作者都没搞清楚(例如把CC协议当作是在鼓励盗版),作者的书恰恰正是他书中所诅咒的劣质品,真的是很搞笑。

共创未来:打造自由软件的神话》:对开源软件运动和自由软件运动的历史感兴趣的人可以看看,只是有些老了,02年的书,书中讲的有些东西已经过时了。原版可以在线阅读,电子版采用的CC授权。

———————————————————————————————————-

元旦以来这些天,难得能够痛快的连看四本书,阅读的畅快感让我连网都懒得上了。总说电子书将会使纸质书走入历史,但是电脑上的阅读体验还是很糟糕,电子书很难细细的阅读,仔细的品味,iPad相对来说的确在阅读体验上好得多,但是仍然阅读起来有浮躁感,还是不如纸质书读起来更有感觉。一方面或许电子书的阅读环境更为嘈杂,无论点脑还是iPad,总有像邮件、twitter消息、IM弹窗等滋扰,或者总有其他的应用或者网站來分心。另一方面纸质书提供的不仅仅是良好的阅读体验,静心的阅读,还包括了特有的纸张的触感、翻页的美妙、油墨的味道等等,这些是电子书无法提供的。

一个将gif转换成svg的命令行方法

刚刚学到的一招。

在linux下,首先将gif文件转换为位图文件(bmp):

convert x.gif x.bmp

然后再把bmp转换成svg图形格式:

potrace -s x.bmp

非常简单好用,而且转换出来的svg图像并不比手工用Inkscape来的差。

    File:夏-oracle.svg
上图是甲骨文的“夏”字,左边是gif,右边是从gif转换出的svg。(直接下载该svg文件)
《说文》:“夏:中国之人也”。甲骨文的夏字是一个中国人的象形。

开源的商业模式

开源软件的商业模式大致有:

  • 技术支持:拖过围绕开源软件提供商业性的技术支持服务。虽然用户自己也可以编写代码,修改文件,但是由专业人员来做更会有效率,更能实现规模经济。这也是开源软件中最显而易见的盈利模式。例子:红帽linux公司
  • 赔本赚吆喝:开源软件随商品一起附赠给用户,以此树立公司信誉
  • 销售-释放:公司开始销售的是私有软件,经过一定的产品周期后(一般在开源的利益高于私有软件销售收入的时候),将该软件开源,以此赔本赚吆喝。例如Doom的游戏引擎
  • 附件销售:可以看作是像动漫周边产品一样,卖的不是软件,而是与软件相关的图书、手册、应用指南等。例如OReilly公司
  • 服务创造模式:通过将产品开源,以创造其他产生收入的服务。这是一种共赢模式,用户在开源产品的基础上进行再创作,从而扩大该产品的影响,进而确立自己对该领域的领先地位。

开源软件如此,那么与它一脉相承的,以维基百科为代表的自由内容,又将会有怎样的商业模式出现呢?

—————————————————————————————————————

开源的成功之路》这本书虽然翻译的不是很好,但是以最近连看的几本翻译的书,已经算是还不错的了。只是译者似乎不太熟悉开源,一些人名翻译的比较糟糕,例如Linus Torvalds翻成了莱纳斯·托瓦尔德斯,而不是常见的林纳斯·托瓦兹;Richard Stallman翻作理查德·斯托尔曼,而不是常见的理查德.斯托曼。等等…

Chrome OS管窥

刚刚结束的Chrome OS演示会上,google宣布Chrome OS已经开源,这里是源代码。采用的是BSD许可证(BSD许可证介绍)。在性能方面,Chrome OS把目光集中在速度、简洁性和安全性上。

根据google的介绍,Chrome OS是一个只会支持web app基于HTML5的操作系统,Chrome OS就是一个浏览器,所有数据都潜伏在云层里。从按下开机按钮,到看到登陆界面,只需要7秒!用户根本不需要在操作系统里安装任何程序,保证系统绝对的安 全,所有内容都在浏览器里运行。文件系统被锁定只读,每个标签都运行于安全沙盒里。Chrome OS里的用户数据也永远是加密的,所有的数据都与云端同步,机器里的用户分区只是一个本地缓存而以。Chrome OS可以在任何硬件制造商的电脑上工作,但只支持闪存,不支持硬盘。
目前Chrome OS的源代码下载后需要编译,并且要给机器写好驱动才能运行。浏览Chrome OS的源代码可以看到,Chrome OS的linux内核用的是2.6.30(貌似还是ubuntu9.04用的内核?)。另外,中文输入法用的是iBUS。

上图:

chrome_os_screenshot.jpg