>> "We plan to create a new “LSP Tools Host” component (not an official name ), which integrates both open-source components, like Roslyn and Razor, with closed-source components, offering a wider array of tooling capabilities."
>> "Once the “LSP Tools Host” is complete, this will become the default experience for the C# for VS Code extension. Existing users will be able to choose between the open-source OmniSharp powered system that exists today, or the new “'LSP Tools Host” which will provide access to additional experiences. The “LSP Tools Host” will not be open-sourced, but we plan to communicate with the community along the way to help guide our future plans."
'Microsoft <3 Open Source' unless it threatens a business unit.
They did the same thing with closed source Pylance, which is built on top of the open source Pyright. Pretty despicable behavior no matter how you cut it.
I'm by no means in favor of closed source extensions, but I feel it's worth mentioning that yes, Pyright is open source and Pylance isn't, but Pyright is also a Microsoft project. You can hardly make the argument that keeping all parts closed source would have been better.
They have full right to do this. They are still scumbags for doing it.
Nobody should be terribly surprised when a giant corporation behaves like a scumbag; it's a fundamental feature of such organizations. We as individuals have the responsibility of shunning them when they do this.
Aren't they free to decide how their time and effort is used? Do they have some inherent obligation to work for you for free(which is what open source is)?
If you develop some piece of software, and use the open core model, I wouldn't consider you a scumbag.
You speak of them as if they were a person. Microsoft is not a person, so they indeed do not have the same rights as people do. Specifically, they can be called what they are with a far lower threshold than people, especially with the reputation they have accumulated over the decades.
I'm not totally familiar with their past actions, but you specifically called the fact that pylance is not open source (while the "pyright" core is) a "scumbag move", which is what I am arguing is unfair.
So I'm having trouble figuring out your position: is Microsoft a scumbag for not open sourcing pylance or not?
FWIW, I was, until recently, a daily user of pyright, and it's, by a million miles, the best LSP for python out there. The maintainer of pyright also contributes a LOT towards pushing forward the static typing ecosystem in python. In fact, the most recent PEP in Python static typing was initiated, drafted, and first implemented, by the maintainer of pyright[0].
Microsoft also has hired Guido Van Rossum to work on Python full time.
So I think calling Microsoft scumbags about an aspect of how they engage with the Python ecosystem is not only unfair, but totally misleading.
You again talk about individuals and individual behavior and then switch seamlessly into talking about Microsoft. Even worse, you insinuate that dislike of Microsoft behavior is equal to dislike of individual Microsoft-adjacent peoples’ behavior.
No. These things are not the same and they should never be equated.
I talked about the maintainer of Pyright (Eric Taut), and I talked about Guido Van Rossum. Both are currently salaried employees as Microsoft. The work they are doing is unambiguously enabled by the salaries that Microsoft pays them. They are not "Microsoft-adjacent", they are employed by Microsoft.
If one wants to evaluate Microsoft's moral standing with regards to their participation in the Python ecosystem, one must take into account the work done on the Python ecosystem by Microsoft's salaried employees, in their working hours, no?
don't really understand this mentality. I think people or organizations who create software, or anything really, ought to have the right (not just legally, but ethically) to determine how much of it they want to open up, given that they've built it.
I don't see the relationship to giant corporations either. Sublime is proprietary, Datomic is, a lot of bespoke tools are because the creators depend on capturing their full value.
We use pyright, great software with extremely quick support and fixes. I think they have a full time developer on this project. You seem pretty entitled.
I didn't mean to imply otherwise only that building prop. extensions on top of their own open extensions is nothing new for them and smacks of bad faith engagement.
See https://isdotnetopen.com/ for a concise summary of open problems in the .NET ecosystem and a detailed account how the .NET platform is becoming closed to ensure it is only useful if you are a customer who pays for Visual Studio.
This nice feeling to be proved right a short time after being down voted by some in previous threads because they were sure that complaining about EEE with Microsoft was just being stuck in the past and that they have changed...
But now, you can see the usual embrace, extend and extinguish in action.
They manage to get a lot of dev to use vscode saying that you don't have to worry as it is open source. Then they made extensions a need. Then they manage to have Gitlab and GitHub give up on alternatives like atom to get a monopoly on code editor. And now the fun could begin!
> integrates both open-source components, like Roslyn and Razor, with closed-source components
This kind of thing is why copyleft is so important. Microsoft wouldn't be allowed to do this if the tools in question were GPL'd (and external contributors didn't have to forfeit their copyrights with a CLA).
But they're not the only contributor, so they'd have to either get permission from everyone else or revert all their changes, which would have been a nontrivial effort.
Yeah, you're probably right. I guess my point is directed more at community developers: Don't work for free for the benefit of closed-source products. If you want to make a substantial contribution to something that's open-source under a pushover license, either make or find a copyleft fork and contribute your changes there instead.
pick an internet or engineering standard: implement the standard in a correct, technical way (Embrace); add MSFT proprietary extensions using an IDE, a method of notification, graphical desktop software with convenience functions, etc (Extend); now, require MSFT software to use that result, use finance to market it, use contracts to require company-wide use of standard MSFT computers -- sales for vendors that are not MSFT will fall on the open market because enough companies have already purchased the MSFT windows desktop, either required by the company/department or when purchasing the PC -- why spend more money when you have what you were after, and it is built in? In Redmond, winning more sales is not enough -- kill competing companies and/or write extensions to the standard-at-hand that require MSFT products (Extinguish).
Recall that the Windows license was sold without consent of an individual user, it was included when the PC was purchased, through a legally enforced agreement with the PC manufacturer. These methods made Bill Gates the wealthiest man in the World for twenty sequential years or so, with multiple anti-trust convictions and a row of books published on the details.
> pick an internet or engineering standard: implement the standard in a correct, technical way (Embrace); add MSFT proprietary extensions using an IDE, a method of notification, graphical desktop software with convenience functions, etc (Extend);
You're sort of glossing over how this works in practice.
The extensions to the open standard generally cause interoperability to be one way: the Microsoft implementation can interoperate freely with the open implementation(s), but the reverse isn't necessarily true (or if true at the outset, isn't guaranteed to remain so). There is often also a way to use or operate the MS implementation in a fully compatible mode, but it isn't the default configuration (and an update will often revert to the default), and requires forgoing the functionality that the extensions provide.
There is a bit of "boiling the frog" aspect to this, with incompatibilities (usually experienced by those using a non-MS implementation without the extensions) that start as annoyances gradually escalating, and at all times switching to the MS implementation is an easy (and, as long as their market share isn't dominant, affordable) option to make the headache go away.
Nothing that exists today is moving behind a closed-source model. Omnisharp will continue to be open and maintained but it won't be the default anymore.
Presumably other editors won't get the new language server, unfortunately. However the ability to use the current open source language server (which is not made by Microsoft) should remain unaffected.
As far as I know Emacs never used LSP for C# development, because OmniSharp doesn't use LSP.
I doubt we'll get better IntelliSense from this move, but OmniSharp stays available to Emacs and so does its IntelliSense.
thankfully vscode is still OSS, I am an emacs user myself but sometime i like to go see features and ideas from vscode and see how to implement it in elisp
They keep fucking themselves over. Once .NET has slowly gotten back into the game after many years of hard community work they do stuff like this to make it uninteresting again.
My understanding is that VSCode uses it regardless of whether it's running locally or remotely. It's just an abstraction layer that happens to use web protocols for IPC instead of something local-only.
The comments on this thread did't age well at all... They aren't going closed source and updated the thread to reflect so. Tldr; they are bringing closed source tools to the open source crowd.
There's not much of a practical difference between turning an open-source tool closed-source, and creating a closed-source replacement for an open-source tool and then letting the latter wither and die. In either case, the open-source one quickly becomes unusably outdated without a dedicated community fork effort.
>> "Once the “LSP Tools Host” is complete, this will become the default experience for the C# for VS Code extension. Existing users will be able to choose between the open-source OmniSharp powered system that exists today, or the new “'LSP Tools Host” which will provide access to additional experiences. The “LSP Tools Host” will not be open-sourced, but we plan to communicate with the community along the way to help guide our future plans."
'Microsoft <3 Open Source' unless it threatens a business unit.