I feel like with a _loooot_ of coordination it should be possible to have proper, open source LSP implementations that are very performant. Mainly a question of finding enough people willing to fund this work, because it's definitely work!
I personally also have gripes about ending up with some JS thing to do constant parsing and processing of files.... but I don't have anything to back it up.
And even very intelligent, competent AND benevolent MS employees downplay this: https://twitter.com/bitecode_dev/status/1537357261554733056
Steve cannot see how it will lead to attrition or vendor lock in.
It's not that there are no good people at MS, but the internal marketting is strong as well.
Making "the LSP sever that leverages pyright" closed source sucks but is far from the end of the world. If the complaint is that pyright could eventually become non-OSS well that's true of everything.
I then question the easy part by asking, tongue in chick, to tell me how I can do the same with FOSS easily. It's freedom I am talking about, not price. Indeed, the proprietary work in question is available without payment already.
They are not in a position to voice dissent, unlike de Icaza, who has a great programming record and courage.
His reaction is unexpected though -- after all this is the playbook FSF is always warning as a possible path. He must have been aware of the possible paths and the fear of them when Novell was trying to bring C# onto Linux / Gnome.
Google learnt their playbook from M$.
What you and others are seeing here is M$ at its best, playing like they always played, but without the "we love open-source" mask.
Contributing to open source means you don't wholly own the project you contributed to, and that constrains what you can do with it.
To be fair, pylance is orders of magnitude better with regards to performance. But I just don’t get what the reasoning was to make pylance closed source. It’s baffling.
> It’s baffling.
Vendor Lock in? Same reason you can't use the VSCode marketplace of mostly open source extensions on a non-Microsoft build of VSCode or any of the remote work features.
Lock in doesn’t make sense to me. The main competition is Pycharm which has its own set of tooling.
I can somewhat understand the remote extensions being closed source considering they need to interface with a server. It makes no sense for Python.
My guess is that Pylance is also used within Visual Studio proper, and the VS product owners are pushing for closed addons.
I think data science also is best when it itself is open/open-source, and peer reviewed.
I can understand why Microsoft wants to make that a moat to protect expensive data science and ML research boundaries and it doesn't seem that baffling to me if that is indeed the reason why they closed source pylance, even as I question if it was the best choice.
There isn't an Existing One, more like many existing ones with their own tradeoffs. Jedi is designed to infer the variable in your currently editing LOC. It can't type check and report issues on entire files/projects. It's also a one man project.
It would be nice if they were more transparent about the differences between the two and why Pylance is closed. There are a few github issues where Microsoft PMs basically stonewall the community with very little info.
Other than this fact, what is the effect, supposedly detrimental?