How to contribute
You are encouraged to contribute to the CCI Metadata project, but please keep the following guidelines in mind:
- The CCI Metadata API is a mature API and needs to remain in a highly stable state. It is usually better to create new components than to add functionality to existing components.
- New functionality should normally be added to the MetadataHelper library. Modify the other CCI Metadata libraries only to avoid confronting users with component boundaries that are organizational rather than logical.
- Much of the CCI Metadata API derives from internal Microsoft code bases that must be authored only by Microsoft employees. Employees who maintain internal code bases cannot look at bug fixes that are provided as code patches. If you discover a bug, the
best approach is to file a bug report that includes an easy way to reproduce the problem.
- Put your contributions in separate source files. One approach that is often useful is to implement partial classes.
To contribute a patch:
- Find an existing bug or feature request that looks interesting, or create a new one. See
Unfinished Business for some suggestions.
- Add a comment to the work item to indicate that you're going to work on it. Until you have developer rights, you can’t assign work items to yourself.
- Update your source tree to make sure that you have the most recent CCI Metadata version, and make the necessary changes or additions.
- Package the changes as a patch.
- Include in the patch a text file that in which you write that you contribute the code under terms of the Microsoft Public License (see the project's License tab for details of the license).
- On the Source Code tab, click Upload Patch, fill in the required information, and click
Save to upload the patch.
To become a developer:
- Contact email@example.com to work out your role in the project.
- Complete a Project Assignment Agreement by sending an e-mail indicating your interest to firstname.lastname@example.org. He will connect you with someone from the CodePlex team who will handle the
process. The purpose of this agreement is to ensure that your work on the project can be made available to everyone else under the Microsoft Public License.