回首2007年,CowNew开源团队取得了突飞猛进的发展,2008年新年的钟声即将敲响,在此让我们回顾CowNew开源团队在2007年取得的成就、总结经验教训,并且对2008年的工作进行展望。
一、2007年工作回顾
1、开源产品日渐成熟
在KingChou、杨中科等队友的努力工作下,CowNewSQL经历了五次版本升级,目前已经发展到2.1版本;现在的CowNewSQL能够支持主流的DDL、DML语句,并且支持MYSQL、MSSQLServer、Oracle、DB2四种主流数据库系统;创建了CowNewSQL的JDBC驱动(支持JDBC3.0),这样无需修改系统代码就可以直接使用CowNewSQL;增加了对JDK1.4的支持;创建了CowNewSQL演示站点,使得开发人员可以更方便的试用CowNewSQL。
CowNewStudio可以支持插件式扩展,可以很容易的支持其他ORM产品;修正了用户反应的若干Bug,产品更加稳定;增加了对JDK1.4的支持。
2、技术图书出版成果丰厚
CowNew开源团队和清华大学出版社、电子工业出版社以及言实文化传播有限公司等图书出版机构建立了紧密的合作关系,为国内读者带来了多部优质图书,并且进一步扩大了CowNew在国内的影响。
7月份《J2EE开发全程实录》上市,11月份《自己动手写开发工具》上市,这两本书蝉联技术类图书销售排行榜,取得了非常好的销售成绩和市场反响;侯志松编写的《Hibernate技术手册》(暂定名)以及曲金龙、杨中科合著的《Java下的AJAX开发揭秘》(暂定名)已经交稿,正在出版运作过程中;另外一本数据库技术方面的图书也在编写过程中。
3、Antlr文档中文化第一期工作完成
在曲金龙、周晓、欧近利、阿乐、west2snow、杨中科等队友的努力工作下,Antlr核心文档的中文化初稿已经完成,目前正在内部校对过程中。
4、和国内外开源团队建立了稳定的合作关系
自创始之初,CowNew就与EasyJF开源(http://www.easyjf.com)保持着紧密的合作关系,无论是在技术方面还是在开源团队的建设与发展方面都进行了非常深入的交流。12月份CowNew与EasyJF合作的开源项目BlueFin正式启动,这标志着CowNew与EasyJF的合作进入了一个新的阶段。
与国外的开源组织Antlr建立了稳定的合作关系,CowNew将负责Antlr在中国的本地化与推广工作,与国外开源组织的合作将会扩大国内开源运动在国际上的影响力,并且能够在与国外开源组织的合作过程中学到国外相对较成熟的开源项目运作经验。
5、开源聚会
4月份我们组织了北京地区成员的聚会,这也是团队成立以来第一次聚会,聚会在轻松愉快的氛围中进行,进行了深入的交流。
6、团队大规模扩充
2007年,随着团队在业界影响力的不断扩大,CowNew开源团队的成员大规模扩充,特别是欧进利、周晓、曲金龙等核心成员的加入使得CowNew开源的实力得到了极大的增强。
二、2007年工作不足与经验教训
1、产品的市场调研和推广不够
团队产品在立项的时候没有进行足够的市场调研,导致有的产品的市场定位不明确,不仅浪费了精力,而且使得项目后劲不足,直接影响了成员的积极性;团队产品的推广力度不够,团队产品的知名度仍有待提高;由于推广力度的问题,导致团队产品在实际项目中应用不足,没有形成成功案例,制约了产品的后续发展。
2、团队内部组织建设有待加强
在团队建设初期,由于成员和子项目都非常少,所以采用集中制管理非常适合。但是随着成员的增加以及子项目的丰富,这种集中制管理模式的劣势已经突显:
3、"帮助队友成功"的执行不够彻底
"帮助队友成功"是我们团队内部建设的一个宗旨,目的是保证让成员开源做的贡献能够实现回报最大化。不过由于种种原因,"帮助队友成功"执行的还不是非常到位,核心成员得到的各方面回报里期望还是有一定差距的。
4、团队内部建设不足
团队成员资格审核工作不到位,一些不符合基本要求的成员的加入增大了内部管理的难度,使得团队内部管理混乱;信息不够透明,团队的一些最新消息无法及时准确的传递到每个队友;没有完善的成员管理制度,对成员的信息没有一个科学的管理,不仅会造成成员的流失,也使得对团队的人力资源掌握不足,无法充分发挥没有成员的潜力;团队聚会前期准备不足,没有达到理想效果;对核心成员的关怀不足。
5、团队网站重视程度不够
团队网站做为一个宣传窗口目前还过于简陋,让访问者感觉不够专业,进而使得访问者对CowNew的实力产生了怀疑;团队网站信息不足并且更新不及时,访问者无法得到想了解的信息,甚至有的访问者认为CowNew已经是不活跃的开源组织了;网站上对团队产品以及核心成员的介绍非常缺失。
目前团队网站放在一个普通虚拟主机上,采用的是电信的线路、网站空间只有150M、只支持ASP网页、能够使用的CPU资源和带宽资源都非常有限,所以导致大多数访问者感觉访问速度慢,能够支持的同时访问人数非常有限;同时由于ASP技术的天生缺陷,导致网站经常遭到无聊的Cracker的攻击;由于网站不支持Java、.Net等程序的运行,导致无法提供团队产品的在线演示。
6、团队关注的技术过于狭窄
CowNew开源项目的产品的技术起点较高,不容易被普通开发人员了解与学习,但是在文档和宣传方面却没有很好的进行技术普及,普通开发人员不能很好的试用与使用我们的产品。
对其他语言和技术关注度不够,.Net、Python、C/C++等语言以及Linux/Unix平台下也有大量的市场需求以及开源组织,特别是Linux平台下的开源项目的影响力更大,但是目前团队的产品几乎都是使用Java语言实现的,以至于很多人认为CowNew只是一个Java开源组织,限制了CowNew在国内的影响力与发展。
三、2008年工作计划
1、CowNewSQL升级以及推广。
CowNewSQL将提供.Net、C/C++等语言的移植版本(开发dll、so共享库,然后提供其他语言的包装);支持存储过程的翻译;支持方言到方言的翻译(比如MySQL到Oracle的翻译);将CowNewSQL的SQL分析引擎提取成单独的产品,进而提供基于它的SQL优化、SQL分析等工具;加大CowNewSQL的推广应用力度,打造典型应用案例,有必要的话可以用产品定制化的方式促进CowNewSQL的发展。
2、继续和国内外的开源组织保持合作
和EasyJF合作的BlueFin保持迭代性的版本发布,力争在2008年将BlueFin打造成有一定实用性的辅助开发工具;将CowNewStudio功能合并到BlueFin中,然后关闭CowNewStudio子项目,减少产品的重复开发。
和Antlr官方组织合作推出Antlr中文文档正式版;完成Antlr其他文档的中文化;启动Antlr案例项目,做为Antlr典型案例进行推广,提高编译技术的普及;基于Antlr进行编译技术的知识推广工作。
扩大与其他活跃开源组织的合作关系。
3、保持技术图书出版的发展势头
完成已经交稿的两本技术图书的出版,并且进行相关市场推广工作;数据库技术图书的完成与出版推广;工作流、编译技术等图书的策划与撰写。
4、其他语言和平台下开源项目的启动
论证.Net、Python、C/C++等语言以及Linux/Unix平台下开源项目的可行性研究,然后进行项目的启动以及成员招聘工作。
5、加大宣传力度
加大开源团队、开源产品以及核心成员的宣传工作,扩大与主流媒体的合作。具体包括在主要的技术站点创建团队Blog、团队圈子,和主流媒体合作推出产品以及核心成员的采访专题。
6、加强团队内部建设
确定子项目负责人,实行项目的负责人制;继续进行成员的招聘,扩充团队规模;加强对团队成员的审核机制,建立标准的笔试题库;定时清理长期不活跃成员;完善内部通讯录制度;针对团队的核心成员和普通活跃成员给予不同的任务并提出不同的要求,进行定期或不定期的工作汇报,并进行审核,指出不足;建立良好的沟通途径(maillist、团队Blog等形式),使得团队的最新消息能够及时传达到每个成员,让团队成员互相了解、集思广益。
7、完善团队网站
升级团队网站,完善团队栏目和内容,保证信息的及时更新;选择合适的网站Hosting方式,提高网站安全性以及访问速度;实行团队网站站长负责制。团队网站仍然定位为团队的对外宣传窗口。
8、其他工作
开展在高校的活动,包括开源校园行、技术讲座等;进行计算机学科基础知识的普及,包括网上视频、现场讲座、文章或者图书的撰写等。
附录 CowNew开源团队简介
CowNew开源团队(http://www.cownew.com)是目前国内较活跃的开源团队之一,创立于2006年,我们致力于基础平台的开发以及知识推广,目前已经有数个成熟的基础产品问世,并与国内数家网站、出版社建立了紧密的合作关系。
一、团队产品介绍
1、CowNewSQL
由于种种原因,各个数据库系统的SQL语句语法以及支持的函数都不尽相同,这造成了如下两个问题:(1)系统在多个不同数据库之间移植变得非常困难,特别是需要维护多个数据库版本的时候;(2)开发人员必须对各种数据库的语法差异非常了解,这加大了开发难度。
目前解决这种差异的最常用的技术就是SQL语句翻译,使用SQL翻译器可以将SQL语句翻译为在不同的数据库中支持的特定平台的SQL语句。CowNewSQL就是这样一款产品。
CowNewSQL简化了跨数据库产品的开发,比如取当前日期在MSSQL中是"SELECT GETDATE()",在MYSQL中是"SELECT NOW()",在Oracle中是"SELECT SYSDATE FROM DUAL",使用CowNewSQL以后您只要使用"SELECT NOW()",那么CowNewSQL就会为您自动将其翻译为对应数据库平台支持的SQL语句;取数据库前10条记录,在MSSQL中是"Select top 10 from T_1"、在MYSQL中是"SELECT LIMIT 0, 10 "、在Oracle中是"SELECT FROM DUAL WHERE ROWNUM <= 10",使用CowNewSQL以后您只要使用"Select top 10 from T_1",那么CowNewSQL就会为您自动将其翻译为对应数据库平台支持的SQL语句。
CowNewSQL支持如下几种类型的SQL语句:CreateTable/AlterTable/DropTable/CreateIndex/DropIndex/Select/Insert/Delete/Update/ShowTable/ShowTables;支持子查询、Join、Union等高级的SQL特性;支持日期(包括取当前日期、从日期中提取任意部分、计算日期差异、日期前后推算等)、数学(包括取绝对值、取PI值、四舍五入、对数计算、随机数等)、字符串(包括取子字符串、取字符串长度、字符串截断、大小写转换等)、基本数据处理(包括数字字符串互转、日期转字符串、非空判断等)等函数。
CowNewSQL支持MYSQL、MSSQLServer、Oracle、DB2四种主流数据库系统;能够以JDBC驱动的方式使用,这样无需修改系统代码就可以直接使用CowNewSQL;支持JDK1.4以及以上版本。
CowNewSQL后续工作计划:CowNewSQL将提供.Net、C/C++等语言的移植版本(开发dll、so共享库,然后提供其他语言的包装);支持存储过程的翻译;支持方言到方言的翻译(比如MySQL到Oracle的翻译);将CowNewSQL的SQL分析引擎提取成单独的产品,进而提供基于它的SQL优化、SQL分析等工具;加大CowNewSQL的推广应用力度,打造典型应用案例,有必要的话可以用产品定制化的方式促进CowNewSQL的发展。
2、技术图书
CowNew开源团队和清华大学出版社、电子工业出版社以及言实文化传播有限公司等图书出版机构建立了紧密的合作关系,为国内读者带来了多部优质图书,并且进一步扩大了CowNew在国内的影响。
2007年7月份《J2EE开发全程实录》上市,11月份《自己动手写开发工具》上市,这两本书蝉联技术类图书销售排行榜,取得了非常好的销售成绩和市场反响;侯志松编写的《Hibernate技术手册》(暂定名)以及曲金龙、杨中科合著的《Java下的AJAX开发揭秘》(暂定名)已经交稿,正在出版运作过程中;另外一本数据库技术方面的图书也在编写过程中。
3、Antlr的本地化推广
我们和Antlr合作进行Antlr的本地化(包括文档中文化以及案例中文化)、案例推广以及知识推广工作。目前Antlr文档中文化第一期工作已经完成。
Antlr项目后续工作计划:完成Antlr其他文档的中文化;启动Antlr案例项目,做为Antlr典型案例进行推广,提高编译技术的普及;基于Antlr进行编译技术的知识推广工作。
4、BlueFin
自创始之初,CowNew就与EasyJF开源(http://www.easyjf.com)保持着紧密的合作关系,无论是在技术方面还是在开源团队的建设与发展方面都进行了非常深入的交流。2007年12月份CowNew与EasyJF合作的开源项目BlueFin正式启动,这标志着CowNew与EasyJF的合作进入了一个新的阶段。BlueFin定位为打造一个用于快速开发JavaEE应用程序的实用开发工具及平台,主要涉及到Eclipse插件开发、常用Java框架(如Spring、JPA、EasyJWeb)支持,辅助领域模型分析及设计,代码生成引擎等领域的技术。
此项目刚刚启动,需要熟悉Eclipse插件开发、熟悉Java常用开源框架使用的成员的加入。
5、多媒体教程
CowNew开源推出了《Eclipse实战系列视频教程》等优秀的开发视频教程,在业界引起强烈反响。未来CowNew会推出更多视频教程,包括开发技术类以及计算机学科基础知识等高端视频教程。
此项目需要对计算机学科基础知识(数据结构与算法、操作系统、编译技术、模式识别等)有深入领悟、并且有一定的实战经验的成员加入。
二、核心成员简介
优秀的团队离不开优秀的团队成员,自从CowNew开源团队创立以来涌现出一大批技术好、乐于奉献的队友,下面列出的是这些优秀队友中的典型代表。
网名KingChou,本科毕业于西安交通大学电子商务系。现为北京大学软件与微电子学院在读硕士研究生。目前在IBM中国研究院参与SAAS、SCA相关项目的研发工作。主要的研究领域有SOA、J2EE、P2P等。CowNew开源团队创始人之一,在CowNew开源社区中参与了CowNewSQL中Sql语法词法解析器的开发工作,目前为BlueFin项目负责人。
个人邮箱:kingchou.pro at gmail.com
毕业于山东大学物流工程专业,曾就职于金蝶软件(中国)有限公司,目前在北京赞同科技发展有限公司从事银行基础开发平台的开发工作。主要研究领域有编译技术、IDE设计与开发、Java企业级应用等。著有《J2EE开发全程实录》、《自己动手写开发工具》等畅销图书。CowNew开源团队创始人之一,参与了CowNewSQL、CowNewStudio等的开发工作。
个人邮箱:about521 at 163.com
个人QQ:57077490
网名:坏男孩,毕业于山东科技大学,资深软件工程师,从事工业控制软件、交通行业业务系统软件开发。关注的技术有J2EE、门户Portal、JAVA框架、Linux操作系统以及数据库运维技术。CowNew开源团队创始人之一,致力于CowNew团队建设以及产品研究与推广。
个人邮箱:badboyryan at gmail.com
blog:http://badboyryan.blogjava.net/
个人QQ: 147863130
网名芽孢,毕业于武汉理工大学计算机学院,硕士,现任职于河南科技学院,曾任职大型汽车制造集团,主要关注网络数据库和工作流管理技术,参与多个大型项目架构和开发。作者在企业级应用开发方面和工作流管理方面颇有见解,曾发表多篇学术文章。编写的《Hibernate技术手册》(暂定名)即将出版。
blog:http://blog.matrix.org.cn/houor
个人邮箱: forhouor at gmail.com
毕业于西安电子科技大学,主要从事 J2EE 方面的工作,有大量 J2EE应用的设计与开发经验。热衷于数据结构、算法以及编译原理等计算机基础学科的研究与学习。酷爱英语,翻译过一些国外的优秀技术文章,并创办"每日英语"网站(www.beanwoo.com)。在CowNew开源团队中参与了Antlr文档的中文化工作,曲金龙等编著的《Java下的AJAX开发揭秘》(暂定名)即将出版。
浙江大学在读硕士,主要研究方向为嵌入式系统开发,对Linux系统有深入的研究。精通C/C++,熟悉VC、QT等编程环境下应用程序的开发。在Antlr文档本地化中做了大量优秀的工作,目前为Antlr本地化项目负责人。
个人邮箱:oujinli1985 at gmail.com
2005年毕业于华东理工大学化学工程与工艺专业,目前从事基于Java、.Net技术的商业软件开发。在Antlr文档本地化中做了大量优秀的工作。
个人邮箱:Zhouxiaozxr at 163.com
三、合作伙伴
四、加入CowNew
CowNew开源团队目前处于高速成长期,急需有志之士加盟共同为中国的开源事业奋斗。您可以申请加入任意一个项目组(目前有CowNewSQL、Antlr中文化、BlueFin、图书写作小组、计算机学科基础知识推广小组);也可以提出您自己的想法,我们将会组织对您的想法感兴趣的队友形成新的项目小组。
如果你申请加入CowNewSQL项目组或者Antlr中文化项目组,请回答下面的测试题:
1、请翻译下面的段落: A lexer (often called a scanner) breaks up an input stream of characters into vocabulary symbols for a parser, which applies a grammatical structure to that symbol stream. Because ANTLR employs the same recognition mechanism for lexing, parsing, and tree parsing, ANTLR-generated lexers are much stronger than DFA-based lexers such as those generated by DLG (from PCCTS 1.33) and lex. 2、编译器的六个阶段:_____、_____、语义分析、中间代码生成、代码优化和代码生成。 3、(1+2)*3的抽象语法树是什么样的? 4、每周能有多少时间投入到开源项目的开发过程中? 5、你为什么要参与开源项目的开发?对你个人有哪些好处? |
如果您申请加入BlueFin项目组,请回答下面的测试题:
1、谈一谈Eclipse的插件体系的亮点。 2、如果你从头开发一个Java开发环境的话,你会规划出哪些功能,预期会遇到哪些问题? 3、请翻译下面的文章: Eclipse is a platform that has been designed from the ground up for building integrated web and application development tooling. By design, the platform does not provide a great deal of end user functionality by itself. The value of the platform is what it encourages: rapid development of integrated features based on a plug-in model. 4、每周能有多少时间投入到开源项目的开发过程中? 5、你为什么要参与开源项目的开发?对你个人有哪些好处? 6、如果在开发程序的过程中程序报出如下的异常: 21:26:28,171 WARN [JMSContainerInvoker] Could not find the topic destination-jndi-name=my_test_topic javax.naming.NameNotFoundException: my_test_topic not bound 而你又不知道如何处理此问题。那么你会怎么办? |
如果您想加入图书写作小组或者计算机学科基础知识推广小组,请简要介绍你的选题。
申请加入的队友请将个人资料、测试题答案(或者选题说明)等资料通过Email发送给相应项目的负责人(联系方式详见下面的"联系我们")。
注意:我们的团队目前只是一个非盈利性、非实体组织,目前仍然在发展的探索中,我们无法在短时间之类让您看到经济回报,团队成员也全部是利用业余时间从事这项工作的,所以如果您需要的一个能立即给您带来经济回报的全职工作,那么我们的团队并不适合您。
五、联系我们
参与BlueFin:kingchou.pro at gmail.com
参与Antlr中文化:oujinli1985 at gmail.com
参与其他项目组:[email protected]
合作及其他事宜:[email protected]