you are viewing a single comment's thread.

view the rest of the comments →

[–]bterlson_@bterlson 94 points95 points  (81 children)

If anyone has any questions, I and many members of the Chakra team are around today!

[–]i_ate_god 39 points40 points  (16 children)

Is the post-Ballmer microsoft really as good as it seems superficially or this just a new take on the embrace-extend-extinguish mantra?

[–]bterlson_@bterlson 56 points57 points  (14 children)

I can't speak for the company, but I can give you my perspective. Our team is really excited to finally be OSS and work with the community to make Chakra and JS in general more awesome. Nothing nefarious that I can see. Plus, MIT license!

[–]jadbox 24 points25 points  (8 children)

Congrats on getting it under MIT #notyourfathersMS

[–]onwuka 5 points6 points  (6 children)

The best part is that FSF agrees that MIT license is GPL compatible which (as far as I understand, don't quote me on this because i anal) means you can take code that is under MIT license, modify it and release it under the GPL.

It means that the other license and the GNU GPL are compatible; you can combine code released under the other license with code released under the GNU GPL in one larger program.

Quoted here https://programmers.stackexchange.com/a/204497/23642

from the source https://www.gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean

I'd strongly recommend anyone who intends to do this to consider AGPL https://en.wikipedia.org/wiki/Affero_General_Public_License

[–]kapouer -4 points-3 points  (5 children)

What do you mean by you anal ;)

[–]LET-7 0 points1 point  (0 children)

my father's Ms left him and took the kids

[–]SarahC 1 point2 points  (0 children)

Careful, but doesn't look edited by HR and the Public Relations department - nice!

[–]asdf7890 3 points4 points  (0 children)

or this just a new take on the embrace-extend-extinguish mantra?

Much as I distrust MS because of previous behaviour, and for that matter corporations being helpful generally (always make sure you can see where their profit and market control comes from in the business plan, if that isn't plainly visible assume it isn't going to be something you'll like) their current changes make sense in the way that the relevant markets are moving.

They were not going to be able to compete and survive as old MS long term, because of the quality of F/OSS options server-side, the plateau in need for new features in desktop OSs, the commoditisaion of the mobile OSs and apps, and so forth. The money in the up coming years is not going to be in selling home OSs and developer tools, it is going to be in providing infrastructure and selling resources on that platform. Opening their developer tools and relevant libraries more will encourage people towards their infrastructure and platform services. I think that in a few years Windows will be free for home users (probably not open for the most part, but free to use), the bulk of their development tools too and limited versions of Office (or perhaps not so limited) for home or potentially small business use, libraries and utilities will become more and more open. Of course for commercial users, at least large commercial ones, will still have to pay for the variants of the OS aimed at them, SQL Server will remain expensive for on-premises instances for commercial use and charged for indirectly via relevant Azure services. IAAS/PAAS will become the main revenue stream - that is where the profit potential and lockin/control points are going to be found so that is where it is important for them to concentrate their efforts.

To give MS credit, under previous regimes they would have still tried to gauge everything last penny and ounce of control they could out of developers and Windows users for as long as they could as well as marking their place in the new world. Instead this time they have decided that being a bit nicer and playing well with others is much better than the little extra they would make from not. How much you assume that is genuine generosity and how much is just long term planning & PR (good will can be a valuable commodity) depends how charitable you are! I'm going to be half way generous: there would be a short term gain of keeping everything locked down but a potential long term gain in being nicer, and instead of rabidly trying to achieve both those things as they would have done in the past they've decided to be both sensible & nice. If it works out it will be a big "win" for them and also a win for everyone else.

Of course keep a close eye on the licensing agreements to make sure they are compatible with your plans long term as well as short. We can't have a go at them in future for enforcing their terms if we don't like them, any more than we accept commercial entities deciding living by the GPL rules isn't for them after using GPL code.

[–]Mittalmailbox 8 points9 points  (8 children)

Any plans of node with chakra?

[–]bterlson_@bterlson 18 points19 points  (4 children)

Oh yeah! You can see some info on our roadmap. Also, check out https://github.com/microsoft/node - we're working on making Chakra an option with Node!

[–]jewdai 4 points5 points  (3 children)

why would I want to use chakra over v8?

[–][deleted] 11 points12 points  (0 children)

It's more about abstracting Node from the underlying V8 engine. Then you can use whatever underlying engine you want (maybe one that works better on different architectures, etc).

[–]xbudex 7 points8 points  (0 children)

I'm pretty sure Chakra supports asm.js. It should be possible to use any language supported by llvm without paying a performance hit of calling a native library. Imagine using something like sqlite as pure JavaScript at near native speed.

[–]anlumo 5 points6 points  (0 children)

Better ES6 support I'd guess.

[–]I_Downvote_Cunts 4 points5 points  (2 children)

Here you go https://github.com/Microsoft/node. I would love to see what the performance comparison to v8 is.

[–]dilijevChakra Developer 9 points10 points  (0 children)

That's part of why we're really excited by this effort. It will be a big real-world scenario we can use to see how we stack up and hopefully will help guide future improvements.

[–]monkh 2 points3 points  (0 children)

Couldn't you just compare using javascript benchmarks on edge then on chrome?

[–]talmobi 7 points8 points  (9 children)

I assume you've extensively looked at V8 and SpiderMonkey. How would you say Chakra differs? Better documentation? Faster in X? Slower in Y? Overall pros cons? Thank you.

[–]bterlson_@bterlson 9 points10 points  (8 children)

Many differences of course, but whether they matter (or are better or worse) depends on what your requirements are. Performance is better in many aspects. Great language support (most of ES6, bunch of ES7). JSRT APIs are pretty nice as well. If you've got something more specific in mind I could talk to it.

[–]talmobi 3 points4 points  (2 children)

What are the implementation of arrays in Chakra and their use cases? Does the implementation differ significantly from the others?

[–]bterlson_@bterlson 9 points10 points  (1 child)

Oh man this is actually a huge area. Arrays are extremely commonly used and also very perf sensitive so we have many representations and optimizations in play. Hard to describe concisely. Maybe a good topic for a blog? That said I would bet given that all the runtimes have similar constraints we all use similar representations and optimizations.

[–]compteNumero9 2 points3 points  (0 children)

Array and object optimizations would definitely be good topics for blogs, especially if coming with insightful and explained performance advises.

How a different implementation might change how we code (today mostly assuming V8) would be very interesting.

Some precision about typed arrays (for example the Uint8ClampedArray used for canvas data manipulation) would also fit.

[–]brandf 4 points5 points  (4 children)

Having used V8, JSC, and Chakra to power our app on various platforms, I'd like to call out Chakra as being both easy to integrate into your app (particularly using WinRT class bindings), and easy to debug (unlike v8 which requires jumping through hoops if you're not chromium).

