Skip to content

Commit 69578de

Browse files
authored
📝 (CONTRIBUTING.md): update contributing guidelines and add CLA section (#2505)
Introduce a Contributor License Agreement (CLA) to ensure legal clarity and alignment with the project's licensing terms. The updated guidelines provide a structured approach for contributors, detailing how to ask questions, submit issues, and create pull requests. This enhancement aims to streamline the contribution process, improve collaboration, and maintain high-quality contributions by setting clear expectations and procedures for community engagement.
2 parents 2f7205f + 599a8a5 commit 69578de

File tree

1 file changed

+65
-54
lines changed

1 file changed

+65
-54
lines changed

‎CONTRIBUTING.md‎

Lines changed: 65 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,86 @@
1-
## Contributing Issues
1+
## Contributor License Agreement (CLA)
22

3-
### Before Submitting an Issue
4-
First, please do a search in [open issues](https://github.com/nkdAgility/azure-devops-migration-tools/issues) to see if the issue or feature request has already been filed. Use this [query](https://github.com/nkdAgility/azure-devops-migration-tools/issues?q=is%3Aopen+is%3Aissue+sort%3Areactions-%2B1-desc+) to search for the most popular feature requests.
3+
Before making a contribution, all contributors must agree to the following Contributor License Agreement (CLA). By submitting a pull request or any contribution, you acknowledge and agree to the following:
54

6-
If you find your issue already exists, make relevant comments and add your [reaction](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments). Use a reaction in place of a "+1" comment.
5+
1. **Grant of License**:
6+
You grant us, Naked Agility Limited ("Us" or "We"), a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license to use, modify, publish, and distribute your contributions under the terms of the GNU Affero General Public License (AGPL). This ensures that contributions remain aligned with the project's licensing terms.
77

8-
👍 - upvote
8+
2. **Your Rights**:
9+
You retain the copyright to your contributions and are free to use them as you see fit, independent of this agreement, provided such use does not conflict with the AGPL.
910

10-
👎 - downvote
11+
3. **Warranties**:
12+
You represent that:
13+
- You are the original author of the contributions.
14+
- Your contributions are not subject to any conflicting agreements or third-party rights.
15+
- Your contributions comply with the project's **Contributing Guidelines**.
1116

12-
The entire codebase for the Azure DevOps Migration Tools project is stored in this repository.
17+
4. **Obligation to Share**:
18+
You agree that any modifications to the software made as part of your use of this project will be shared back with the community by submitting changes to the original repository.
1319

14-
If your issue is a question then please ask the question on [Stack Overflow](https://stackoverflow.com/questions/tagged/azure-devops-migration-tools) using the tag `azure-devops-migration-tools`.
20+
By submitting a contribution to the project, you agree to this CLA. If you do not agree, please refrain from contributing.
1521

16-
If you cannot find an existing issue that describes your bug or feature, submit an issue using the guidelines below.
22+
---
1723

18-
## Writing Good Bug Reports and Feature Requests
24+
## Contributing Guidelines
1925

20-
File a single issue per problem and feature request.
26+
### Asking Questions or Starting Discussions
2127

22-
* Do not enumerate multiple bugs or feature requests in the same issue.
23-
* Do not add your issue as a comment to an existing issue unless it's for the identical input. Many issues look similar, but have different causes.
28+
- **Use GitHub Discussions**:
29+
If you have questions, ideas, or suggestions, please use the [GitHub Discussions tab](https://github.com/nkdAgility/azure-devops-migration-tools/discussions). This helps centralise knowledge and allows the community to collaborate effectively.
30+
- Browse existing discussions to see if your question or idea has already been addressed.
31+
- Add comments or reactions (e.g., 👍, 👎) to relevant discussions.
2432

25-
The more information you can provide, the more likely someone will be successful reproducing the issue and finding a fix.
33+
- **Use the Comment/Discussion Boxes on Documentation Pages**:
34+
If your topic relates to an existing feature, check the relevant [documentation page](https://nkdagility.com/) for details. Most pages include comment or discussion boxes at the bottom.
35+
- Using these boxes for discussions tied to specific features helps keep the conversation contextual and accessible for others with similar questions.
2636

27-
Please include the following with each issue.
37+
---
2838

29-
* Version of Azure DevOps Migration Tools
30-
* Version of the source and target ADO/VSTS/TFS instances
39+
### Submitting Issues
3140

32-
* Reproducible steps (1... 2... 3...) and what you expected versus what you actually got.
33-
* The Session ID from your migration run that had a problem (this lets us look up telemetry).
41+
#### When to Submit an Issue
42+
Issues should only be created for confirmed **bugs** or **feature requests**. Before creating an issue:
43+
- **Search for Existing Issues**:
44+
Check [open issues](https://github.com/nkdAgility/azure-devops-migration-tools/issues) to avoid duplicates. Use this [query](https://github.com/nkdAgility/azure-devops-migration-tools/issues?q=is%3Aopen+is%3Aissue+sort%3Areactions-%2B1-desc+) to find popular feature requests.
45+
If your issue already exists:
46+
- Add comments with additional details or context.
47+
- Use reactions (e.g., 👍, 👎) to express your interest.
3448

35-
> **Note:** Session ID is in your Log file for that run.
49+
#### Writing Good Bug Reports and Feature Requests
50+
- Submit **one issue per problem or feature**.
51+
- Avoid combining multiple bugs or requests in a single issue.
52+
- Include as much detail as possible to help others reproduce the issue:
53+
- Version of Azure DevOps Migration Tools
54+
- Source and target instance versions
55+
- Step-by-step reproduction instructions
56+
- The **Session ID** from your migration run (found in the log file).
3657

37-
Please remember to do the following:
58+
---
3859

39-
* Search the issue repository to see if there exists a duplicate.
60+
### Submitting Pull Requests
4061

41-
Don't feel bad if we can't reproduce the issue and ask for more information!
62+
#### Bug Fixes
63+
- **Focus on Simplicity**: Keep changes minimal and targeted to the bug being fixed.
64+
- **Update GitVersion.yaml**: Ensure version numbers do not collide.
4265

43-
## Contributing Fixes
66+
#### Feature Enhancements
67+
- Features should add or improve functionality. Clearly describe the feature and its use case in the pull request.
4468

45-
Azure DevOps Migration Tools accepts both bug fixes and feature enhancements as Pull Requests. When contributing please try to minimise the number of files that you touch, and do not arbitrarily change large amounts of the files without justification. This will help keep the fix or feature as simple and easy as possible to review and incorporate. If you are a long term contributor you may request access to the git repository that houses the core code and provide direct contributions there.
69+
#### General Housekeeping
70+
Pull requests should:
71+
1. Be based on the **master** branch.
72+
2. Avoid merge commits (use a linear commit history).
73+
3. Include adequate tests:
74+
- Tests should fail without your changes.
75+
- Cover edge cases and various scenarios.
76+
- Maintain 100% code coverage.
77+
4. Adhere to the coding guidelines.
78+
5. Include clear, descriptive commit messages.
4679

47-
# Instructions for Contributing Code
48-
49-
All fixed require to update GitVersion.yaml so that we don't have colliding version numbers.
50-
51-
## Contributing bug fixes
52-
53-
Bugs are things that cause exceptions and failures. Please keep fixes simple and minimal so that we can incorporate them quickly.
54-
55-
## Contributing features
56-
57-
Features (things that add new or improved functionality to Azure DevOps Migration Tools) may be accepted.
58-
59-
## Housekeeping
60-
61-
Your pull request should:
62-
63-
* Include a description of what your change intends to do
64-
* Be a child commit of a reasonably recent commit in the **master** branch
65-
* Requests need not be a single commit, but should be a linear sequence of commits (i.e. no merge commits in your PR)
66-
* It is desirable, but not necessary, for the tests to pass at each commit
67-
* Have clear commit messages
68-
* e.g. "Refactor feature", "Fix issue", "Add tests for issue"
69-
* Include adequate tests
70-
* At least one test should fail in the absence of your non-test code changes. If your PR does not match this criteria, please specify why
71-
* Tests should include reasonable permutations of the target fix/change
72-
* Include baseline changes with your change
73-
* All changed code must have 100% code coverage
74-
* Follow the code conventions described in _Coding Guidelines_ (link lost)
75-
* To avoid line ending issues, set `autocrlf = input` and `whitespace = cr-at-eol` in your git configuration
80+
#### Coding and Git Configuration
81+
- Follow the project's coding conventions (see [Coding Guidelines](#)).
82+
- Set your Git configuration to avoid line-ending issues:
83+
```bash
84+
git config --global core.autocrlf input
85+
git config --global core.whitespace cr-at-eol
86+
```

0 commit comments

Comments
 (0)