[Development] How to create new Qt modules or tools
henry.haverinen at nokia.com
henry.haverinen at nokia.com
Fri Dec 9 18:06:43 CET 2011
> If a developer would like to move a project that is started as "QtX", I should
> rename it to "Y" or something like that, and then back again to "X" ? Practical
> example: QtOpenaL (coming for instance from a KDE
> repository) -> "3D Audio" (Qt Playground) -> QtOpenAL (Qt Final)
The instructions were written with brand new projects in mind, but I agree we need to consider existing projects that move to Qt Project. The contribution agreement needs some special consideration here, so I'll work with Cristy on making that addition.
For a new project, you could pick a name like 3D Audio, and then if it is moved into an actual module it could be called Qt 3D Audio.
OpenAL is a special case because it is a 3rd party technology name. Whether using it in the module name falls under "fair use" would have to be checked with Qt Project Legal.
> I can probably guess the reasons, but it might just seem like an overhead for
> new contributors at first glance in the aforementioned example. I am not
> writing it is bad, but it would probably be reasonable to write a more detailed
> description of what the reason for this is. :) There are pros and cons for this
> decision, and if you mention why the decisions are made, it would make it
> clearer for contributors more explicitely why you stick by that.
In some cases we expect there to be several related playground projects, so it would not necessarily be fair to allocate a good name like "Qt Physics Engine" (just an example) for the first physics engine related playground activity. It needs to be given to the project that actually graduates into a real Qt module.
Another reason for not using the Qt prefix is that we'd like to make sure the playground projects are not mistaken as actual Qt modules, because they don't have that status yet.
> > Graduating from the Playground
> > Once your project becomes more mature, it can be moved out of the
> playground, and become a Qt module or tool. This decision is done on the qt-
> development > mailing list and requires the approval of the Chief Maintainer.
> > When your project is moved from the playground to the Qt project area,
> the playground name needs to be changed to a descriptive Qt module or tool
> Could you please document the review process more thoroughly ? II guess
> the whole history is not available in many cases. It would be nice, unless you
> already started the project in this playground repository. I am also interested
> in the review process in general about new modules and tools. It is
> somewhat different in the sense, they are not logical commit by commit
> reviews. More precisely, if I do not have a proper history, is it enough to put
> for review that way, or I need to refactor the project to get proper history
> first ? It might be a bit of a hard task in certain cases, but would bring more
> quality into the project.
The idea in this section of the wiki was to discuss the general spirit fit and technical fit of the project as a new Qt module on the mailing list, before including the module in Qt releases. I don't know how detailed technical review and API review would be done for a module that has a long history (or might lack a part of the history in the repository).
Lars and others, do you have comments on this?
More information about the Development