最近因为工作+个人兴趣的原因,真正的接触了一些开源项目,感觉就是一个字:爽!有一个弟兄说,未来的软件都将是开源的,我觉得在3/5年内这倒不至于,但是开源是个潮流,这是难免的了,以后估计会是开源和商业软件并存的状况,而且普通用户,只要有一定技术能力的,估计都会倾向于使用开源软件。原因很简单,一是费用低,二是可定制性强,三是质量已有足够保障。

     下面说说我接触到的开源项目。首先是LAMP架构的应用,主要有bug系统mantis,项目管理系统dotproject,CRM系统sugar CRM。在网上搜搜,下载后安装设置一下,软件公司里最基础最重要的两个流程管理工具就可使用了,一分钱不花,而且你还有源代码,功能不够还可以自己扩展(有时间我会把dotproject和mantis整合到一起来用)。至于著名开源crm sugar,看一下,还真是普通crm功能都有了。另外乃至erp这样的企业应用领域,都有足够成熟好用的开源产品了,有时你真的会怀疑自己花那么多时间精力去重复发明轮子何苦呢。
     
      另外一个开源项目的了解是开发方面的,Nhibernate+Castle,确实挺不错的两个难得的.net方面的开源项目。估计每个有一定想法的程序员都会有做自己的ORM或开发框架的冲动,因为整天的CURD和复制粘贴太无聊了。但是并不是每一个人都有足够的能力来实现,这个时候,为什么不试试已经证明可行的优秀开源项目呢。你还可以修改他们以适合你的口味(比如我们就是使用修改过的框架)。
    
      当然,开源也不是万能的,它也有它的代价。一个是对使用者的要求高一点,开源项目通常支持文档不够,而且易用性不好,很多东西都需要你去摸索尝试,习惯了微软的包办式服务和详细文档引导的弟兄一开始难免郁闷。比如说安装过程,LAMP,linux不说,apache/mysql/php要跑起来就足够你搞半天了,还好有easyphp这么好用的AMP套件。另外安装配置mantis这样的php程序也比较麻烦,经常需要手动生成数据库,改某个配置源文件,解决中文乱码,配apache插件等,还好我当年是搞perl起家的,有着深厚的手工操作功底,apache/mysql/php当年也是搞过一下的,总算还能一一应付。(这个时候总算终于体现了我当年裸搞perl的价值了,哈哈)。二是相对复杂了点,学习代价大。比如Nhibernate,也要看半天才能用的,而且又要了解一堆API用法,HQL什么的,有时你会觉得还不如自己搞一套算了,简单易用。具体情况具体分析,各取所需吧。  
 
      不管怎样,开源提供了一个新的选择,并且很多时候它还是一个很不错的选择。我想在之后的工作里,有必要多关注一下开源项目,多点索取,自己省点力,有可能也要贡献,毕竟能贡献也是很有成就感的,也算是人人为我,我为人人了。

posted on 2006-04-08 15:25  乌龙  阅读(693)  评论(2编辑  收藏  举报