Ask HN: How can Microsoft improve/evolve electron, now that they own GitHub?

44 points by tumblen ↗ HN
Electron is a product that seems to have a love/hate relationship with developers and users.

That being said, one of the most loved Electron applications, VSCode, is made by Microsoft and now Electron is essentially one of their assets.

It seems to me like this could mean good things for Electron.

Are there any ways you can think of that MS can improve that ecosystem?

29 comments

[ 5.1 ms ] story [ 86.1 ms ] thread
Electron is open-source under an MIT license.

If Microsoft can do things now with Electron that it couldn't before, there's arguably something wrong with the project.

> Electron is open-source under an MIT license.

It's not the license at issue, it's the copyright which allows MS to change the license.

Yes, developers could fork the project, but that seems premature at this point.

What will probably is that MS will make optimizations for VS Code to run even better and then make those optimizations open for everyone.

>What will probably is that MS will make optimizations for VS Code to run even better and then make those optimizations open for everyone.

They already could of with the MIT licensed Electron... Literally nothing stopped them from doing this prior, unless the project as said has a bad structure but I find it hard to believe.

Having control of the copyright gives you control of the development process as well. So getting 1000 patches into a project just becomes a whole lot easier if you own the copyright.
You make it sound like Microsoft tried and GitHub shut them down on helping out with Electron?
If it is MIT, you can relicense, so effectively you have control of the copyright.
It's as if everyone hates Microsoft enough to believe they have different rights under the MIT license. MIT is as permissive as it gets, if Microsoft wanted to they could of released VS Code as a close sourced but free (as in money) product, and NOBODY not even GitHub would of been able to stop them either!
Yes, but then there would be two versions of Electron, the public version and the private version MS would keep internally.

This would mean that you'd have to spend work re-merging your changes back with the main branch when a new version of Electron came out.

Now there's just one version, and it looks like MS controls the copyright to it. And that means their patches could come first before others.

Nitpick:

I'm not sure what you're trying to say here, but I thought I'd clarify.

The owner of the copyright can relicense. Third parties can use the code to the license, but cannot relicense the code itself.

While MIT is very permissive, it doesn't give you permission to change the license, nor does it grant you the copyright to the underlying code.

It isn't about can or cannot, they just have more motivation now.
MIT license does not include a commitment to democratically determine project direction. Project owner has higher influence on project direction, although if the owner makes too many unpopular decisions they run the risk of being overtaken by a fork.
I think MS is already involved with Electron at some level. They are probably contributing to it since VSCode uses it. I think that they might be able to improve VSCode even more if they were to somehow integrate the Atom ecosystem into it and combine those editors.
(comment deleted)
I don't think something very dramatic can be done to fix electron - it was already OSS, and as sibling comments are saying, MS was already involved at some level.

But if the project is given the same governance model and love which VSCode gets, I would have much higher hopes.

There are a few Microsoft employees already working on improving Electron. Notably helping keep it up-to-date with Chromium [1] (current release at v61—6 versions behind stable).

Security is an area that could use a lot of improvements. Along with keeping Chromium up-to-date, sandboxing still needs more work [2].

Personally, I'd like to see greater support for Chrome Extensions instead of Electron's preload scripts. They're much more powerful in terms of controlling when scripts are run.

[1] https://github.com/electron/electron/pull/12477

[2] https://github.com/electron/electron/issues/6712

They could start with making Skype not lag horrendously while TYPING. Or better yet, put out a native client again.

Dreams...

Downvoters, I give you exhibit A:

https://imgur.com/a/VRS3wkd

What do those 3 apps have in common? They are brilliant Electron creations. They manage to beat even Java IDEs in memory consumption for no good reason.

Microsoft developers have already contributed directly to Electron.

That said, if there is a direction to hope for, it might be pushing more of Electron's "value add" into the web platform itself (ie, open more standards for PWAs to adopt). Though arguably many of the things that developers particularly want from Electron like macOS menu integration are pretty strongly platform-specific and tough to standardize in way that might make sense to the web platform as a whole.

It's very clear there's several ways they could 'improve' it:

* Replacing Chromium with Edge to improve integration with Windows 10.

* Introducing .NET runtime integration

* SharePoint and O365 integration which with the above would make it almost as powerful as SilverLight

* Cortana support baked-in

* Windows Telemetry

Non-snark version of this:

* Give Electron the ability to support multiple browser back-ends and use the user's preferred browser by default.

* Decouple Electron from JS/Node and allow developers to use whatever language they prefer to drive the native integration.

* Improve their JS SDKs for SharePoint, OneDrive, and O365.

* Port their Cortana SDK from WinJS to Node.

* Can't help here.

(comment deleted)
Progressive Web Apps are upcoming alternative to Electron. Microsoft already added support for PWAs in Edge, now they should work with other browsers vendors to add missing functionality, like file system access.
Same thing any motivated, funded, competent organization could have done at any time. Replace it with something functionally equivalent, but optimized.
>Are there any ways you can think of that MS can improve that ecosystem?

Yes, by killing it.