Definitely dents Microsoft's nascent open-source credit with me and, like so much of Microsoft's history, seems actively damaging in a monumental way to the history of computing itself for Microsoft's benefit.
Definitely dents Microsoft's nascent open-source credit with me and, like so much of Microsoft's history, seems actively damaging in a monumental way to the history of computing itself for Microsoft's benefit.
Not "the best" per se.. Rather "good enough" and part of other tools the customers already use, while keeping them free so it becomes a matter of having to spend extra $$$ for another product.
Take Teams for example. It's a pig of an app IMO. Slow (takes almost a minute to start on my otherwise-fast M1 Mac), extremely high memory use, constant errors "Oops something went wrong + cute pic of ice cream", a mess visually and not dense enough UI. They focus all their time on adding new features rather than optimising. They also focus very strongly on the "for everyone", trying to be a jack of all trades, master of none.
Slack does a much better job at team collaboration IMO. Especially for tech users, it's fast, shows a lot in small screen space and isn't as heavy (though I really miss the IRC bridge!). But Teams comes for free with O365 and integrates fully with that ecosystem. So no hassle with integrating with your ID Provider etc, it's just plug and play. So if you'd want to have slack at work you'd have to make an unreasonably strong business case for all the extra cost and work.
Another example: Sharepoint. I doubt you could find anyone who would consider Sharepoint best at anything. Yet it's still used heavily in favour of other options, because it's again free if you're already in the MS ecosystem, and it integrates with all the other tools like OneDrive and Teams (both basically just layers on top of Sharepoint). So even if you're not using sharepoint, you're using sharepoint :P
I do agree they are the best at the VS Code niche. But usually this is not their game, they go for 'good enough'. Maybe it's because their developers dogfood VS Code so they couldn't stand it being slow :)
For example, VS Code is highly optimised and doesn't suffer the performance drawbacks that usually come with electron. They have optimised the hell out of it. However they never bothered to do the same with Teams, probably because they own that space anyway.
At the end of the day, you only employ so many top-tier folks, and you have a current corporate focus.
To be completely clear, I don't blame the guy. The approval process sucks, so if you get to bypass that, it's a huge win for your own sanity.
Why is having to demonstrate that something is worth the cost and effort of doing it "unreasonable"? Isn't that simply "a business case"?
The only thing I like with Visual Studio Code is that they were able to promote a cross text editor way to have auto-completion and other IDE-like features, thanks to the Language Server Protocol. Now I can use these features in Vim and Kate.
I don't understand how that is remotely ok. VSCode's main binary links statically against Blink (as it uses Electron) which is under LGPL, at the very minimum they should provide a way to relink that binary as per LGPL requirements.
no, the closed source part can stay closed source but relinking against a custom version of Blink must be allowed.
Just run "strings" on the code binary: you'll see symbols coming straight from Blink like this one: https://github.com/chromium/chromium/blob/72ceeed2ebcd505b8d...
$ strings code-insiders | grep HTMLFormControls
HTMLFormControlsCollection $ objdump -p /opt/visual-studio-code-insiders/code-insiders | grep NEEDED
NEEDED libffmpeg.so
NEEDED libdl.so.2
NEEDED libpthread.so.0
NEEDED librt.so.1
NEEDED libgobject-2.0.so.0
NEEDED libglib-2.0.so.0
NEEDED libxshmfence.so.1
NEEDED libgio-2.0.so.0
NEEDED libnss3.so
NEEDED libnssutil3.so
NEEDED libsmime3.so
NEEDED libnspr4.so
NEEDED libatk-1.0.so.0
NEEDED libatk-bridge-2.0.so.0
NEEDED libdbus-1.so.3
NEEDED libdrm.so.2
NEEDED libgdk_pixbuf-2.0.so.0
NEEDED libgtk-3.so.0
NEEDED libgdk-3.so.0
NEEDED libpango-1.0.so.0
NEEDED libcairo.so.2
NEEDED libm.so.6
NEEDED libX11.so.6
NEEDED libXcomposite.so.1
NEEDED libXdamage.so.1
NEEDED libXext.so.6
NEEDED libXfixes.so.3
NEEDED libXrandr.so.2
NEEDED libexpat.so.1
NEEDED libxcb.so.1
NEEDED libxkbcommon.so.0
NEEDED libgbm.so.1
NEEDED libasound.so.2
NEEDED libatspi.so.0
NEEDED libgcc_s.so.1
NEEDED libc.so.6
NEEDED ld-linux-x86-64.so.2But who knows.
And: That aside the role Microsoft nowadays plays in the open source world is reason for concern, while their current actions are mostly positive.
The Discretionary pricing comes in the Tiers, while the Moat is provided by VS Code reducing the chance of real competition against Tier 1 or 2.
The removal of hot reload from VS Code is to provide differentiation between Tier 2 & 3, to drive customers to paid versions.
--
Tier 1 .. Visual Studio Enterprise - expensive
Tier 2 .. Visual Studio - low medium cost for a business
Tier 3 .. Visual Studio Code - 'free' in exchange for your info (via telemetry) and reduces the chance of a truly open competitor challenging the above tiers. This one must walk a line between being less useful than above tiers so there's value to buy them, while being more useful than other 'free' competition in the short term so they attract mindshare away from other OSS that might otherwise grow to challenge the higher Tiers
IntelliJ IDEA is a competitive "open source based" product, with a significant market share (which qualifies as "viable competitor not under Microsoft's thumb").
VSC's "base open source" product is actually equally or more capable than IDEA - see VSCodium; its existence is proof that in worst-case scenario, a capable open source editor would still exist. Although there are some omissions, I think that given the MIT license, in theory a competitor could also build a series of commercial plugins - if I'm correct, this would actually be an interesting scenario.
What I mean by that is something without network effects. If your company uses Google Docs, you don't have much choice because that's where everything is (modulo apps that can sync to it so you can use a different editor).
For something like VSCode, at the end of the day it's still just a text editor. My use of VSCode doesn't stop my teammate from using vim.
For something like that, do you know how much of a pain in the ass it is at most companies to get them to buy something? The issue isn't even if it's $5 or $500. It's just going through the process of figuring out how to buy something, getting approvals, figuring out how to deal with the invoice, etc. Unless I'm already super committed to it, there's no chance when I can simply download any number of free options out there.
Then you have no competitors and can start charging the monopoly price, and no one tries to enter the market for fear you'll start dumping again.
Charging nothing for a product with no unit cost doesn't work like that. You're not forcing anyone to sell at a loss and the intent isn't to raise prices after they're gone.
The concern there is that you could come to dominate the market (even if the price remains zero) and then leverage that into other markets. If one IDE has more users than any of the others (market dominance) and it integrates with the vendor's hosting service and their proprietary APIs for their proprietary operating system and their app store and payment systems, that's more like tying than dumping.
IE and Skype were criticized for being terrible pieces of software, and people were desperate for something to come and disrupt their target markets. Now Chrome and Discord are being criticized for being so functionally superior to their predecessors - as well as every other option - that nobody is left with a choice anymore.
Developers don't want to choose anything besides Chrome because nearly everyone has been convinced to use it from the quality of the product, so sites are broken on other browsers, causing more people to move to Chrome. Critical information found nowhere else on the internet is locked within Discord, because almost everyone wants to use Discord, so you have no choice but to also use Discord to communicate with those people and view that information.
In the process, Discord becomes the sole owner of that crucial information, and Chrome becomes the single deciding factor in how web standards are developed.
Here is his keynote at VSCode day, https://www.youtube.com/watch?v=hilznKQij7A