Open SunRain opened 8 years ago
@Match-Yang
之前已经在做了,qml 数据和 c++ 数据的统一,各个下载任务的抽象,加油
希望能够提供一个核心的下载调度类库,里面只包含基本的下载模块的抽象,然后在此基础上包装一个qml的交互层。各个下载模块,可以使用qt的plugin机制来单独编写,这样也可以方便扩展和后续的维护。
好吧,看来都很忙,没有授权的话,我就没法动手修改了,因为打算用LGPL或者MPL 加上 GPL两个协议来授权不同模块,所以必须要有贡献者/项目作者同意才可以。。。
@sbwtw 来吧!
好吧,有人接手的话我就不搀和了
@SunRain 可否告诉我们,你先让我们项目基于LGPL的目的是?
主要是考虑解耦项目模块,同时使用Qt的插件机制来开发不同的下载支持。 假设http、ftp、you-get、bt不同下载支持模块为单独的DownloadTask。项目核心(下载模块DownloadTask调度管理类库,相关的qml支持部分)这些作为一个单独的库文件开发,在这个库文件里面提供一个抽象的DownloadTask以方便开发具体的下载插件。项目核心使用MPL或者LGPL授权是考虑到,可以保证代码开源的情况下,方便第三方使用,这样也许可以吸引更多的开发者。 具体到单独的DownloadTask则可以使用不同的授权方式,比如GPL之类。 同时,使用插件机制的话,也可以方便项目维护以及添加不同的下载功能支持。
刚查了一下GPL转到LGPL的一些限制,没有找到明确说不可以转的,看到有一部分人说:如果是项目的owner,想怎么改都可以(不确定是不是对的)。 另外,pointdownload项目已经有好久一段时间没有去维护了,有些可惜了,我们已经给你添加了项目合作者权限(Collaborators),你自己去修改吧。 如果你愿意继续维护的话,欢迎继续提交代码,谢谢 ;)
(同时,sbwtw也加到了Collaborators组里面)
cc: @Match-Yang @sbwtw
因为需要在程序里面实现一个简易的下载模块,而之前也一直很关注深度和点载项目,所以本着不重复造轮子的想法(CV大法万岁-_-!!),研究了一下点载的代码。就说一下自己的一点小建议吧,毕竟我也是个业余菜鸟。关于项目的话,感觉好久不更新了,不知道作者是不是放弃了,或者有没有后续人员来接手,因为感觉目前的架构还是有点凌乱,基于QtNetwork模块的下载部分,应该不需要使用多个NetworkAccessManager实例,线程用继承QThread重写 run方式,然后内部exec事件循环,感觉不是很优雅,和上层qml通讯的部分,也给人很多hack的感觉。另外,软件协议方面,能否分开授权,核心下载作为类库引用的部分,能否基于LGPL来发布。另外,可以的话,能否允许我复用一些代码片断,更进一步的话或许做一个点载的fork版?