8 ms·
Microsoft Edge WebGL engine open-sourced
- tracker1 10y agoWow, 45 upvotes and no comments... While I'm not entirely sure what the strategy is with this, I'm fairly surprised by the move. This is something that would have been unheard of from Microsoft even a decade ago. They've made a bunch of really huge strides in FLOSS, but they've all been centered around developer mindshare. I totally get open-sourcing your developer tooling, especially in consideration of their Azure ambitions, which isn't bad. I really like VS Code, which has become my daily editor of choice, I keep meaning to try the integrated debugging, but haven't. The .Net core releases have me looking at C# again, in a fairly new light. The Linux Subsystem for Windows is impressive. All of that said, this move still surprises me. I'm not sure if/how much it will benefit the larger developer community, but it is really nice to see a much more open MS. All I can say is that the next half decade will be particularly interesting in terms of software improvements as hardware has started to level off.
- fenomas 10y agoHaving seen a tiny little slice of the requirements of open-sourcing code at a (different) Big Software company, I really hope people give MS and other companies their deserved props for stuff like this. As a 3rd party it's very easy to think "oh they should just release the source for X and if they don't it's because they don't want to", but if X is big and it didn't start out public, it usually takes a pretty herculean effort to get it released, often meaning someone burnt a lot of capital (of whatever sort) to make it happen.
- SwellJoe 10y agoI believe it will pay dividends for Microsoft that they're being more encouraging of this kind of thing. There's a few reasons so many of the best developers work at Google (for example), and one of them is that Google opens a lot of stuff, and actively encourages open development. I, personally, wouldn't work anywhere where I couldn't contribute to Open Source communities at least part of my work day. Microsoft knows how important developers are for a platform company, both inside and outside of the company (as evidenced by very good salaries, real offices, etc.). I just think it took them a few years to notice that one of the things good developers value is community. Now that they've figured it out, they've begun making changes. If you'd asked me 10-20 years ago, "Hey, would you ever consider working for Microsoft", I would have laughed. Today, I'd probably still say no, but I wouldn't laugh, and I'd probably even think about it for a minute or two.
- r2dnb 10y ago>I, personally, wouldn't work anywhere where I couldn't contribute to Open Source communities at least part of my work day. With respect I don't think that the gist of your post is solid, you seem to forget that Microsoft has no problem whatsoever to attract good developers. They could even afford to turn down someone as talented as the creator of Mono. What developers - like other employees - look at is the corporate package, and - sometimes - the company's mission. This is why Oracle still has employees.
- SwellJoe 10y ago"This is why Oracle still has employees." That's not a very high bar, is it? "Has employees"...well, so does Walmart. Does Oracle have the kind of engineering talent and passion that will see them through future decades as a market leader? I believe we've seen a shift that won't revert. And, I believe Oracle has only a long slow decline ahead of them. Microsoft, on the other hand, may have averted that fate. This is not to say that Open Source is magic (companies still have to ring the cash register), or that engineers are in charge of the ship now (though that, too, has been happening). I just think we live in a different world from the one where Microsoft and Oracle rose to dominant positions. Would you want to work at Oracle? More importantly, would you prefer to work at Oracle over, say, Google or Github? Oracle has always been, and remains, anti-OSS. They sue over Java APIs, they close Solaris development after Sun had opened it, they piss off MySQL developers so much that they leave the company and fork MariaDB, they piss of Hudson developers leading to Jenkins fork, OpenOffice forked into Libre Office, etc. The best developers hate working with Oracle. The same was once true of Microsoft; at least it applied to many Microsoft products. I think that means something. It's not a simple equation, but if I were betting on companies that will stand the test of time, I'd bet on the ones that have deep company loyalty (both inside and outside) and have passionate people who want to be involved in what the company is doing.
- PeCaN 10y agoEh. Oracle has a huge amount of engineering talent in certain areas (i.e. the database and SPARC). It would be pretty fun to work on the database I imagine. I would personally never be able to bring myself to work there, but maybe working on a decent team + good money could still attract talent.
- wodenokoto 10y agoCan you talk a bit more about why it is expensive? Relicensing oss is difficult because you might need consent from all contributors, but I imagine that is easy for in-house code.
- Aeolos 10y agoYou have to convince n-layers of management, who often don't even know what open-source software is and think that "if we give it away for free then our competitors can also use it." You have to pass legal review, which can take months, possibly rewrite parts of the code that cannot be opened. Fundamentally, big corps are inertia accumulators. Noone wants to change the status quo, and as a low-rank engineer you have to fight every step of your way.
- int_19h 10y agoThe props in this case also go to the management, all the way to the top. As someone doing F/OSS at Microsoft, it has become immensely easier to do in the past couple of years - and this is largely due to a concerted push from the top to make it a part of the company culture, and get all players (from devs to lawyers) to understand that it's a good thing to be embraced, not something to be avoided. When I joined back in 2009, I certainly didn't expect to end up shipping newly written code under GPL, of all things. And yet, here we are.
- userbinator 10y agobut it is really nice to see a much more open MS ...which at the same time are collecting huge amounts of data ("telemetry") on and locking down their OS against users, as well as blatantly advertising to them within that OS. The openness is just a facade to entice people away from seeing that other side. IMHO they're basically saying "we're open-sourcing our IP because it's not worth much anymore --- monetising our users is worth much more, and they might trust us more if they think we're friendly and open." Google and Facebook are other examples of companies doing a similar thing --- they contribute to and maintain lots of open-source projects, but that's not where their profit comes from. From that perspective, I'd rather have the old MS back. Windows was sufficiently open to develop applications for (I've been programming in Win32 since the Win95 days), a little RE ala Russinovich went a long way towards "opening" the darker parts, and Microsoft wasn't hell-bent on tracking users and turning their PCs into advertising platform that MS controls.
- igravious 10y ago> The openness is just a facade to entice people away from seeing that other side. Excuse my language but I don't know a better or more direct way to say this but horseshit. You have no idea that's true. That's a pretty slanderous claim. I _hated_ the old Microsoft but I'd never let that hate distort my judgement the way it obviously has distorted yours. > "we're open-sourcing our IP because it's not worth much anymore --- Equally horseshit. > Google and Facebook are other examples of companies doing a similar thing --- Again, horseshit. My feeling is that devs have seen the success of Linux and come to the correct conclusion which is that open-source is pragmatically a better engineering practise than not. > From that perspective, I'd rather have the old MS bac Are you out of your mind? I can link to comments of people quipping about flying porcine objects and chilly days in hades when Microsoft started open-sourcing .Net. The new Microsoft was literally unimaginable even six years ago. I think it's incredible and Microsoft is to be encouraged. Guess what, they're not a monolithic malignant entity. They can be giving with one hand while taking with the other without there being a causal relationship.
- sangnoir 10y agoYou failed to address OPs arguments, dismissing them as 'horseshit' instead. The following statements are faact, not slander: Microsoft has made it well nigh impossible to disable telemetry in Windows 10. Microsoft has also resorted to pretty underhanded ways to trick people into upgrading to windows 10 (since when did dismissing a window mean the same as clicking on "OK"?) Commoditizing your complement is not a new concept - open sourcing your complement is just a recent twist. Without passing judgement, I can safely say Google will not open source its search algorithms in the foreseeable future.
- bad_user 10y ago<Insert obligatory Microsoft has changed comment?> Except they haven't changed that much. Windows is now malware and they are bullying Android and Linux device makers with their patents, so they aren't really that different from the Microsoft that funded the SCO lawsuit.
- discordance 10y agoMicrosoft is a very large organisation, and many parts behave differently. Did you know the president of the Apache Software Foundation is also an employee at Microsoft?
- deleted 10y ago[deleted]
- bobajeff 10y agoHmmm, interesting choice to opensource just the WebGL engine without the rest of the browser's layout engine.
- arca_vorago 10y agoEmbrace, extend, extinguish. I'm constantly surprised at how quickly people forget the lessons of the 90s...
- bigtones 10y agoDude, it's 2016 - that was twenty years ago.
- coderdude 10y agoSeriously old memes. At least we don't still have to deal with the cringe worthy "M$".
- kayone 10y agoI still see it here and there, and it's great sign about author's bias. usually saves me from reading the rest of the comment.
- dsabanin 10y agoSome things never change, it's in Microsoft's DNA. They are just luring people back in with their open source initiatives because they saw that their stack was becoming obsolete. As soon as they're back on the horse, we'll see the same behavior we used to see from them. That's my opinion of course. Fool me once...
- coderdude 10y agoMicrosoft is amazing. Top notch work across the board. Not all of their initiatives are aligned with hacker ideology but they are hands down developer friendly. Ballmer always made that important to know. I personally have the utmost faith in them. Their development tools are unequaled.
- bschwindHN 10y ago> they are hands down developer friendly > Their development tools are unequaled Have you ever done any cross-platform C++ programming? That might change your opinion a bit.
- coderdude 10y agoBecause Visual Studio isn't on every platform yet? The answer to your question is yes, btw. I spend most of my time in Ubuntu and I've also been forced to get my own projects to compile on my MacBook. It sucks, if that's what you were getting at. At least make a point.
- bschwindHN 10y agoIt's taken Visual Studio quite some time to get up to feature parity for things like C++11/14/17. A year or two ago was a super frustrating time to be writing modern C++ that supported Windows. Oh, I can't use that feature here. Oh, this networking API call is slightly different from every other platform. Oh, this same function exists but the Windows team changed the name to be camel case instead of using underscores. And if you're working on a cross-platform project, it's probably using CMake or something similar. The development cycle of `cmake .. && make` is simple and easy. As far as I could tell, Windows builds were not as straightforward. It's been awhile so maybe they've improved it, but I would hardly call their developer tools "unequaled" I just want to install Clang in a straightforward manner, call the above-mentioned `cmake .. && make`, and have an exe waiting for me. Is that possible now? It wasn't in the past which is why I'm highly suspicious of your "hands down developer friendly" comment. Windows always seems to be the platform that has to do things slightly different, and has offered the most friction when developing projects that run on OS X, Linux, and Windows. EDIT: I would also like to add that most CI services offer at least G++ or Clang++. AppVeyor seems to support Windows builds with MSVC but isn't free. This is yet another hindrance to smooth cross-platform development.
- rossy 10y agoWell, that's interesting. The state of desktop OpenGL on Windows is pretty awful at the moment. The antiquated WGL APIs make it difficult to control when your application enters exclusive fullscreen mode, and as far as I know, it's impossible to control latency or get any kind of presentation feedback with them. You also can't make UWP apps that use WGL. Google's ANGLE, which is used to implement WebGL in Chrome and Firefox, is a lot better, and it lets you do fancy things like render OpenGL ES content to a D3D11 texture or to a DirectComposition surface. If Microsoft open-source Edge's WebGL engine (currently it seems like only the GLSL->HLSL translator is open-sourced,) it could become another modern way of using GLES on Windows. Source: We rely on OpenGL to render video in mpv, and we are currently switching from using a WGL context by default to using ANGLE. Maybe this could be a third option?
- MikusR 10y agoSo this is false? https://msdn.microsoft.com/en-us/library/windows/apps/dn440963.aspx https://msdn.microsoft.com/en-us/library/windows/apps/dn4409...
- rossy 10y agoWell, that would use a WebGL canvas and Edge's GLES renderer, not WGL and desktop GL. (WGL refers to Microsoft's equivalent of GLX and EGL here, not WebGL.)
- pjmlp 10y agoSo what is preventing you to use Microsoft's port of Angle? https://blogs.windows.com/buildingapps/2015/08/04/angle-for-windows-now-available-on-nuget/ https://blogs.windows.com/buildingapps/2015/08/04/angle-for-...
- rossy 10y agoPresumably nothing, if I was writing a UWP app. All I said was that WGL didn't work in UWP apps, not that there wasn't any alternatives. It's actually pretty interesting that Microsoft maintain a fork of ANGLE for this purpose when they have their own GLES implementation in Edge. I guess (before now) it was easier for them to modify ANGLE than to open-source their own work.
- wtracy 10y agoThe README says the code is published without any build scripts "for reference only", so I expected this to be another "shared source" thing. It turns out that the code is offered under the (very permissive) MIT license. Cool.
- mark_l_watson 10y agoMicrosoft seems like a different company now. Off topic, but I am a happy customer of Office 365. I use the web versions of Word and Excel on my Linux laptops when people send me Office files. Works fine. The one terabyte of cloud storage for each family member is nice also.
- deleted 10y ago[deleted]
- abpavel 10y agoThe title is misleading, as the first words on github are: "This repo contains a select number of files". The title should say "Dump of some of the files". Considering the state of popularity if the Edge, maybe even "reference on what not to do"
- NKCSS 10y agoThat's a bit negative; it's the source for the WebGL implementation; rather than wait X amount of time till they can do the 'proper' release; the source is available to read, how can you be mad at that? This is something Microsoft would never have done in the past, and I think we should applaud the efforts that are being made. Lastly; they are doing this to improve interoperability; give them some credit for the effort.
- eumoria 10y agonever underestimate nerd hate towards microsoft. they could open source everything they have and give every person a free sex robot and people would still find something to be pissed at them about
- jaeh 10y agojust think about the fact that this sexrobot would show advertisements at climax, clench it's teeth when updating (at the worst possible time...) and generally chitchat about all of your kinks with the microsoft cloud. worst sex partner of all times.
- deleted 10y ago[deleted]
- iLoch 10y agoHmm this is very interesting... I was looking for exactly this so I could try to hook up WebGL calls from canvas into HoloLens' 3D environment. Three.js holograms :)
- Ezhik 10y agoI wonder when the entire browser is gonna get open-sourced.
- agnivade 10y agolol, look at those enterprise type comments - //+---------------------------------------------------------------------------- // // Function: GetDefaultInitValue // // Synopsis: Returns a string that contains the default HLSL value for // the component of this type. Should not be called on sampler // or void types, as there are no values to init with. // //------------------------------------------------------------------------
- romanovcode 10y agobetter enterprise comments than no comments
- antoinealb 10y agoActually this comment contains useful information such as validity domain (should not be called on samplers or void types) and justification for this domain (there are not values to init with). Much better than the crap comments I see on a lot of projects such as "# does this even work ? lol"
- deleted 10y ago[deleted]
- whatever_dude 10y agoOther than the superfluous "a string that contains", it's actually a pretty informative comment.
- greggman 10y agoWhat's more frustrating is that edge had been shipping for a while now with a broken implementation of WebGL. The conformance tests have been available for years and yet they haven't bothered to pass them https://www.khronos.org/registry/webgl/sdk/tests/webgl-conformance-tests.html https://www.khronos.org/registry/webgl/sdk/tests/webgl-confo... This makes devs have write nasty workarounds if they want WebGL apps to work on Edge
- ohyes 10y agoReminds me of their approach to javascript.
- haxiomic 10y agoThis is great to have as a reference - the GLSL parser looks like a very thorough implementation. Thanks! We've recently produced a WebGL implementation on top of V8 (passing calls through to OpenGL ES) - we needed it for a specific use case where a bundling a complete browser wouldn't do. We're interested in open sourcing if it's helpful to others - I'm curious to know if anyone else has a use case for an embeddable WebGL implementation? (Ours was to run three.js on the GearVR)
- microcolonel 10y agoBy the way, this is not the whole WebGL implementation, just the shader transpiler (GLSL to HLSL). Though it's good to see that their GLSL parser isn't totally insane. Somebody really ought to check it for compliance though; we really don't want to have yet another nonstandard shader compiler.
- unique_parrot2 10y agocall me impressed when i can launch a mirrored copy of my windows ssd from an usb stick without fuss. this is just peanuts.