Any plan to open sourcing Silveright?


Hey people!

Sorry for chiming in here without reading through all of the posts. I’m just going to throw in my two cents about why Silverlight needs to be made open source.

Firstly, I’ve been using Microsoft development technology since Quick Basic. My first job was programming in VB 6. I was converted to VB .Net, and then C#. At that time Windows Forms was the graphics library to be used. This was a step up from VB 6. Then, I detoured and dabbled in ASP, and a little bit of WPF when it became a thing.

When Silverlight became popular, it honestly looked like it was going to become the answer to everyone’s development dreams! Finally, a powerful graphics library was at our disposal, C# code could be shared across platforms (including MacOS!), it could be deployed in a browser, and Silverlight generally became and amazing platform to develop on. I can safely say, it was the most mature UI platform I had ever developed on.

Silverlight lacked touch friendliness out of the box, but most of our users were touch screen tablet users. So, we got to work on making Silverlight touch screen friendly for our users. We developed pop out keyboards etc. that made Silverlight completely user friendly without a mouse and keyboard. What surprised me was not the lack of touch screen usability in Silverlight, but the ease with which touch screen functionality can be added to Silverlight.

Our software is still going strong on Silverlight, and although the port to UWP has been quite smooth, there are still large chunks of functionality that do not exist in UWP. It seems that that functionality will not exist for another 5 years - ant there will probably never be a browser deployment option, or a Linux/MacOS version.

The problem for Silverlight now is a political problem; not an engineering problem. Corporations have realized that app stores make money, and therefore Silverlight is a threat to that model to some extent. If amazing apps can be delivered through a browser, then apps in the store become less appealing. At the end of the day, Microsoft has to make money.

So, if we are honest with ourselves, we have to accept that Microsoft will be reluctant to do this. That does not change the fact that it needs to be done! We are Microsoft developers - always have been, always will be! C# is our language of choice and we’re here because that’s what we do. Microsoft should open source this out of loyalty to their developers, and they should understand the intangible benefits of open sourcing Silverlight. Open sourcing Silverlight would generate an enormous amount of good will in the Microsoft developer community. It may not translate to $ directly, but it will translate to more developers paying for their annual MSDN subscriptions. So, please Microsoft, get on this!

PS: It makes me warm and fuzzy to read comments here. On most other forums, people belittle Silverlight developers. People here obviously know what’s up.


I’m posting this even a year later, because in the situation has not improved and yes, I agree that Silverlight is not an engineering problem as much as a problem of what can be called “mindshare”.

Everyone wants to go HTML5 on the assumption that is more open and is a good replacement. It really isn’t. The video codecs are proprietary, and so are all of the implementations of EME- the most popular being Widevine. The idea that HTML5 is in some way better than previous video solutions, is in my mind at least, somewhat delusional. It’s not open.

Furthermore, Internet browsers are one of the most flakey platforms ever created. Each browser only supports varied bits of HTML5. If you are lucky, you aim for Chrome as it is the most used browser and hope for the best - that the next Chrome update still lets the page work. You have no guarantees whatsoever that browser page is going to render properly from one day to the next. Chrome is not equal on every platform either.

Google has its own interests and will not hesitate to act on them. It been known to cripple Flash on Linux while preserving functionality in its own versions of ChromeOS. Significant portions of its codebase are not open to the public, so in spite of all the good it has done, Google maintains near absolute control over everything it does in terms of compatibility and support…

This isn’t fan-boy/fan-girl talk. It’s reality. Developers have been sold a lemon in the hype over HTML5 without taking the time to realize it. That is why native apps on phones have had such success. HTML just doesn’t get the job done or provide the kind of long term stable platform support that is preferred. As far as I can tell, HTML5 has effectively “poisoned the well” in favor of Google.

I think they should open Silverlight officially. Who cares if it leads to a revival? No one is forcing anyone to use it. Let each developer choose what solution works best for them.


Good news @T.j_Duchene … looks like WebAssembly is the new browser tech that is going to supplement HTML5, and the Mono team is already making a port for it:

My suggestion would be to wait a year or so for the first bits around this tooling to emerge and then take it from there. Otherwise, I would say waiting for a Silverlight “event” of some sort would be a waste of time, but I could be proven wrong. Even if it does happen, you would be dealing with code that is a half a decade old vs. all the truly cross-platform newness of what WebAssembly has to offer, IMO.


WebAssembly is really off topic for this thread, IMO.

