News

Microsoft Retools WPF Open Source Effort After Negative Feedback

After a GitHub survey about its .NET open source efforts yielded negative feedback, Microsoft is retooling its efforts for the most problematic repo, Windows Presentation Foundation (WPF).

Microsoft published a new roadmap for WPF and is "working on staffing and tooling to be able to take PRs," said Sam Spencer, program manager for the .NET Core team, in a Sept. 29 blog post detailing the survey results.

WPF is a .NET Core UI framework for creating Windows desktop applications, open sourced back in 2018 along with Windows Forms and Windows UI XAML Library (WinUI).

Spencer explained the GitHub survey was conducted earlier this year to gauge user satisfaction with the company's open source efforts for several repos, ranging from ASP.NET Core to machine learning to the desktop components, WPF and WinForms.

"WPF was the main outlier for satisfaction," Spencer said. "Drilling into the comments, the main concern was that PRs [pull requests] and issues were not being addressed by the maintainers and there was a lack of clarity on if and when they would be. Internally the WPF team was not sufficiently staffed and did not have the test infrastructure in place to be able to respond to the community contributions."

Overall, how do you rate your experience with the repo you selected?
[Click on image for larger view.] Overall, how do you rate your experience with the repo you selected? (source: Microsoft).
How satisfied were you with the responsiveness and engagement of the repo maintainers?
[Click on image for larger view.] How satisfied were you with the responsiveness and engagement of the repo maintainers? (source: Microsoft).

"The WPF team appreciates the feedback, and published an updated roadmap and community contribution guidelines to increase transparency with the community back in July," Spencer continued. "The team is still focused on finishing up .NET 5.0 as per the published roadmap and will share updates on the plan for increasing community engagement on PRs and issues early in the .NET 6.0 release."

The staffing issue, however, faces one big problem: a global health crisis.

That new roadmap explains: "Our team's management has approved additional resourcing needs for this project. However, the global COVID-19 pandemic has caused hiring to be slower than usual. With the available resources on the current team, the roadmap above is what we are committed to getting scheduled and done in the foreseeable future. Stay tuned for schedule and/or investment updates as soon as we are able to actively expand resourcing for our team."

In addition, other parts of the roadmap include an SLA (service-level agreement) and commitments for:

  • Better handling of GitHub issues: "We are committed to a 72 hour (3 working days) turn around on triaging and responding to new issues filed on Github."
  • Better evaluation of pull requests: "We will begin merging contributions from the community on the WPF repo by picking 1-2 PRs from the community to manually test and integrate per month. When the test infrastructure work is completed we will enable broader community pull request merging. This is our team's commitment until our resourcing for WPF ramps-up."
  • New WPF segments in existing WinUI community calls held once every two months

The survey revealed more positive feedback about "inclusion and welcoming-ness," a sore spot for many open source projects where community contributors complain of negative interactions.

"We want .NET to feel welcoming to everybody, and provide a community where people can discuss ideas and problems in a respectful and collaborative way," Spencer said. "Thankfully, it seems that most people feel welcome and included."

Thinking about the community in this repo, How would you rate the friendliness and helpfulness of others in the repo?
[Click on image for larger view.] Thinking about the community in this repo, How would you rate the friendliness and helpfulness of others in the repo? (source: Microsoft).
How welcome do you feel in this repo compared to other OSS projects out there?
[Click on image for larger view.] How welcome do you feel in this repo compared to other OSS projects out there? (source: Microsoft).

However, as the above graphics show, WPF fares more poorly than other repos in those categories -- especially on the welcoming side -- and Spencer noted, "there is still work to do" on those fronts.

In addition to the WPF roadmap, staffing efforts and PR triaging, another action item detailed by Spencer is "Tooling to make it easier to setup your local or a cloud environment to be able to clone, build, run tests and debug the code from the .NET repos. We will also continue to incrementally improve the experience of building, debugging and testing in the repos."

However, several developers weighed in with even more negative feedback in the comments section of Spencer's post, with one comment posted today (Sept. 30) reading:

The results on WPF repo is very well deserved. Even now the feedback towards the community is a disaster. Most issues remain unanswered and uncommented for more than 3 weeks, some of them for a few months. The rest of the issues are only tagged with "bug" or "suggestion". Same for PRs.

We heard a couple of times in interviews that WPF team were busy and WPF team have now dedicated working hours just for tagging and reviewing PRs (well, where are they?! Where are the reviews on community PRs? Where are the comments on community issues?)

Unlike the runtime repo the WPF repo behaves like there is NO interest into this "open source". Instead of taking the advantage to let the community help it goes into the .NET Framework direction of "No, its not dead. No, we are still working on it." and I bet unofficial WPF is dead already and just lays there until WinUI becomes any usable which will take 3 years at least.

It's a shame, really. Winforms repo is so much better, even though WPF is more used.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus

Featured

Subscribe on YouTube