News: 1601635512

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

GitHub users speak their brains on Microsoft's open-source efforts: ASP.NET shines, but WPF is 'a disaster'

(2020/10/02)


Microsoft has open-sourced many of its developer frameworks but the success of these projects is variable, with Windows Presentation Foundation (WPF) dubbed "a disaster" by one unhappy developer.

This week, the company [1]published a survey of developers on GitHub using some of its .NET open-source repositories, including ASP.NET Core, Entity Framework Core, Roslyn (the .NET compiler platform), .NET Runtime, and WPF.

While there were only 191 responses overall, it looks like they included some of the most involved people. More than 60 had submitted a pull request (PR – an attempt to get code added or changed) and over 100 had created or commented on issues.

The results are notable for one thing in particular, which is that developers are not happy with way WPF is handled. The WPF repository showed that two-thirds of respondents were extremely or moderately dissatisfied with the "responsiveness and engagement of the repo maintainers", though the data is based on a very small sample.

WPF is in some ways Microsoft's most advanced GUI framework, with a rich vector-based rendering engine that uses DirectX rather than the native Windows controls used by earlier frameworks. WPF was sidelined when Windows 8 came along, and appeared moribund when the Windows 8 "Metro" framework morphed into Universal Windows Platform (UWP). In December 2018, Microsoft made both WPF and the older Windows Forms frameworks open source, giving WPF developers hope that bugs could be fixed and features added.

Commenting on Microsoft's report, developer Max Mustermueller said: "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."

"It's a shame, but we can't do anything. Just move to the next Windows UI platform until it dies too," was the comment from another, referencing the many changes of direction suffered by Windows developers (a problem supposedly addressed by " [2]Project Reunion ").

Sam Spencer, Microsoft's .NET program manager, highlighted the issue and said that the company is "working on staffing and tooling to be able to take PRs". He acknowledged that "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." An open-source project that has difficulty taking PRs cannot be healthy. That said, Microsoft is more than capable of managing open-source projects and its Visual Studio Code repository is, according to [3]GitHub's report , the project with the most contributors across the entirety of GitHub.

What the WPF problem illustrates is that these open-source projects also require substantial commitment and investment from Microsoft itself in order to succeed. Microsoft invests in the projects it considers the most strategic, and simply making WPF open source did not change the fact that improving WPF is, it seems, a long way down its list of priorities.

The comments on Spencer's report show that while WPF is the worst case, complaints about unresponsive maintainers apply elsewhere too. "The vast majority of issues that aren't created by Microsoft itself are ignored," said one commenter about the .NET Runtime repository. "Entity Framework guys are not that good and responsive... there are so many good ideas that can be added to EF to make life easier. I wish they had listened to us a bit more," said another.

The counter to this is that the ability for the developer community to see the code, make pull requests, and even to complain about the process, is a benefit of open source and a long way from the old position when these frameworks were developed behind closed doors. It is also notable that ASP.NET Core is both one of the most active and among the most satisfactory of Microsoft's .NET repositories, judging by the survey results.

Considering the energy Microsoft is putting into non-WPF approaches to building applications on Windows, from WinUI to React Native, it seems unlikely that this older framework will receive dramatically improved investment. That said, WPF is a project overseen by the independent [4].NET Foundation .

Perhaps the fact that these issues have now come to the fore will stimulate some thinking within both Microsoft and the .NET Foundation about getting projects like this back on track. ®

Get our [5]Tech Resources



[1] https://devblogs.microsoft.com/dotnet/repo-experience-survey-results/

[2] https://github.com/microsoft/ProjectReunion

[3] https://octoverse.github.com/

[4] https://dotnetfoundation.org/

[5] https://whitepapers.theregister.com/

"internally the WPF team was not sufficiently staffed"

Pascal Monett

Right, that means that there is one guy swamped in work, but he was only given a laptop, he has no server to test on and his office is on the other side of the building from the toilets and the coffee machine.

On top of that, there are daily 90-minute meetings to discuss progress.

Yup, things are going swimmingly.

gobaskof

"That said, Microsoft is more than capable of managing open-source projects and its Visual Studio Code repository is, according to GitHub's report, the project with the most contributors across the entirety of GitHub."

Yes, but also no. Something like an code editor is about the easiest thing to get contributions on. First all of your users by definition are programmers, secondly the ramifications of a change are not that deep to other peoples applications. VS Code may be well run. However, running a projects for a piece of software where you accept lots of fun features (like a new dark theme, syntax highlighting, or a whizzy widget to count something), is very different from running project for a library that is core to numerous developers programs. For this you really need far more of a deep conversation to happen about the ramifications of the changes.

Even I have had patches accepted into a code editor (Syntax highlighting definition for Kate), no one in their right mind would accept my code into an important system library. Simple contributor numbers is not a good metric to assess open-source management.

Netscape has crashed