Steps to follow

  • Ensure it's a meaningful improvement

    • Was this improvement ever proposed or discussed? (Search in Google or Redmine)
    • Is there already a way to achieve a similar result?
    • Would it benefit many people? Can you find cases in existing code where it would be useful?
  • Think about it

    • What's a good name?
    • What exact arguments does it accept?
    • What does it return?
    • Any risk of incompatibility?
  • Write it up

    • Use a good title: if title is not so good, the ticket will be ignored
    • State how the current situation can be improved
    • Make a concise but complete proposal
    • Address objections you can foresee
  • Create a Feature Request on and follow through

    • Open one issue per feature request!

Making a good sections

Good sections help us to understand your proposal.


  • Abstract
  • Background (problem, what is problem you are )
  • Proposal
  • Implementation (if you have. submit with implementation will help us which is feasible or not)
  • Evaluation of your implementation (performance, usability and so on)
  • Discussion (remaining points which we need to consider, pros. and cons. for other approach, and so on)
  • Summary

(same as academic papers)

will help us.

Just ideas are difficult to consider (if it seems not valuable).

Template (copy and fill every sections):

# Abstract
# Background
# Proposal
# Implementation
# Evaluation
# Discussion
# Summary