Discussion: How and to what can members of the community contribute #1845
-
Following on from the extremely interesting conversation at #1838 I would like to ask the following. I, and I'm sure many other members of the C# community, would be willing to give some of our time towards contributing to C#, and the .Net framework in general. Unfortunately we have no idea where to start. We could pick up a random issue, and try designing, specing, and implementing it, but then we face the risk of spending a year on the project, only to be told that it won't be merged. Any of the following steps would be useful for members of the community who would like to contribute: What features would likely be merged if they were implemented adequately.Would it be possible for members of the C# team to construct a list of features which they currently don't have the time for, but think would be valuable if implemented. Then members of the community could pick some to work on. It would also be valuable if basic pointers were added to each feature about what would could be done, pitfalls, and how easy it would be for a non-microsoft employee to implement, were added. For some tasks it could be that all that is wanted is a spec, or a design, or its already been specced and designed, and someone just needs to implement it. That information would also be valuable. Could documentation be written up on how to go about implementing a new feature.It would make it a lot easier if the process from a-z was written up clearly, and could be followed by those implementing any feature. Provide a way for members of the community to ask for help and assistance from the C# team when implementing features.It would be really useful if somebody could point to the various places in Roslyn where changes would have to be made, if I were implementing a new feature. It would also be helpful if I could ask them for advice when I inevitably get stuck at some point. It could be some or all of this stuff already exists. If so could somebody point me towards it. |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments
-
https://github.com/dotnet/roslyn/labels/help%20wanted is a good place to start if you want to see your code in Roslyn. |
Beta Was this translation helpful? Give feedback.
-
There's also Smallish Feature for actual features you can work on. |
Beta Was this translation helpful? Give feedback.
-
There are many ways to contribute to C# and .Net with much lower barrier to entry than improving the language itself. Repos like roslyn, corefx and coreclr have "up-for-grabs" issues that are suitable for community contributions. There's also the option of contributing to the documentation. But I understand if none of these interest you and improving the language is what you want to focus on.
I think the key here is communication. You should not work for a year on a feature on your own. Instead, talk with the Roslyn team early and often: tell them that you would want to work on a feature and ask them if that's okay and to help guide you through the process.
There is already such a list: issues with the Any Time milestone:
Though it's currently incredibly short (it contains only 3 issues).
While this would be nice to have, I think that if you ask on a championed issue about that, you're going to get an answer, which is probably good enough.
This information is generally provided at the top of championed issues. (Though it's not always up to date.)
Again, I think the championed issue is the right place for that. (Or maybe gitter? I don't use that, so I don't know if members of the C# team frequent it.) |
Beta Was this translation helpful? Give feedback.
-
The language and the framework are very different. The framework iterates a lot faster than the language does. I think it's much harder to have community contributions with the language because the biggest bottleneck is the language design process, not the amount of hands available to implement features. |
Beta Was this translation helpful? Give feedback.
There are many ways to contribute to C# and .Net with much lower barrier to entry than improving the language itself. Repos like roslyn, corefx and coreclr have "up-for-grabs" issues that are suitable for community contributions. There's also the option of contributing to the documentation.
But I understand if none of these interest you and improving the language is what you want to focus on.