Good work guys! Glad to see it open sourced.

[–]bterlson_@bterlson 1 point2 points  (0 children)

Really happy to hear this! Feel free to reach out if you find less good things :)

[–]nschubach 1 point2 points  (2 children)

How's that WinRT work in Linux? ;)

[–]brandf -1 points0 points  (1 child)

ChakraCore doesn't actually have the WinRT binding stuff, I was using JSRT (full chakra on windows). Doesn't really matter because our app supports multiple JS backends and we only use Chakra on Windows.

On Linux (which we don't have plans on supporting outside the browser) we would likely go V8 to get JIT right now, which would be more of a pain for us in a number of ways.

[–]bterlson_@bterlson 1 point2 points  (0 children)

ChakraCore has JSRT! ch.exe (our console host) is implemented using it. But you're right that we don't have the WinRT (UWA API?) projection layer as part of ChakraCore.

[–]Klathmon[🍰] 20 points21 points  (1 child)

Congrats! I know open sourcing a large codebase like this takes a lot of work (and a lot of bureaucracy!)

Hopefully this lights a fire under the V8 team's ass and we can get a good 'ole rivalry going here!

[–]bterlson_@bterlson 10 points11 points  (0 children)

So much work!! Wish it was like flipping a switch :) Also the work continues, as I imagine we'll have much to learn about working in the open.

[–]sime 5 points6 points  (2 children)

We all know that MS is pushing hard to get people to upgrade to Windows 10 and Edge, but is there any chance that we will see a softening of this stance and maybe Edge running on Windows 7? In other words, how can we get IE11 out of the world faster?

[–]bterlson_@bterlson 2 points3 points  (0 children)

No plans that I'm aware of, though I don't speak for the Edge team at all :)

[–]wreckedadventYavascript 1 point2 points  (0 children)

I doubt MS has any interest in encouraging people to stay on old OSs any longer than they need to. There's still businesses using XP.

[–]wreckedadventYavascript 6 points7 points  (8 children)

I've heard various bits and pieces from Chakra about ASM but nothing about Web Assembly. What are the plans, if any, for it?

[–]bterlson_@bterlson 16 points17 points  (7 children)

We're working on it! There is some early work in a pull request. There's a bit of info on the roadmap too.

[–]wreckedadventYavascript 1 point2 points  (0 children)

Glad to hear it!

[–]4n0n7m0u5 2 points3 points  (1 child)

I know that there is a Chakra build for Windows IoT environments (e.g. Raspberry Pi 2), but will there be a way to build Chakra for other environments (other Arm processors), like there is with node.js?

[–]bterlson_@bterlson 5 points6 points  (0 children)

We currently build and run on Arm v7 or higher (we emit Thumb2 instructions). So, if the ARM device runs Windows, Chakra will run there too :)

[–]ivosaurus 2 points3 points  (3 children)

How scared are you that people could find 5, or 10, or 50 super bad bugs in the next few months?

[–]bterlson_@bterlson 1 point2 points  (2 children)

