Qt Creator Plug-in Contribution Guide

From Qt Wiki
Revision as of 16:45, 14 January 2015 by Maintenance script (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Qt Creator Plug-in Contribution Guide

Even though there is already a good Gallery of Plug-ins [qt.io] for Qt Creator, the tool may not yet do what you want it to do. If so, you are free to write your own plug-in. If you do, there is no need to contribute your plug-in to Qt Creator; you can always write and distribute your own plug-ins separately, provided you follow the licensing terms.

But we hope you will consider contributing your new plug-in to Qt Creator. We hope the following description makes the process of accepting or rejecting plug-ins for inclusion into the Qt Creator repository as transparent as possible. If our hopes are sadly unrealized and you still have questions, please let us know at Qt Creator developer mailing list [lists.qt.io].

Here are the advantages you get by contributing your plug-in:

  • Greater visibility for your plug-in: It becomes part of the default installation and is available to all users of Qt Creator. Your chances to find other developers willing to help improve the plug-in increases.
  • The core developers will help to maintain the plug-in. It is part of the code base all core developers work on, so any breakages will be visible instantly. Updates to APIs, etc. will be applied to your plug-in as part of the routine maintenance.
  • The plug-in will be covered by our QA infrastructure
  • We will help with translations and include your plug-in in the Qt Creator documentation.

Contributing new Plug-ins

Here are the criteria we use when deciding whether to include a plug-in:

  • A merge request on gitorious.org was made. This process covers some paperwork we need in order to accept code.
  • The plug-in provides functionality that is considered useful by at least two core developers.
  • The functionality is provided in such a way that changes to Qt Creator itself and to other plug-ins are minimized. A plug-in should be as stand alone as possible.
  • Our due diligence process does not discover issues with the code. This includes patent issues as well as copyright issues.
  • A positive review was made by at least one core developer. This code review covers:
    • formal issues like coding standard conformance
    • a clean git history
    • code quality and maintainability considerations
  • There is a tangible commitment by the submitter to help maintain the code.
  • The submitter has an account in our bugtracker at bugreports.qt.io/ and signals that he/she is willing to accept bugs assigned to him/her.

Unit tests or manual testing instructions are helpful but not required at this time.

Retirement Plan for Plug-ins

Occasionally we will want to retire plug-ins and remove them from the code base. This can happen when functionality becomes obsolete,
other plug-ins take over all the functionality, or the maintenance burden becomes too high.

The following steps will be taken to retire a plug-in:

  1. An agreement among core developers is reached to remove the plug-in.
  2. The pending removal is announced on the Qt Creator developer mailing list.
  3. The plug in is disabled in the next release of Qt Creator
  4. The plug-in is removed from the development branch of Qt Creator after the next release.

The process can be interrupted at any point based on community and user feedback.

Further Discussion

Please feel free to discuss this policy at the Qt Creator developer mailing list [lists.qt.io].

Categories: