logo_kerberos.gif

Difference between revisions of "Contributing code"

From K5Wiki
Jump to: navigation, search
(New page: Generally, it is easier to '''contribute code''' when working in active coordination with the MIT Kerberos development community, especially if the changes are substantial. Community revi...)
 
Line 1: Line 1:
Generally, it is easier to '''contribute code''' when working in active coordination with the MIT Kerberos development community, especially if the changes are substantial. Community review takes place through a [[Project policy|project proposal]] process. We expect contributions of code to follow some general (and still evolving) [[coding style]] guidelines. You may also find our [[developer resources]] useful.
 
  +
The MIT krb5 team is willing to accept code contributions in a variety of forms, but the most preferred method is a pull request for https://github.com/krb5/krb5, followed by email to krbdev@mit.edu pointing to the pull request branch. Please follow the [[coding style]] guidelines, including the version control practices.
  +
  +
For larger contributions such as new features, we have some additional requirements:
  +
  +
* The code must be available under a permissive license such as the MIT license used for the project itself. We encourage, but do not require, copyright to be assigned to MIT to avoid adding to the number of licenses in our notice file.
  +
* There should be a [[Project policy|project proposal]] with a description of the use case and design of the change.
  +
* There should be an opportunity for community feedback on the krbdev@mit.edu mailing list.
  +
* There must be a way to test the new functionality. Automated test cases integrated with "make check" are required unless that would be unusually difficult due to the nature of the change.
  +
* There should be documentation of the new functionality (under doc/rst_source in the source tree).
  +
  +
In some cases we may be willing to fulfill these requirements ourselves, but that will postpone the acceptance of the contribution until we have the resources to do so. We also require a careful code review of any new code contribution by a core team member, and may have changes to request or may make changes ourselves.

Revision as of 15:36, 23 May 2012

The MIT krb5 team is willing to accept code contributions in a variety of forms, but the most preferred method is a pull request for https://github.com/krb5/krb5, followed by email to krbdev@mit.edu pointing to the pull request branch. Please follow the coding style guidelines, including the version control practices.

For larger contributions such as new features, we have some additional requirements:

  • The code must be available under a permissive license such as the MIT license used for the project itself. We encourage, but do not require, copyright to be assigned to MIT to avoid adding to the number of licenses in our notice file.
  • There should be a project proposal with a description of the use case and design of the change.
  • There should be an opportunity for community feedback on the krbdev@mit.edu mailing list.
  • There must be a way to test the new functionality. Automated test cases integrated with "make check" are required unless that would be unusually difficult due to the nature of the change.
  • There should be documentation of the new functionality (under doc/rst_source in the source tree).

In some cases we may be willing to fulfill these requirements ourselves, but that will postpone the acceptance of the contribution until we have the resources to do so. We also require a careful code review of any new code contribution by a core team member, and may have changes to request or may make changes ourselves.