We鈥檝e been working as a team, and community, for five years in the dotnet org on the .NET Core project. Many of the same GitHub handles have remained constant over that time, some are new, and others have come and gone. Thanks to everyone that has contributed! We normally focus on how to improve the product, but we鈥檙e turning our focus to improving the open source project. We鈥檝e created a survey to better understand your individual experience of participating and contributing in this project.
We would appreciate your feedback so we can work to address shortcomings and missed opportunities. If you don鈥檛 supply contact details, then responses will be anonymous.
Thank you for your time!
My overall experience throughout the dotnet organization was pretty awesome.
Most contributions were in dotnet/docs and dotnet/samples. The team there was very friendly.
I'm trying to move my focus on an actual code base (like runtime) rather than documentation, but it's somehow hard to understand how things are going with such huge amount of classes as an external (even failed on jumping on up-for-grabs issues). I know one of the main reason is lack of experience on my side (actually, I'm still a student), but I'm just thinking that some more documentation on the code base may help a little bit. One of the reasons I contribute is to learn. So, I don't know if the repo really needs more documentation, or it's just because of my insufficient experience. But hope you consider the documentation point if other external contributors have my same issue.
However, for the small contributions I made in dotnet/runtime, the team was very responsive and helpful, they clarified any doubts I had.
So, overall, the dotnet organization is really awesome.
@Youssef1313
I'm still a student
IMO learning to navigate large codebases is a skill in and of its self that gets easier with practice, so keep at it!
Some resources you might find helpful (in no particular order):
Also if you aren't on Twitter yet, I definitely recommend it. There's a lot of .NET developers on there and it can be a nice place to ask more casual questions.
I'm just thinking that some more documentation on the code base may help a little bit.
I think some specific examples of what you think is lacking would be helpful here.
@PathogenDavid, Thanks for these resources!
I think I'll need to give them a look first, then see if they made contributing easier for me. If not, I'll try to say some specific difficulties.
@Youssef1313 there is a book called Pro .NET Memory Management that's recommended in the GC Book of the Runtime chapter which delves into the details of the GC code.
@terrajobst I just submitted this as feedback in the survey, but I wanted to specially emphasize this issue: https://github.com/dotnet/wpf/issues/2884. I and others want to submit enhancements to WPF to make it less messy and more featureful, just like what we鈥檝e accomplished with Windows Forms. However, no external PRs have been reviewed, and all inquiries are ignored. Crickets are the only response we get, even to that issue which is asking about the crickets! Please advise.
Also, if anyone could tell me how to filter the GitHub PR list to show all pull requests _except_ those by dotnet-masetro-bot, I would greatly appreciate it. Out of the first eight pages of merged WPF PRs, all but five of the PRs were automatically opened by this account. This makes it awfully hard to see what鈥檚 really been going on. Thanks!
@wjk you can query like is:open is:pr -author:app/dotnet-maestro
?
hey guys! Filled the survey, so far everything is great! Just built the code from asp.net project, chose it as I am mainly an asp.net developer.
I am looking to get more involved in one of the projects in the .Net foundation. What I am trying to get out of my contribution is depth of knowledge and understanding of an area. But I am not sure how I choose a project though.. my work touches "everything server" really, so, hosting, CLR, Roslyn, everything feels relevant.
So what I guess I am asking is, which project provides the most "meat". Any other ideas on how to approach this? Thanks!
I get into the runtime source recently. so that I can give the feeling as developer who new to the runtime source code. In general, the codebase are good and well organized. But still have curve that getting into it.
It's better to have elementary document that making following evaluating things easier:
When I first time trying to get into the runtime code. The step was getting the source code and open it directly by Visual Studio. It's not works. I tried to find the solution files but without luck. I tried to found the Makefiles but without luck. Then I spent few days to understand the CMake and related stuff.
Now I run build.cmd
first, then open ROOT\dotnet\runtime\artifacts\obj\coreclr\Windows_NT.x64.Debug\CoreCLR.sln
to navigate the code. I am even not sure was "normal" way as runtime developer does.
Definitely, we can have any editors/IDEs to contribute to the runtime. But if we can have document on standard/recommend way as a start point that would be a lot of help to developer that new to the runtime.
Another found may off the topic but somehow relative to contribute experience that after executed build.cmd
, there are several "untracked" folders. why do not put these folders to .gitignore
.
Another found may off the topic but somehow relative to contribute experience that after executed build.cmd, there are several "untracked" folders. why do not put these folders to .gitignore.
@imzjy Not sure what created those, as somehow I don't get them. Perhaps they're new? If the build or tests are creating these, yes we'd welcome a PR to add them to .gitignore.
So what I guess I am asking is, which project provides the most "meat". Any other ideas on how to approach this? Thanks!
@sauravbhattacharya001 difficult to know how to answer that -- all the repos have their share of hard problems and interesting problems. Have you looked through issues labeled "up-for-grabs"? Most or all of the repos use that label. Another thought is to "scratch an itch" -- something you wish was improved, or a bug you're encountering locally (that is ideal - because you're the best person to verify it's fixed). Or, follow your expertise -- is it web, library, runtime ? C# or C++ ? Linux, Windows or Mac? -- and find some relevant problem. I recommend to start with something really small, so you get a feel for the build and test process and can decide whether you want to invest more of your time in something larger.
@sauravbhattacharya001
What I am trying to get out of my contribution is depth of knowledge and understanding of an area. But I am not sure how I choose a project though.. my work touches "everything server" really, so, hosting, CLR, Roslyn, everything feels relevant.
My recommendation is: don't try too hard to make a contribution for the sake of making a contribution. Rather, let curiosity and interest be your guide. Also, the question isn't necessarily what you like the most but which area are you willing to put more effort in to learn, understand, and research. In general, I'd start with reading, not with coding.
There are several resources that @PathogenDavid linked above that you might find valuable for that:
- The .NET Core Source Browser is an invaluable resource for casually browsing the .NET Core framework source code.
- There's a similar tool for Roslyn as well.
- The Book of the Runtime
Another found may off the topic but somehow relative to contribute experience that after executed build.cmd, there are several "untracked" folders. why do not put these folders to .gitignore.
@imzjy Not sure what created those, as somehow I don't get them. Perhaps they're new? If the build or tests are creating these, yes we'd welcome a PR to add them to .gitignore.
Thanks for the reply!
I rebuild with clean repo, these folders are not exist. My apologize for bring this issue without check.
The survey is now closed, so I'm closing this issues as well.
Its still open and pinned on WPF repo
@Symbai, Looks like a GitHub bug. 馃槅
Most helpful comment
@Youssef1313
IMO learning to navigate large codebases is a skill in and of its self that gets easier with practice, so keep at it!
Some resources you might find helpful (in no particular order):
Also if you aren't on Twitter yet, I definitely recommend it. There's a lot of .NET developers on there and it can be a nice place to ask more casual questions.
I think some specific examples of what you think is lacking would be helpful here.