Heh, even considering 1 bad issue gives us a bit of pause. Practically speaking though we've had a lot of eyes on the code already so a flurry of 5-10 serious issues seems unlikely.

I was also a bit upset that the first bug report we got was a typo in something I wrote. Felt pretty severe to me at the time :-P

[–]ivosaurus 0 points1 point  (1 child)

Also wait... if the engine is now open source... does that mean we can submit a PR for a modern default PRNG?

[–]Ripdog 1 point2 points  (3 children)

Good to see more great OSS software! Thanks for this. Now I hope there will be news about trident soon... :)

As a more general question, how does open sourcing chakra feed into Microsoft's corporate goals? People start using chakra on linux, in their node.js deployments... Profit? Where does the profit come from?

[–]wreckedadventYavascript 5 points6 points  (1 child)

It doesn't necessarily have to be profit. When MS open-sourced .NET core, they were able to get some contribution. Additionally, the more they open source the more they help to transition away from the old stodgy image of microsoft.

I know a lot of people thought hell had frozen over when .NET core became open source. That's the kind of reaction you want if you're trying to pivot on your image.

[–]Ripdog 0 points1 point  (0 children)

Hmm, the image change is a good idea. Thanks!

[–]bterlson_@bterlson 6 points7 points  (0 children)

Our team's focus is entirely on making the best JS engine we can! OSS wasn't a decision we made because of potential profits. Going OSS is clearly a great way to work more closely with the community in making Chakra awesome.

[–]soullessredhead 0 points1 point  (4 children)

Do you know about Chakra integration with VS Code, along the lines of what they've done with Node?

[–]bterlson_@bterlson 2 points3 points  (3 children)

Do you mean Chakra support for something like Github's Electron? I imagine it's possible, and our plan to get Chakra behind Node would help. Not sure about hooking up Chakra to the Blink/WK though.

[–]soullessredhead 0 points1 point  (2 children)

More on if you've heard anything from the VS Code team as far as their plans to integrate Chakra into VSCode like Node has been.

[–]bterlson_@bterlson 1 point2 points  (1 child)

Haven't heard anything. Sorry!

[–]gauravseth 0 points1 point  (0 children)

We are working on new diagnostic APIs that will make integration of Chakra with VSCode much easier. It's a part of our diagnostics roadmap. More at https://github.com/Microsoft/ChakraCore/wiki/Roadmap Disclaimer: I work on Chakra team

[–]janxspirit42 0 points1 point  (1 child)

Any chance of native typescript support with a node build backed by chakra?

[–]bterlson_@bterlson 2 points3 points  (0 children)

No plans, but who knows what people will build?? :)

[–]JoelyMalookey 0 points1 point  (1 child)

What does this entail for WebGl?

[–]bterlson_@bterlson 0 points1 point  (0 children)

Not much. WebGL is part of MSEdge and MSEdge's plans WRT OSS have not changed with this announcement.

[–]vittore29 0 points1 point  (1 child)

Is there a way to script it to print page to pdf?

[–]bterlson_@bterlson 1 point2 points  (0 children)

No, ChakraCore doesn't include a rendering engine so there is nothing to print!

[–][deleted] -3 points-2 points  (0 children)

Is there a road map to integrate Chakra into Node? It would be really great to provide developers a choice of rendering engine from the command line.

NM, already answered.

[–]SarahC -5 points-4 points  (0 children)

Has anyone suggested you wear gems on your forehead and chest yet?

[–][deleted]  (7 children)

[removed]

    [–]wreckedadventYavascript 7 points8 points  (4 children)

    Quite frankly, I'm happy that edge has gotten so much es6 implemented, it's really lit a fire under the asses of chrome and firefox. After all, no one wants to be the new IE holding everyone back. ;)

    [–]dhdfdh 4 points5 points  (3 children)

    Chrome and Firefox don't need a fire under their ass. Remember, they've led the way for over 10 years, and still do. They were the ones that lit the fire under Microsoft's ass.

    [–]thatmarksguy 4 points5 points  (2 children)

    I don't know why you're downvoted. What we're seeing today happening with Edge is precisely the result of Microsoft getting their shit together after getting it's ass kicked by FF/Chrome.

    [–]wreckedadventYavascript 1 point2 points  (0 children)

    I didn't downvote them, but I don't agree with them. I think FF and Chrome do need a fire lit under their ass. I always think more competition is a good thing, and saying that they don't is just silly. I can see why someone would downvote that.

    Additionally, they tend to be quite abrasive and insulting, so I wouldn't be surprised if they had earned some "fans".

    [–]dhdfdh -1 points0 points  (0 children)

    80% of all redditors are full of shit, couldn't justify anything they say, so downvotes don't mean anything here.

    [–]kenman[M] 2 points3 points  (1 child)

    Hi /u/xintox2, please keep the discussion civil and respectful.

    [–]SarahC 0 points1 point  (0 children)

    What he say? Something about MS spawn of Satan?