LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1024|回复: 9

我对当前qq自由软件开发模式的一点看法

[复制链接]
发表于 2005-5-4 01:15:55 | 显示全部楼层 |阅读模式
目前各qq软件面临的主要问题都是:大部分工作由1-2人负责,一旦主要开发人员没有时间,不得不放弃开发的时候,整个项目就没有人可以接手,夭折了。这可谓自由社区一大损失。

确实,开发维护一个qq软件是很耗精力的。数据包截包分析、软件的界面设计、数据包的控制逻辑功能、整体调试。都是一个人做,一来工作量太大,超越开发者的精力(大部分开发人员应该都是在校大学生或者刚出来工作的,都有自己的正职,只有在业余时间对freeware进行维护),二来,一直是独自来干的话,不方便后来者接手,即使有人接手,对他水平的要求也很高。

我的想法是分离出协议分析、功能实现、界面设计、整体调试这四个部分,分给不同的人做。虽然这样开发进度会慢于单独开发(你看luma每天噼里啪啦出补丁,多人开发的话可能要1-2个星期才release一个测试版),不过从长远来看有利于软件开发组成员的稳定和可持续性。

协议分析:主要就是用ethereal等工具,破解tencent协议的各字段意义,并且写好协议文档供后续开发。

逻辑控制:维护一个十分精简高效的qq内核,包含packet层和session层,其实就是一个adapter,在功能和数据包之间相互转换。并通过回调函数来把有用数据送到interface层,发布为动态链接库libqqcore.so
另外,这一层很可能需要直接用c实现,为的是效率和通用性。

界面设计:gaim也好,qt也好,或者做成console qq也行,其实不过是一层shell。通过libqqcore的api设置好回调函数。

调试:应该有专门的调试人员,这些人员不仅仅是发现bug,而且应该初步定位bug的原因,并反馈给开发人员,甚至能直接提供patch。

粗浅想法如此,想听听大家看法,特别是yunfan、luma等意见。
发表于 2005-5-4 06:05:27 | 显示全部楼层
我了解的国外的开源开发模式:
感兴趣的人跟踪开发, 自己熟悉代码后, 提交给作者patch, 作者接受patch, 然后可能就
成为作者。

毕竟, 大家时间,精力都有限,不可能重头到尾把代码给感兴趣的人讲一遍。


至于你说的qq内核, 我个人认为,可能把网络分离出来, 做成一个纯的腾讯协议封装库,
更有利于升级和维护。我目前使用ethereal 和自己写的QQHacker静态分析工具在分析2005.
分析的内容,在http://www.linuxfans.org/nuke/mo ... wtopic&t=115879
会不断更新。

大家对QQHacker感兴趣的,可以在
www.magiclinux.org/people/yunfan 里找到, 说明也在里面。 另外,QQHacker也依赖KDE :(


LumaQQ, 的packet部分,和网络以及界面都是相对独立的。 Eva的libeva部分,提供了同样的功能,
用标准C++实现, 不依赖Qt和KDE。 对于libqqcore.so的实现, 如果你愿意,可以带头来制作。我可以
参与代码实现
回复 支持 反对

使用道具 举报

发表于 2005-5-4 10:57:42 | 显示全部楼层
>我了解的国外的开源开发模式:
>感兴趣的人跟踪开发, 自己熟悉代码后, 提交给作者patch, 作者接受patch, 然后可能就
成为作者。
正是基于这种模式,我觉得 eva 在 linuxfans 上招募开发人员是价值不大的事:有能力,有时间,且有兴趣,想参于的人自然会给你提交 patch 或者给你建议的(如果有CVS 的话,这才可能)。我看到有很多人报名了,但是有多少人在真正参与其中呢?
回复 支持 反对

使用道具 举报

发表于 2005-5-4 11:09:25 | 显示全部楼层
Post by liuspider
>我了解的国外的开源开发模式:
>感兴趣的人跟踪开发, 自己熟悉代码后, 提交给作者patch, 作者接受patch, 然后可能就
成为作者。
正是基于这种模式,我觉得 eva 在 linuxfans 上招募开发人员是价值不大的事:有能力,有时间,且有兴趣,想参于的人自然会给你提交 patch 或者给你建议的(如果有CVS 的话,这才可能)。我看到有很多人报名了,但是有多少人在真正参与其中呢?


honestly 的讲, 哪个,报名贴,并不是我发的。
唉,凡是真得想参与的, 都会参与进来的。
回复 支持 反对

使用道具 举报

发表于 2005-5-4 11:14:34 | 显示全部楼层
对啊,报名<>参加

呵呵
我要用perl来写qq~~~

kidding
回复 支持 反对

使用道具 举报

发表于 2005-5-4 17:31:48 | 显示全部楼层
现在重复开发很严重,为什么大家不能聚在一起做,非要各自为战,我有LUMAQQ,你再来EVA。LumaQQ算是我们国内开源作品中较少成功的案例。但是LumaQQ的开发大多集中在Luma一个人身上,这种单打独斗的模式,类似与现在软件行业的小作坊公司,成不了大气候,因为它根本就是依靠作者一个人的热情在延续,没有更多人来参与,注定要垮掉。
话说了这么多,一句话:集中力量办大事。毛泽东说过啥玩意,与其伤其十指,不如断其一指。与其我们有LumaQQ,EVA(等等),不如我们只要一个。
回复 支持 反对

使用道具 举报

发表于 2005-5-4 21:19:29 | 显示全部楼层
正如 linux (windows 也是)下面的输入法一样:大家需求不同,各有所好,很正常的,有多个项目...

看看 IM 软件:MS, yahoo, AOL 都有自己的,而客户端就更多了
回复 支持 反对

使用道具 举报

发表于 2005-5-5 00:14:14 | 显示全部楼层
问题的根源是现在大多数人比较浮躁,尤其是某些自以为是的大学生们。
回复 支持 反对

使用道具 举报

发表于 2005-5-5 17:13:26 | 显示全部楼层
其实lumaqq的api很好啊,我正在用他开发textqq,没有什么难上手的。代码结构也很清晰,如果需要更改内核的话也很容易下手。

其实自由软件既然开源,就说明拿着别人的源码继续改进、开发,是一种普遍被认同并且存在的一种方式。

自己懒、不肯动手去做的话,就不要对别人诸多要求。

另外,perl现在也有qq模块了。
回复 支持 反对

使用道具 举报

发表于 2005-5-6 12:43:15 | 显示全部楼层
Post by formalin14
其实lumaqq的api很好啊,我正在用他开发textqq,没有什么难上手的。代码结构也很清晰,如果需要更改内核的话也很容易下手。

其实自由软件既然开源,就说明拿着别人的源码继续改进、开发,是一种普遍被认同并且存在的一种方式。

自己懒、不肯动手去做的话,就不要对别人诸多要求。

另外,perl现在也有qq模块了。

终于听到一句比较象样的话
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表