If it does not die on the vine, I have no expectation that Mozilla’s, Google’s, or Microsoft’s implementations are going to be sufficiently equal as to be an effective cross-platform solution. (Microsoft has already abandoned Silverlight/Moonlight and Google has already abandoned PNaCl, so there is some precedent to expect them to abandon cross-platform efforts when it is in their business interests to do so, in spite of the long term benefits.)

That said, WebAssembly might be useful as an effective replacement for JS, but as all things go, it is highly speculative, and unproven compared to Silverlight.

It could even be said that it is really more of the same mish-mash of Web “standards” that have already caused issues. It’s not going to force browsers into equal conformance. The Web as a development platform is a hodge-podge of lightly enforced standards, with no one being really tested as officially conformant. I expect WebAssembly to be in the same vein as Java; an LLVM with no ISO or ECMA standardization and guaranteed RAND protection. I fully expect competing versions will constantly be clashing to the point where it is abandoned as unusable, you will still have to write special code for each vendor, or the various partners will sue over its use.

The obsession with “new code” is not healthy practice. Mature codebases, even decades old, are still used today. Quite simply, they work and the time has been taken to get the kinks out of them.

The only reasons I suggested that Silverlight should be opened is to simply allow existing installations the lead time they need because they will be able to provide their own modification and support; and opening software leads to a “cross-pollination” of ideas for whatever software comes next.


Yeah fair enough. I wouldn’t say it’s off-topic however. In addition to something new, you could end up porting Silverlight to WASM and run it there. The problem of course is that a tremendous amount of SL code eventually ends up into the guts of the OS, with native p/invoke calls and the like. I am not even sure how that works on a Mac and I never intend to find out. :slight_smile: From my perspective a lot of that work has already been handled by .NET Core, and is already working in a viable manner (unlike WASM as you point out) in iOS and Droid. We’re talking teams of (well-employed and salaried) people for over two years in this effort. To me it would seem extremely challenging to do the same with an open-source project where everyone is working for free and have the same success. Especially when there is already a deployed and active solution that already essentially does the same thing. Even more so as SL never ran on Droid/iOS, and you would have to make the efforts to do so… that is a LOT of effort!

Additionally, I guess my confusion is, even if you get SL open source and working again, what will it run on? Older IE browsers and on the Mac for OOB scenarios? Would you continue to carry the failed torch of ActiveX controls that everyone overwhelmingly and thoroughly despises? Does SL even run on Edge? It all seems very limited, but if it’s simply to continue existing investments, understandable. However, I am not sure how that improves over the current scenario where you essentially get a supported product until 2021 (but no access to source).

(I hope you don’t see me pissing on your parade here. I myself invested nearly six years of my life in SL and thought SL5 was probably the best tech MSFT has ever developed.)

Even in all of this, I do think porting to WASM continues to be a viable option as well. Technically speaking, if you got SL working on WASM, you wouldn’t have to worry about it getting it to work on Droid/iOS.

So along those lines, have you been able to validate your concerns with the WebAssembly repos? You can see right there on their front page that it is being designed as an open standard like HTML5, and there is now cross-browser consensus around this tech (whatever that means. :slight_smile: ), as of last week even.

So I guess the point here is… while I agree that there is risk in WASM, it is extremely active (and technically already actively deployed). It is also 20-x faster than JS, which seems to me a key point of motivation to ensure its success (or failure if you really really like JS LOL). While that certainly paves the way towards new endeavors, you could still leverage it for legacy projects like this one.


Your comments are certainly valid ones.

I think it is important to note that most of the major contributors to open source are salaried individuals paid to do the work they do. The idea that FOSS is worked on for free has never really been the majority case after a project becomes well established. FOSS is free for use, but it has never really been developed for free. To suggest otherwise - in my opinion - is to buy into a popular myth. Programmers have bills to pay, just like everyone else.

To simplify my point of view, I feel that any time you release a project to a FOSS license, regardless of its particular popularity, you are adding to the sum of the public’s knowledge, and there is no real downside in such an endeavor. If SL were opened, then that in and of itself is of value. Microsoft really has very little to lose by doing so, and much to gain - including community goodwill and future patches at no cost to themselves. As to the browser plugin/ActiveX argument, I believe you are being slightly myopic. As with all things, it can be engineered into other platforms. It would be another tool. Opening the code simply creates opportunities for others to take it in new directions.

I have nothing against .Net minus the fact that it is poorly presented. As a cross-platform solution, it has been my experience that it is lacking both consistency and RAND protection. Much of Net only functions on Windows, while bits and pieces work elsewhere. Commercial deployments have always been hampered by the fact the MSIL can easily be reverse engineered. The lack of standardization and patents are also in the mess.

