Summary Digital Participation & Information Access Advocates
This Microsoft blog announces the open-sourcing of WPF, Windows Forms, and WinUI frameworks, framing the decision as democratizing software development and enabling community participation. The article directly aligns with UDHR provisions on freedom of information (Article 19) and participation in culture and science (Article 27), while supporting educational access and intellectual property freedom. Limited stakeholder diversity and corporate-dominated narrative moderate the overall assessment.
Very excited to see WinForms and WPF especially hit open source. WinForms is still IMHO the hands-down most convenient way to quickly assemble a GUI for an app, and while Microsoft hasn't given it much love over the years, it's huge userbase will hopefully take advantage of the ability to iterate on it via GitHub.
While unlikely, I hope one day that the entire Windows operating system will be made open source — I'm not sure how Microsoft would make the revenue work out, but I bet it could be done. And the world would be better for it.
This project collects usage data and sends it to Microsoft to help improve our products and services. Read Microsoft's privacy statement to learn more.
For more information on telemetry implementation see the developer guide.
"We will typically not accept contributions that implement support for an OS-specific technolology on another operating system. . . We also do not intend to accept contributions that provide cross-platform implementations for Windows Forms or WPF."
Microsoft seems to be actually refusing to accept contributions that could make WPF cross-platform - it's a bit beyond "no official plans for cross platform".
If, as people here have suggested, that WPF is dead, I now wonder if desktop apps in general are being killed. I liked qt widgets quite a lot but I think that's mostly in maintenance mode. How do these companies expect the end user to interact with the next version of excel, autocad, solidworks, photoshop, etc?
Real question: why is WPF worth contributing to, if it can't be made cross-platform?
I've used WPF for about a day, and I never went back to using it. Not 'hating' on it, I just want to understand WPF and the incentives to open source it (I get it for .NET though).
I'd be interested in any association that can be made against previous versions of such libraries, and the newly released open source libraries. Are the 'releases' between the old closed source and that of the newly open source significantly different?
If so, and either way; I'd be interested in knowing what kind of changes were applied in direct action of the source being released. Was it just cleaning/linting of the code? Were there features that were otherwise inappropriate (security? quality?) that needed attention before release.
Things like alignment with child dependency license agreements, or overall quality (in code, testing, and deployment) are things I find extremely interesting. Was there some interesting 'inappropriate' language in the source from developers long gone. Could this have effectively been the opposite spectrum of what happened with event-stream https://github.com/dominictarr/event-stream/issues/116
I'm not explicitly saying it's any of my business. I can imagine a multitude of reasons that this history would never be provided. But... as above.. I can consider reasons, perhaps; it should..?
I don't mean to discourage release. I really appreciate it. Just some thoughts..
I think Microsoft is aggressively trying to attract developers to use their products and this is yet another action in that direction. I think it’s a good move but I’m far from a conversion. My next OS will be a GNU/Linux
I'm not entirely sure we're referring to the same WinForms but I distinctly remember loving C# in 2009 or so, just when WPF was coming out. But I refused to use WPF for my apps because back then you'd have to force the user to install the latest .net which I thought was too much of a bother.
So I tried using the old GUI framework and boy was it a nightmare to customize anything. I remember having to override the default Button class and add like 50 lines of code just so I could get a custom background. This and the fact that C# back then couldn't do high scalability servers were what forced me to learn C++ and in my opinion QT is a much easier library to use than the old WinForms was.
Because of legacy code issues, you're likely to just see the new parts of Windows get open sourced. When things get rewritten or ported or what-have-you (such as reimplementing these frameworks for .NET Core), it'll likely be open source. See how nothing from IE has been open sourced, but several components of Edge have been.
It's likely most of the nuts and bolts of Windows can be open sourced without threatening their business model, as competing OSes are pretty architecturally incompatible, and there will always be some closed source parts of Windows. Bear in mind, Microsoft is working heavily on shifting their revenue to being services-based as well.
I think it's probably unlikely not because of any opinions of Microsoft, but because Windows is vast and contains large volumes of code they've licensed to use in closed source code, but not bought the ability to re-licence as open source.
I vaguely remember Mark Russinovich giving a talk or something a couple of years ago (when they open sourced .Net Core, I think, but don't quote me), and somebody asked when they would open source Windows, and his reply roughly that they had no specific plans, but that it was "definitely possible": https://venturebeat.com/2015/04/03/microsofts-mark-russinovi...
I agree it is unlikely, or at least would require a huge amount of work. Then again, Sun did it with Solaris, so who knows what the future holds?
If somebody had told me ten years ago that Microsoft would open source their .Net runtime, port SQL Server to Linux, replace their proprietary browser engine with Chromium, I would have asked that person to give me some of whatever they were smoking. ;-)
WinForms is not windows-only, it has been implemented in Mono pretty long ago already. The major reason almost nobody develops WinForms apps on Linux is there is no visual WinForms designer (which is so good and intuitive in VisualStudio and that's a major WinForms strength) on Linux and given you are forced to code it manually other GUI toolkits can be more flexible, more powerful and look better. In fact I have developed some WinForms apps in VisualStudio on Windows specifically intending them to run on every of the 3 major OSes without modification.
It would be nice if we could all agree on a global environment variable to opt-out of all telemetry so we wouldn't have to keep track of the thousands of places to turn it off.
> WinForms is still IMHO the hands-down most convenient way to quickly assemble a GUI for an app
I think Lazarus[0] is easier, especially when it comes to automatic layout stuff, but WinForms is very close. They're somewhat related as both are descendants of the classic Visual Basic RAD approach and Lazarus is basically an open source and cross platform clone of Delphi while WinForms implements a very VCL-like (VCL is Delphi's framework) API - which is natural since both Delphi and WinForms were designed by the same person :-P.
Apple is in the business of selling hardware and accompanying it with software and cloud services.
They have zero interest of Mac software running elsewhere. They do have an interest for other software to be runnable under macOS / iOS without a major porting effort, but not a very great interest, I suppose.
Apache has a clear patent grant, but it's also transitive. Folks redistributing a modified library have to grant their own patents. Some customer might care about the distinction.
Also MS's lawyers may not be 100% clear about whether these libraries already include patented technology from other patent holders that MS may have licensed years ago.
MIT punts on the whole issue, so may seem "safer" to a lawyer when used with a giant existing code base. Apache is clearly the right choice for new development (for those who don't like GPLv3, anyway -- let's not get into that argument).
I don't think open sourcing the entire OS is possible due to reasons raised by other posts, but maybe they could open source the kernel. This is the central part of Windows and what is actually important. Maybe they could even open source DirectX or some other proprietary library that became a standard over the years, like WPF, who knows.
A more realistic approach for a cross-platform WPF might be to start with Mono's Moonlight (as Silverlight and WPF have a lot in common) - this could now be speed up by using parts of WPF.
However in 10 years no one has cared enough to start a project to do this, so I'm not too optimistic.
Nobody should be submitting pull requests for cross-platform support into WPF's main Windows repository. Instead they should branch WPF, make a platform specific version (e.g. WPF-Linux, WPF-MacOS, etc), and submit pull requests upstream that are platform agnostic (e.g. bug fixes).
How are they supposed to evaluate such contributions? They would need to set it up in their CI, know details about those platforms, etc. What if the first contributor uses X11 apis and then somebody else wants to use Wayland, another wants to use (whatever hardware accelerated graphics API)... are they to reject everybody who wasn't first?
Open source doesn't mean open development and liability & commitments. They are different things.
I actually think MS did a great job by saying that. The purpose is to literally make the source public but they don't have resources to make a long commitment. Then it's better to not say it clearly and later got accused as not well performing.
Depends if you subscribe to the idea that open-sourcing something is equivalent to putting it out to pasture.
MS’ problem is that Visual Studio is the only “real” software they produce that uses WPF - which also happens to be a flagship product. They need WPF to stay up-to-date but they can’t afford to invest their own FTE resources into it either when other products are more important as far as the C-levels are concerned.
I’m curious what this means for UWP XAML - as it has its origins in WPF. Can Microsoft use open contributed WPF code in UWP?
I've done a bunch of WPF in my time, but I struggle to see what I'd use it for now. For line-of-business type apps I'd do it on the web, and for anything that had to be desktop I'd need to be really, really sure that it didn't need to be cross platform.
Supporting cross-platform WPF (or WinForms) at this point would be a terrible idea for Microsoft.
These frameworks have been around for many years, and many (if not most) of the applications built on those frameworks make heavy use of third-party control libraries. Those libraries, whether open source or propriety, often include at least some win32-specific interop code that has also been around for many years. Most of those libraries are now in “maintenance only” mode, if they’re even being maintained at all. Realistically, most Windows GUI applications built on .NET will never run on any platform other than Windows, even if the core UI frameworks become cross-platform.
As soon as Microsoft says, “WPF is cross-platform now”, they’d get flooded with bug reports that aren’t even related to their code.
Editorial Channel
What the content says
+0.50
Article 19Freedom of Expression
Medium Advocacy Framing
Editorial
+0.50
SETL
+0.32
Article explicitly advocates for transparency and free information exchange, stating 'Open sourcing these technologies provides transparency' and commits to public code availability. This directly supports freedom to seek, receive, and impart information.
FW Ratio: 67%
Observable Facts
The article states 'Open sourcing these technologies provides transparency between the product team and the community.'
The article announces code is available on GitHub in public repositories accessible to all developers worldwide.
Inferences
Public code release and organizational transparency are direct manifestations of Article 19 freedom of information and expression.
+0.50
Article 27Cultural Participation
Medium Advocacy Framing
Editorial
+0.50
SETL
+0.32
Article explicitly states 'helps democratize Windows development' and 'enables the community to engage and contribute,' directly advocating for broader participation in software culture and technological creation.
FW Ratio: 67%
Observable Facts
The article explicitly uses the phrase 'helps democratize Windows development.'
The article states 'enables the community to engage and contribute' to framework development.
Inferences
Democratization of development tools and community co-creation directly facilitate broader participation in technology culture and scientific advancement.
+0.30
PreamblePreamble
Low Framing
Editorial
+0.30
SETL
+0.17
Article uses language of 'freedom you want' and 'democratize,' resonating with preamble values of human dignity and freedom, though not explicitly grounded in UDHR.
FW Ratio: 67%
Observable Facts
The article states 'you can create experiences with the freedom you want.'
The article states 'helps democratize Windows development.'
Inferences
The language of freedom and democratization resonates with preamble concepts of dignity and human freedom.
+0.30
Article 17Property
Low Framing
Editorial
+0.30
SETL
+0.17
Article announces open-sourcing of frameworks, releasing intellectual property to public with emphasis on developer 'freedom,' relating to property rights and their free exercise.
FW Ratio: 67%
Observable Facts
The article states 'WPF, Windows Forms, and WinUI are now open source.'
The article explicitly frames this as giving developers 'freedom you want.'
Inferences
Open-sourcing code represents a form of intellectual property freedom related to Article 17 property rights and their use.
+0.20
Article 20Assembly & Association
Low Advocacy
Editorial
+0.20
SETL
0.00
Article invites community participation and collaborative action, stating 'enables the community to engage and contribute,' suggesting collective effort and assembly.
FW Ratio: 67%
Observable Facts
The article states 'enables the community to engage and contribute to these repos.'
The article invites 'your contributions' to the open-source projects.
Inferences
Community collaboration and collective contribution relate to Article 20's right to peaceful association.
+0.20
Article 26Education
Low
Editorial
+0.20
SETL
0.00
Article makes source code freely available for study and learning, supporting educational access to technical knowledge and frameworks.
FW Ratio: 67%
Observable Facts
The article makes source code repositories publicly and freely accessible to all developers.
Open-source code enables continuous learning through code study and hands-on experimentation.
Inferences
Public code repositories function as educational resources supporting Article 26's right to education and participation in scientific advancement.
0.00
Article 1Freedom, Equality, Brotherhood
Low
Editorial
0.00
SETL
ND
Article contains no discussion of innate dignity or fundamental equality of all people.
FW Ratio: 50%
Observable Facts
The article text does not contain statements about human dignity, fundamental equality, or innate rights.
Inferences
The absence of engagement with equality and dignity principles warrants a neutral score.
0.00
Article 2Non-Discrimination
Low
Editorial
0.00
SETL
ND
Article does not discuss discrimination, protected characteristics, or inclusive access provisions.
FW Ratio: 50%
Observable Facts
The article makes no statements about non-discrimination or equal treatment.
Inferences
The absence of engagement with non-discrimination principles warrants a neutral score.
0.00
Article 12Privacy
Low
Editorial
0.00
SETL
+0.10
Article does not address privacy, data protection, or personal information rights.
FW Ratio: 67%
Observable Facts
The article text contains no statements about privacy or data protection.
The page HTML includes '<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MLSXDLQ"' for tracking.
Inferences
The tracking infrastructure reflects domain-level privacy concerns related to Article 12.
0.00
Article 22Social Security
Low
Editorial
0.00
SETL
ND
Article does not address social security, employment, or worker rights provisions.
FW Ratio: 100%
Observable Facts
The article contains no discussion of social security, employment protection, or worker rights.
0.00
Article 23Work & Equal Pay
Low
Editorial
0.00
SETL
ND
Article does not address work, employment standards, or fair wages.
FW Ratio: 100%
Observable Facts
The article contains no discussion of employment, wages, or working conditions.
0.00
Article 24Rest & Leisure
Low
Editorial
0.00
SETL
ND
Article does not address rest, leisure, or work-life balance rights.
FW Ratio: 100%
Observable Facts
The article contains no discussion of rest, leisure, or work-life balance.
0.00
Article 25Standard of Living
Low
Editorial
0.00
SETL
ND
Article does not address health, food, housing, or standard of living.
FW Ratio: 100%
Observable Facts
The article contains no discussion of health, food, housing, or standard of living.
ND
Article 3Life, Liberty, Security
Not applicable to this technical announcement.
ND
Article 4No Slavery
Not applicable to this technical announcement.
ND
Article 5No Torture
Not applicable to this technical announcement.
ND
Article 6Legal Personhood
Not applicable to this technical announcement.
ND
Article 7Equality Before Law
Not applicable to this technical announcement.
ND
Article 8Right to Remedy
Not applicable to this technical announcement.
ND
Article 9No Arbitrary Detention
Not applicable to this technical announcement.
ND
Article 10Fair Hearing
Not applicable to this technical announcement.
ND
Article 11Presumption of Innocence
Not applicable to this technical announcement.
ND
Article 13Freedom of Movement
Not applicable to this technical announcement.
ND
Article 14Asylum
Not applicable to this technical announcement.
ND
Article 15Nationality
Not applicable to this technical announcement.
ND
Article 16Marriage & Family
Not applicable to this technical announcement.
ND
Article 18Freedom of Thought
Not applicable to this technical announcement.
ND
Article 21Political Participation
Not applicable; article does not address government participation.
ND
Article 28Social & International Order
Not applicable to this technical announcement.
ND
Article 29Duties to Community
Not applicable to this technical announcement.
ND
Article 30No Destruction of Rights
Not applicable to this technical announcement.
Structural Channel
What the site does
Domain Context Profile
Element
Modifier
Affects
Note
Privacy
-0.15
Article 12
Page implements third-party privacy opt-out iframe and Google Tag Manager tracking. Observable privacy controls present but tracking infrastructure is extensive.
Terms of Service
—
No Terms of Service content visible on page.
Accessibility
+0.10
Article 2 Article 26
Page includes semantic HTML (iframe ariaLabel), CSS layout systems for responsive design. No explicit accessibility statement visible.
Mission
+0.05
Article 27
Microsoft corporate blog focused on product updates. Mission of information sharing to technical community implicit but not explicitly stated on page.
Editorial Code
—
No editorial code or ethics policy visible on page.
Ownership
0.00
Ownership clear (Microsoft). No modifier applied as this is neutral identification.
Access Model
+0.10
Article 19 Article 27
Public access to blog content. No paywall or registration visible. Supports universal access to information.
Ad/Tracking
-0.15
Article 12
Google Tag Manager (GTM-MLSXDLQ) integrated for advertising and behavior tracking. Third-party cookie infrastructure observable.
+0.30
Article 19Freedom of Expression
Medium Advocacy Framing
Structural
+0.30
Context Modifier
ND
SETL
+0.32
Blog post is publicly accessible; source code repositories are freely accessible on GitHub for all to review, study, and utilize.
+0.30
Article 27Cultural Participation
Medium Advocacy Framing
Structural
+0.30
Context Modifier
ND
SETL
+0.32
Infrastructure for community contribution and co-creation of software frameworks is announced and made structurally available through GitHub repositories.
+0.20
PreamblePreamble
Low Framing
Structural
+0.20
Context Modifier
ND
SETL
+0.17
Blog post is publicly accessible without paywall or registration, supporting universal access to information.
+0.20
Article 17Property
Low Framing
Structural
+0.20
Context Modifier
ND
SETL
+0.17
Code repositories are released under open-source licenses, enabling free use, modification, and redistribution by all.
+0.20
Article 20Assembly & Association
Low Advocacy
Structural
+0.20
Context Modifier
ND
SETL
0.00
Page announces GitHub repositories accepting community pull requests and collaborative contributions.
+0.20
Article 26Education
Low
Structural
+0.20
Context Modifier
ND
SETL
0.00
Public code repositories enable developers to self-direct learning and skill development by examining and experimenting with framework code.
0.00
Article 1Freedom, Equality, Brotherhood
Low
Structural
0.00
Context Modifier
ND
SETL
ND
Page structure does not address dignity or equality principles.
0.00
Article 2Non-Discrimination
Low
Structural
0.00
Context Modifier
ND
SETL
ND
Page structure does not implement measures to ensure equal access based on protected characteristics.
0.00
Article 22Social Security
Low
Structural
0.00
Context Modifier
ND
SETL
ND
Page does not implement social security or employment-related structures.
0.00
Article 23Work & Equal Pay
Low
Structural
0.00
Context Modifier
ND
SETL
ND
Page does not address employment or labor conditions.
0.00
Article 24Rest & Leisure
Low
Structural
0.00
Context Modifier
ND
SETL
ND
Page does not address rest or leisure provisions.
0.00
Article 25Standard of Living
Low
Structural
0.00
Context Modifier
ND
SETL
ND
Page does not address health or standard of living provisions.
-0.10
Article 12Privacy
Low
Structural
-0.10
Context Modifier
ND
SETL
+0.10
Page embeds Google Tag Manager (GTM-MLSXDLQ) iframe for behavioral tracking and advertising analytics.
ND
Article 3Life, Liberty, Security
Not applicable to this technical announcement.
ND
Article 4No Slavery
Not applicable to this technical announcement.
ND
Article 5No Torture
Not applicable to this technical announcement.
ND
Article 6Legal Personhood
Not applicable to this technical announcement.
ND
Article 7Equality Before Law
Not applicable to this technical announcement.
ND
Article 8Right to Remedy
Not applicable to this technical announcement.
ND
Article 9No Arbitrary Detention
Not applicable to this technical announcement.
ND
Article 10Fair Hearing
Not applicable to this technical announcement.
ND
Article 11Presumption of Innocence
Not applicable to this technical announcement.
ND
Article 13Freedom of Movement
Not applicable to this technical announcement.
ND
Article 14Asylum
Not applicable to this technical announcement.
ND
Article 15Nationality
Not applicable to this technical announcement.
ND
Article 16Marriage & Family
Not applicable to this technical announcement.
ND
Article 18Freedom of Thought
Not applicable to this technical announcement.
ND
Article 21Political Participation
Not applicable; article does not address government participation.
ND
Article 28Social & International Order
Not applicable to this technical announcement.
ND
Article 29Duties to Community
Not applicable to this technical announcement.
ND
Article 30No Destruction of Rights
Not applicable to this technical announcement.
Supplementary Signals
Epistemic Quality
0.64medium claims
Sources
0.8
Evidence
0.6
Uncertainty
0.5
Purpose
0.9
Propaganda Flags
2techniques detected
appeal to authority
Scott Guthrie announced today — uses executive endorsement to establish credibility.
loaded language
Repeated use of 'freedom you want' and 'democratize' without detailed justification of benefits.
Solution Orientation
0.79solution oriented
Reader Agency
0.7
Emotional Tone
celebratory
Valence
+0.7
Arousal
0.6
Dominance
0.7
Stakeholder Voice
0.352 perspectives
Speaks: corporationinstitution
About: individuals
Temporal Framing
prospectiveshort term
Geographic Scope
global
Complexity
moderatehigh jargondomain specific
Transparency
0.50
✓ Author✗ Conflicts
Audit Trail
1 entries
2026-02-28 09:33
eval
Evaluated by claude-haiku-4-5-20251001: +0.16 (Mild positive)
build d1f8d9e+mpqz · deployed 2026-02-28 11:28 UTC · evaluated 2026-02-28 11:37:51 UTC
Support HN HRCB
Each evaluation uses real API credits. HN HRCB runs on donations — no ads, no paywalls.
If you find it useful, please consider helping keep it running.