You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+55-1Lines changed: 55 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,6 +27,36 @@ We initially solicit contributions for
27
27
28
28
New features are welcome, but be aware that Visual F# is a high-quality programming language with high-quality tools, and we wish to keep it that way. Before embarking on an extensive feature implementation, make a proposal in a GitHub issue or on the[F# Language UserVoice](https://fslang.uservoice.com/) so the community can review and comment on it.
29
29
30
+
###Issues
31
+
32
+
When submitting issues, please use the following guidelines
33
+
34
+
- Suggestions for the F# Language and Core library should be added and reviewed at the[F# Language User Voice](https://fslang.uservoice.com/).
35
+
36
+
- Suggestions for the Visual F# Tools should be added and reviewed at the[Visual Studio F# Tools User Voice](https://visualstudio.uservoice.com/forums/121579-visual-studio/category/30935-languages-f-tools).
37
+
38
+
- New Bug Reports should always give accurate, clear steps for reproducing the bug, and all relevant details about versions, platform, etc. We suggest the following template:
39
+
40
+
Title: <a short, clear title>
41
+
42
+
Description: <adescriptionoftheproblem>
43
+
44
+
Repro Steps: <stepbystepdescription>
45
+
46
+
Expected: <whatisexpected>
47
+
48
+
Actual: <whatyoureallyget>
49
+
50
+
Severity: a description on how bad it is and why - is it blocking?
51
+
52
+
Version: Language, compiler, library, platform version
53
+
54
+
Link: Give a link to a ZIP, log files or other files if needed
55
+
56
+
Likely Cause: Link to the place in the code where things are likely going wrong, if possible
57
+
58
+
Workaround: List any known workarounds
59
+
30
60
###CLA
31
61
32
62
Contributors are required to sign a[Contribution License Agreement](https://cla.msopentech.com/) (CLA) before any pull requests will be considered. After submitting a request via the provided form, electronically sign the CLA when you receive the email containing the link to the document. This only needs to be done once for each Microsoft OSS project you contribute to.
@@ -37,11 +67,35 @@ Contributions to this repository will be rigorously policed for quality.
37
67
38
68
All code submissions should be submitted with regression test cases, and will be subject to peer review by the community and Microsoft. The bar for contributions will be high. This will result in a higher-quality, more stable product.
39
69
70
+
- We expect contributors to be actively involved in quality assurance.
40
71
- We expect contributors to be actively involved in quality assurance.
41
72
- We expect contributors to be actively involved in quality assurance.
42
73
- Partial, incomplete, or poorly-tested contributions will not be accepted.
43
74
- Contributions may be put on hold according to stability, testing, and design-coherence requirements.
44
75
76
+
####Mimimum Bar for Code Cleanup Pull Requests
77
+
78
+
In addition to the above, "Code Cleanup" pull requests have the following minimum requirements:
79
+
80
+
- There must be no chance of a behavioural change, performance degradation or regression under any reasonable reading of the code in the context of the codebase as a whole.
81
+
- Code cleanup should generally be made separate to other checkins where possible, or the parts that are cleanup should be labelled as such.
82
+
- Code cleanup is much more likely to be accepted towards the start of a release cycle.
83
+
84
+
####Mimimum Bar for Performance Improvement Pull Requests
85
+
86
+
Performance improvement checkins have the following minimum requirements (in addition to the above)
87
+
88
+
- Performance tests and figures must be given, either in the PR or in the notes associated with the PR. PRs without performance figures will be closed with a polite request to please add them.
89
+
- The PR must show a reliable, substantive performance improvement that justifies the complexity introduced. For the compiler, performance improvements of~1% are of interest. For the core library, it will depend on the routine in question. For the Visual F# tools, reactivity of the user interface will be of more interest than raw CPU performance.
90
+
91
+
####Mimimum Bar for Bug Fix Pull Requests
92
+
93
+
Bug fix PRs have the following minimum requirements
94
+
95
+
- There must be a separate tracking bug entry in the public GitHub issues. A link should be given in the PR. PRs without a matching bug link will be closed with a polite request to please add it.
96
+
- The code changes must be reasonably minimal and as low-churn, non-intrusive as possible. Cleanup should be done in separate PRs where possible (see above), and fixes should be as small as possible.
97
+
- Thorough test cases must be included in the PR (unless tests already exist for a failing case). PRs without matching tests will be closed with a polite request to please add the tests. However, if you need help adding tests, please note this in the description of the change and people will guide you through where to add the tests.
98
+
45
99
###Language Evolution
46
100
47
101
We are committed to carefully managing the evolution of the F# language.
@@ -50,4 +104,4 @@ We actively solicit contributions related to the F# language design, but the pro
50
104
51
105
###Coding guidelines
52
106
53
-
Although there is currently no strict set of coding or style guidelines, use common sense when contributing code - make an effort to use a similar style to nearby existing code. If you have a passion for helping us develop a set of coding guidelines that we can roll out and apply within this project, get involved and start a discussion issue.
107
+
Although there is currently no strict set of coding or style guidelines, use common sense when contributing code - make an effort to use a similar style to nearby existing code. If you have a passion for helping us develop a set of coding guidelines that we can roll out and apply within this project, get involved and start a discussion issue.