I’d like to comment about your concerns about PInvoke, and that is that it is really irrelevant because it is really just a library with native functions for your OS wrapped in a framework that .Net can understand. In my mode of thinking, it is not much different then C code being ported and far easier. Most OSes outside of Microsoft are somewhat POSIX compliant to begin with.

As I commented before, HTML5 really is not an open standard, and not every implementation is equal, which results in countless hours of wasted efforts. There is no means of actually certifying compliance, and that undermines real efforts of success as a platform to replace others. At best, it has momentum due to the lack of a certified and standardized cross-platform alternative. Either native apps will effectively replace the Web, or HTML will have to be retired in favor of something that can provide a consistent experience on all platforms.

I have nothing against WASM. I simply think that market forces will directly undermine its usefulness. As it is licensed under an Apache license, I expect to see proprietary extensions by the major vendors in their implementations as means of dealing a blow to the competition. The only way to avoid this, would be to have a third party such as ECMA or the ISO certify a minimum standard that everyone has to comply with. The Apache license offers no such guarantees of standardization.

As a replacement for JS, it is extremely promising. but given the likelihood of the above scenario, I do not believe it will go as far as it may have. A nice idea would be to have WASM as an intermediate language to be compiled into native code using JIT, and leave behind the idea of the browser entirely.


Appreciate the conversation and sharing your thoughts @T.j_Duchene. :slight_smile:

I think I am aligned with most that you have to say. The only hitch is how you perceive (or rather how I perceive?) HTML5 as an open standard. I was/am under the impression that it is exactly this. Or at least a standard that is “standard enough” more so than previous HTML “standards” that have essentially devolved into the feared chaos that you describe with WASM. It would seem to me that HTML5 is something that has been working well across all browsers since October 2014’s “final” draft. I am not sure if you have built an HTML5 site, but in my experience it has been extremely consistent between Chrome, FireFox, and IE/Edge.

So, this gives me hope for “standards” going forward, but again there is the chance that this gets out of hand (quite easy to get “confused” or “misunderstand” requirements, especially when they favor your performance metrics), so who knows. :slight_smile:

In any case, I don’t want to temper your enthusiasm towards having an open source SL, for the (valid) reasons you outline. It would seem to me, however, that MSFT for whatever reason simply does not want to do so. My hunch is that something significant is afoot in the IP chambers there, perhaps with a patent infringement or the like. Which would be really really difficult to understand, as really all SL really is is a WPF runtime host in a browser window. But, I am not a patent attorney. Nor do I want to be. :stuck_out_tongue:

So yeah, continue the crusade. I’ll be keeping watch from the sidelines :thumbsup:


Well, when I say that HTML 5 is really not open, the key features that replaced what Silverlight had to offer is video - and the video spec in HTML 5 is a travesty. The primary codec is H.264, which is patented. I’m not saying that Silverlight was better, only that it did not pretend to be something it wasn’t.

HTML 5 in essence, “made a deal with the devil” so that corporate interests would feel comfortable with streaming video. In doing so, they opened the door to content fees down the road. Right now, there is no charge to use formats such as MP4 for noncommercial use, but that may not be the case indefinitely. If you charge for access to MP4 video, you are required to pay licensing fees - per video - right now. When the current license agreement lapses, it is quite possible that the MP4 patent holders may demand fees from every website using their patents.

When the W3C made that deal, any idea the HTML fostered an “open web” became a thing of the past. Once patents and license fees are involved, the playing field is no longer even, but a pay-to-play scheme favoring larger interests. Everyone perceives HTML5 to be an “open standard” when in fact it isn’t - or at least, it is not what I consider one. In years past, an open standard also meant that any patent holders were required to offer a RAND grant, with the vast majority charging no fees at all - as to encourage its adoption. In my mind, HTML 5 is little more than a way for patent holders to sneak in legal control over the use of content. Maybe they won’t start going after the Web today, but a few years from now is another story.

Much like Android or Apple, HTML5 is open, until you want to use certain parts. Then it is suddenly not open, costly and proprietary.


Silverlight is also used by some XAML developer to show their custom control on web. That can be useful for courses, .Net partner Ad. And any people that interested in showing some XAML (Editable) in their web page.


it seem silverlight have meeting with active X.both technology has been forgot.not heared that technolgy are use for web developer for a long time.we need see they action on the web.i think i miss both of them

.NET Foundation Website | Blog | Projects | Code of Conduct