Q:我想开发新的应用程序,你对此有什么建议?
大家都知道,我们还需要编写更多的KDE应用程序,不过,已有的kde应用程序更需要得到你的帮助。如果你想了解一下目前需要大家帮忙的地方,请不妨看看本页面上的相关内容。
在开发新的应用程序之前,请最好先查看一下apps.kde.com站点的内容,从中了解现有应用程序的开发情况。你还可以查询kde-devel@kde.org邮件列表,了解一下是不是已经有人在着手开发你正计划的同一项目了。
Q:我是一名程序开发人员,我能为KDE做点什么?
请从工作列表中查看一下目前的开发任务-其中必有一项属于你。当前,KOffice和KDevelop软件尽管受到很多赞誉,但是相关的开发人员太少了,你可以不妨瞧瞧这两个项目。其实,并不是说一定要成为KDE核心开发人员才能对KDE有所贡献。KDE是高度模块化的程序项目,在不必了解整个系统的情况下,你可以通过自己的工作来改进项目中的某一部分。
你还可以查询kde-devel,看看谁需要你的帮助。
你还可以通过使用最新版本的KDE从中发现自己可以援手的地方。比如,主题生成器(theme generator)、konsole计划编辑器、游戏的改进等等。这么大的项目,里面肯定有遗漏什么特性的地方,就等你大显身手了!
你对某个特定领域很熟悉吗?你对它很感兴趣吗?瞧瞧其中有没有你能上手的应用程序,要不你干脆自己写一个。KDE特别需要更多的、面向非专业人士的应用程序。
Q:我不是开发人员,我又能做点什么呢?
好多任务并不需要任何开发技能。比如,编写程序评估报告(参见kde-promo邮件列表)、帮助编写文档(参见i18n.kde.org/doc)、搞翻译(参见i18n.kde.org)、找bug(参见bugs.kde.org)等等。
Q:要参与KDE的开发需要达到怎样的开发水准?我应该学习什么?阅读什么?
你应该熟悉C++。还应该读过Qt指南,浏览过Qt的文档,对Qt比较熟悉。你还应该阅读一下KDE指南,了解该软件的结构和文档 。你还可以阅读KDE方面的书籍,反正没什么坏处。当然,要成为kde开发人员也不必非要熟悉KDE的整体结构。kde技术用起来很简单,所以,你还是把注意力放到自己真要做的工作上为好,以后再了解一点其他方面的情况就可以了。
developer.kde.org和doc.trolltech.co(还有$QTDIR/doc/html)包括了大量相关材料,应该充分利用这些材料。
你可以通过阅读这些学习材料,查找示例目录,看看其他人编写的程序代码。阅读和编写程序代码是学习编程的最佳方式。
Q:什么是cvs?我怎么从cvs得到kde?
参见匿名cvs页面(http://www.kde.org/anoncvs.html)。
Q:我能把自己编写的应用程序加到KDE里吗?
有三个要求:1.你的应用程序必须在最新版本KDE下编译(CVS)。2.你的应用程序必须稳定。3.你的应用程序必须可维护。你的程序也许没有太多的bug,受到的赞许也很多,但人们希望你能修补自己的程序bug,实现合理的程序要求。还可以参见下一个问题。
Q:在KDE内部或者外部开发,哪种情况更好一些?
核心开发人员Waldo Bastian在一封有版权的邮件中是这样解释的:
作为KDE开发人员的一分子就意味着你必须同其他人合作。这种合作可以为开发人员带来很多权利,同时也赋予了开发人员更多的责任。
这些权利有:你的代码将出现在所有发布版上,人们可以修补代码中的bug,你可以获得免费的译文和文档,大量的程序漏洞报告等等。
另一方面就是其责任了:你必须和项目中的其他开发人员保持联系,其他人可能修改你的代码,你必须尊重发布冻结(release freezes),你可以获得很多bug报告,人们希望你修补这些bug来维护自己的代码。
你不能只选择权利而忽略你的责任,权利和责任是相互依存的。
总而言之,软件的作者应该把自己的应用程序放到CVS里面去。我们通常不把软件放到KDE CVS里,除非作者希望这么做。反过来,如果作者乐于在CVS以外开发自己的程序那也是他作为作者的权利。除非某个应用程序的实际开发团队出现了分裂,否则非要把项目开发分开来做是毫无道理的。
但是……,如果把你的代码置于开放源代码许可协议管辖之下并将其放在了KDE CVS之内,那么你就给世界以(正如KDE所为)不可取消的权利来使用你的代码。KDE会使用这一权利来保护KDE的利益,即便违背了作者自己的愿望也是如此。
Q:我如何获得使用cvs的权利?
请询问Stephan Kulow(coolo@kde.org)或者David Faure(faure@kde.org),解释一下你为什么需要使用cvs。如果你对某个不属于你的应用程序做出了贡献,那么你最好首先把你的代码作为程序补丁提交给作者,让作者使用这些代码。如果作者并不负责维护自己的应用程序,你就可能成为新的维护人员……。尽管cvs权限并无限制,我们还是希望你不要在其他开发人员同意的情况下就弄乱人家的代码。
你还必须尊重软件发布版本规划的特性冻结(feature freeze,在developer.kde.org上发布)。
Q:我的应用程序不稳定,但是我想它加入KDE。
我们一般首先把这些程序放在kdenonbeta里面(== kde-alpha)。请在该软件版本中开发,到准备好以后,再把你的程序放到适当的kde软件包里。
Q:我不想失去自己的cvs历史记录。
当把你的应用程序放到kde之内的时候请提供你的cvs知识库的tgz包。
Q:特性冻结(feature freeze)适用于kdenonbeta吗?
不,kdenonbeta不是发布的软件包。但是,如果你希望自己的应用程序加入软件包,那么请在发布测试版之前提出申请。
Q:我可以在同一台计算机上同时安装稳定的和不稳定的两套KDE吗?
可以,请查看kde1和kde2页面。这种情况同样适用于kde 2的两个不同版本。
Q:我如何通过CVS模块检查目录?
检查顶级目录用'cvs co -l modulename'命令,用'cvs co modulename/admin'命令则检查模块中的admin/dir目录,然后可以用'cvs co modulename/subdir'命令检查你希望检查的目录。比方说,为了从kdenonbeta中找到唯一的reaktivate目录,你可以采用以下命令:cvs co -l kdenonbeta cvs co kdenonbeta/admin cvs co kdenonbeta/reaktivate。
然后照一般编译方式进行编译即可。以上的回答也适用于以下问题:“我怎么能得到单一语言的kde-i18n?”。
Q:我怎么能得到象tarballan程序那样的单一kde程序?
kdesdk/scripts/cvs2pack可以从kde源代码树和软件包中抽取出特定的应用程序。


cxtt228 于 2006-08-25 18:38:02发表:
拜读了,了解