<html>
<head>
    <base href="https://wiki.asterisk.org/wiki">
            <link rel="stylesheet" href="/wiki/s/en/2176/25/9/_/styles/combined.css?spaceKey=AST&amp;forWysiwyg=true" type="text/css">
    </head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="https://wiki.asterisk.org/wiki/display/AST/New+Feature+Process">New Feature Process</a></h2>
    <h4>Page  <b>added</b> by             <a href="https://wiki.asterisk.org/wiki/display/~mjordan">Matt Jordan</a>
    </h4>
         <br/>
    <div class="notificationGreySide">
         <h1><a name="NewFeatureProcess-Overview"></a>Overview</h1>

<p>At some point in time, you may find yourself asking, "I wish Asterisk did (X)".  The great news about Open Source software is that if you really want, you can make Asterisk do (X)!  But after making Asterisk do (X), you may find yourself wishing that you didn't have to patch Asterisk every time you need to upgrade a system.  At which point, you'll want to have your feature included in the Asterisk source.</p>

<p>This page describes how new features move through the Asterisk development process.  For more information on general issue workflows, see <a href="/wiki/display/AST/Issue+Tracker+Workflow" title="Issue Tracker Workflow">Issue Tracker Workflow</a>.</p>

<p>New features are developed against Asterisk <a href="http://svn.asterisk.org/svn/asterisk/trunk/" class="external-link" rel="nofollow">trunk</a>.</p>

<h1><a name="NewFeatureProcess-NewFeaturePlanning"></a>New Feature Planning</h1>

<p>Before writing a new feature for Asterisk, there are multiple things to consider.</p>

<ul>
        <li>Is the feature general purpose enough that it is appropriate for all Asterisk consumers?</li>
        <li>Is the feature appropriate for the next major version release?</li>
        <li>How can I help reviewers of the feature verify its correctness?</li>
        <li>How can I help Asterisk developers maintain the new feature, once its included?</li>
</ul>


<h2><a name="NewFeatureProcess-IsaNewFeatureAppropriate%3F"></a>Is a New Feature Appropriate?</h2>

<p>Whether or not a new feature is general enough to be appropriate for inclusion in Asterisk is a tricky question, because it is inherently subjective.  If you're considering adding a new feature to Asterisk, you obviously find it useful!  However, not everyone uses Asterisk the same way, and features added to Asterisk should be as generally applicable to everyone as possible.</p>

<p>Some case studies illustrating features that could be considered for inclusion in Asterisk and why or why not they are appropriate are below.</p>

<table title="Case Studies"><tr><th width="50%">Proposal</th>
<th width="50%">Analysis</th></tr>
<tr><td><p>Blah</p></td>
<td><p>Foo</p></td></tr></table>

<p>Since this is a subjective discussion, feel free to bring up ideas for new features on the <a href="http://lists.digium.com/mailman/listinfo/asterisk-dev" class="external-link" rel="nofollow">Asterisk Developer's Mailing List</a>.</p>

<h2><a name="NewFeatureProcess-MajorProjects"></a>Major Projects</h2>

<h1><a name="NewFeatureProcess-NewFeatureDevelopment"></a>New Feature Development</h1>

<h2><a name="NewFeatureProcess-Testing"></a>Testing</h2>

<h2><a name="NewFeatureProcess-Resources"></a>Resources</h2>

<h1><a name="NewFeatureProcess-PeerReview"></a>Peer Review</h1>

<h1><a name="NewFeatureProcess-IncludingtheFeatureinAsterisk"></a>Including the Feature in Asterisk</h1>

<h2><a name="NewFeatureProcess-CommitAccess"></a>Commit Access</h2>
    </div>
    <div id="commentsSection" class="wiki-content pageSection">
       <div style="float: right;" class="grey">
                        <a href="https://wiki.asterisk.org/wiki/users/removespacenotification.action?spaceKey=AST">Stop watching space</a>
            <span style="padding: 0px 5px;">|</span>
                <a href="https://wiki.asterisk.org/wiki/users/editmyemailsettings.action">Change email notification preferences</a>
</div>
       <a href="https://wiki.asterisk.org/wiki/display/AST/New+Feature+Process">View Online</a>
              |
       <a href="https://wiki.asterisk.org/wiki/display/AST/New+Feature+Process?showComments=true&amp;showCommentArea=true#addcomment">Add Comment</a>
           </div>
</div>
</div>
</div>
</div>
</body>
</html>