Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Microsoft Refuses to Open Source VSCode Python Language Server (github.com/microsoft)
194 points by cjv on Jan 10, 2021 | hide | past | favorite | 145 comments


This title is inaccurate.

The language server _is_ open source, and is available here: https://github.com/microsoft/python-language-server. This is the default one VSCode ships with.

This issue is filed on Pylance, a new (released June 2020) language server that's currently still in beta (announcement: https://devblogs.microsoft.com/python/announcing-pylance-fas...).

Also, like the contributor notes, a lot of the "secret sauce" in Pylance is part of the open source Pyright typechecker: https://github.com/microsoft/pyright.


It's not really inaccurate, because:

> Our long-term plan is to transition our Microsoft Python Language Server users over to Pylance and eventually deprecate and remove the old language server as a supported option.


Well it's open source, so the community can maintain and support it if it wants to. Microsoft isn't obligated to maintain and support its old language server in perpetuity.

Nor is it obligated to open source it's new language server, which it clearly sees as filled with secret sauce, being best in class and providing a significant competitive advantage that it doesn't want to give away for free to all of it's competitors.

If I was them, I wouldn't open source it.


That's fine, but then they should please stop acting like they are the second coming of christ for Linux and Open Source.

They are misleading their users.


Also see Halloween Documents, particularly those who haven't read much of important computer history and were not around at the time or sometime later:

https://en.m.wikipedia.org/wiki/Halloween_documents

"Microsoft has since acknowledged the documents' authenticity.[2]"


Anybody can act like that. That is called freedom and is not limited to physical people but to corps as well.

You can choose to avoid them, to publish against them, to influence others, to fork it, etc. That is your freedom.

Why are we even talking about this ? Nobody owes you anything and vice-versa.


I mean, we are doing exactly what you just said: they are doing what they want, as is their right, I find it what they are doing to be dishonest and call them out on it. Not that they will care. But in the end, the consequences of their actions is that people who dislike them will talk bad about them.

The have the right to be two-faced about their open source policy, I have the right to speak about how I think it's bad to do so.


"Why are we even talking about this ?"

Politicians and cops have right to do a lot of things too. Just because it's your right, doesn't mean we have to agree with it and not talk about it.


They plan to deprecate the open source server, and move everyone over to the Pylance server under discussion. See their own announcement https://devblogs.microsoft.com/python/announcing-pylance-fas...


I don’t use Visual Studio Code, so take this with a grain of salt, but the person who told me to try this said they were using the old one and switched because they got prompted to do so. So perhaps it is now the default?


Almost the entire thread seems like a case of "give them a finger and they'll take the whole hand"

Microsoft is a profit driven business, it never committed to open-sourcing every piece of software it writes, of course they're trying to somehow make money with VSCode, because it costs money to develop it.

If you don't like it choose another one of the billion text editors and IDEs that exist or write a competitive language server, but nobody 'lured you in' or is extinguishing anyone.


Microsoft did promote it, at least in its early days, as an open and standard system, and the LSP as a way to go from MxN language specific IDE implementations to M+N. But tben, they make it 2xM+N by forbidding the use of their LSPs in other editors - which, if done by everyone would put as back at MxN.

This is hypocritical behavior, and it does remind people of EE&E which was Microsoft’s explicit policy in the past. It’s not an exact repeat, but it does seem to rhyme.


> by forbidding the use of their LSPs in other editors

How can they prevent my, let’s say vim, client from connecting to a closed-source server if they both speak the same protocol?


As pritambaral mentioned, they can make some minor changes to the server that are just enough to cause the client to no longer work.

This isn't exactly unheard of when it comes to Microsoft. I mean, you don't have to go far to find an example of them doing exactly that -- there's prime example [0] right here in this thread!

(Alsa known as "extend"; see also "Active Directory")

--

[0]: https://news.ycombinator.com/item?id=25719294


One way would be to make the closed-source server speak mostly-but-not-quite-the-same protocol.


Other servers like clangd have documented extensions, but I see your point. I’m glad the protocol is discussed and developed in the open - I think it’s really helped the IDE story in other editors.


They did here by pushing LSP as a standard. Actually, LSP allows for closed source extensions that are generally useful: they have specially prevented that from happening here. There may be the usual “but it’s not open source” complaints here if they did that, but I suspect that people were mostly interested in the source so they could build their own version that they could use elsewhere more than that they actually wanted the code for something.


I am glad they did. LSP is eons better then stuff we had before.


And nobody here is arguing "LSP is bad". They're instead criticising the duplicity of proposing and promulgating an open "standard" that LSP is supposed to be, and then breaking that practice.


Agreed. Microsoft has released tons of open-source work. They're not obligated to do so for every product they develop.

There's likely more complex licensing restrictions on some of their products. They even allude to this in their answer.


You are absolutely right, but this thread's point is exactly to highlight this fact. That if you'll commit to learning and depending this toolkit, you might want to understand that Microsoft is in control and depending on its mood may decide to carve up some parts of this OSS editor and ship it to proprietary land.

Their marketing or their disciples don't really spell it out when recommending it for obvious reasons.


I thought the new monetisation ideology of New Microsoft was "push to Azure", and that they don't necessarily have to monetise specific products as long as you're kept in the ecosystem whose funnel is the aforementioned. Thoughts?


There is no singular monetisation strategy in Microsoft, it’s a bit more complicated than “all in on Azure”.


Exactly, do not expect a business (except it is a non-profit) to do something out of charity - they don't.


In addition, Microsoft refuses to open source their remote VS Code implementation: https://github.com/microsoft/vscode-remote-release

See issue: https://github.com/microsoft/vscode-remote-release/issues/17...


Exactly - https://github.com/VSCodium/vscodium/issues/240

"And the remote server actively prevents OSS versions from connecting. Even if you enable the proposed apis needed, you will get an "Unauthorized client" error message."


That extension is a competitive advantage that's crippling Jetbrains. Just business as usual.


What's preventing Jetbrains from making their own remote plugin if it's really crippling them? Also Jetbrains IDEs are closed source software, unlike VS Code, why are we supposed to feel bad for them again? That they're not making even more money?


> Also Jetbrains IDEs are closed source software

Not all of them:

1. https://github.com/JetBrains/intellij-community

2. https://github.com/JetBrains/intellij-plugins

3. https://www.jetbrains.com/pycharm/download/ (see how the Community Edition is Open Source)


I note here, that JetBrains does have a somewhat analogous feature in their Professional license of PyCharm[0].

0: https://news.ycombinator.com/item?id=25722765


I was honestly very surprised that Jetbrains didn't already have a remote plugin.

I know that I wouldn't consider any new editor without one, as I almost always develop on a remote box.


I use JetBrain's remote python interpreter functionality[0] with great success and convenience. For anyone whose development environment is appropriate for its use, I honestly cannot recommend it highly enough. I generally can only use it when I'm running the full "Professional" license version, however.

This uses SSH and SCP to automatically deploy the code to the remote environment and run it with the interpreter on that machine, rather than your own local laptop/desktop. One advantage is that it does not require any special software to be installed on the remote server. VS Code's solution requires a pretty hefty installation consisting of basically an entire copy of VSCode onto the remote server.

The downside of JetBrain's approach... I believe that it requires a local copy of the files in order to perform the "LSP"-like syntax error highlighting / suggestion functionality that JetBrains software is so lauded for. This could be difficult/inconvenient if your codebase is particularly enormous, or if you aren't allowed to mirror it locally.

However, given the amount of support that JetBrains has for this kind of setup, I wouldn't be shocked to see an additional future option for something more in the style of "VS Code Remote Development"

0: https://www.jetbrains.com/help/pycharm/configuring-remote-in...


Cool, good to know that it exists. I may have to push someone I'm working with onto it (assuming he has Pro, which he almost certainly does).


I hate to bring out the old “embrace, extend, extinguish” argument, but I honestly can’t think of any other reason for this. Visual Studio Code has gotten really popular lately, but I think very few people realize that many parts of it are closed source. And you can’t take extensions from the Microsoft store and use them in your own editor…this just seems designed to get people to use your editor, give them enough source so you can claim it’s hackable, but prevent any other editor from reusing it. That doesn’t sound very open at all.

Actually, in this specific case, it really hurts, because Microsoft had been the one pushing for LSP to enable reusability and interoperability. You can’t take M*N to M+N if every editor refuses to let their implementation be used by anyone else. Honestly, Microsoft, what are you getting from taking a bunch of open source code and making the good bits proprietary, and then sabotaging your own messaging around standards that you want adopted? Because I can’t see any reason why you have to do this :/


Microsoft always does this, they fool people by pretending they’re in favor of open source or make something free but it’s just a trick used to bait and switch people into the proprietary anticompetitive Microsoft ecosystem.

https://www.vox.com/2019/10/14/20910510/microsoft-government...

https://en.wikipedia.org/wiki/United_States_v._Microsoft_Cor....


Why should they open source everything? I never see anyone complaining how Apple doesn't open source Safari or XCode. I mean there are plenty other totally open source editors out there to choose from.


You can’t push something as a standard, claim that the fact that it is standardized allows for interoperability, benefit from the work other people do to conform to your standard, then prevent your own work from being used by others like you claimed would be possible. Apple sidesteps this issue by rarely promoting standards in the first place.


Microsoft has total right to pursue that goal. We should better help others so that they don't fall in the trap...


How is that the standard? You can write you python code in PyCharm with their own set of tools or use vim or emacs with other open source python servers.


Why? Because they're the new Microsoft that completely embraces open source, we have been told, and it was seen as paranoid and ridiculous to suggest that they were merely the old Microsoft with a new trick.


Who told you that? Nobody said they would open source everything. There were never plans to open source Visual Studio or Office or Windows. And why should they? Did they sign a contract in blood?


There's a way to respond to comments. And this definitely isn't the right way. You might want to read HN guidelines.


Maybe not Safari, but they have open sourced WebKit and a lot of kernel modules and other useful things: https://developer.apple.com/opensource/ https://news.ycombinator.com/item?id=25675763


Saying Apple open sourced WebKit is a pretty funny way of seeing things.


They've been pretty good stewards though, for a long time.

I don't know how much of it is lip-service, but webkit.org talks about using webkit on non-Apple platforms, and webkit-gtk gets discussed on their mailing list.

It feels to me like a truly collaborative open-source project, in a way that's unlike most of what Apple does. Again, I don't know how much of this is an aberration, but I've always been impressed with the whole thing.


Exactly, it was open source before Apple came along. Guess GP didn’t realize that WebKit is a fork of KHTML from KDE which was LGPL licensed (if memory serves).


WebKit was forked from the LGPL KHTML. Unless Apple wanted to get sued and lose, they needed to release WebKit under the terms of the original code.


And Microsoft has open sourced at lot as well. So? Why should any of them open source everything?


Classic bait-and-switch with their M*N to M+N argument; totally looks like Embrace-Extend-Extinguish

Here’s the relevant snippet from the Pylance language server’s T&Cs

> INSTALLATION AND USE RIGHTS. a) General. You may install and use any number of copies of the software only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services (collectively, the “Visual Studio Products and Services”) to develop and test your applications. b) Third Party Components. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software.

Ref: https://github.com/microsoft/pylance-release/issues/4#issuec...

———

That they would forbid their holy language server implementation from integrating with other editors exposes the perfidy at the heart of their LSP advocacy.

If they want to keep the extension proprietary and charge for the language server, that’s fine! But allow people to use it with whichever editor instead of forbidding it through the license. It’s wholly malicious to use a language server implementation to extend control to the editor landscape. This is exactly the kind of nonsense that got them in trouble in the 90s, in the first place.

Seems like Microsoft is back to pissing in the public pool.


So, they claim that much of what pylance does is mirrored by Pyright (which is open source)

I agree with you that it's pretty crap, and it leaves a bad taste in my mouth, but I'm willing to cut them some slack because of how great lsp is.

Seriously, the pushing of this makes up for a lot of nonsense, especially as its a standard which means that if it's successful, Microsoft will be mostly forced to abide by that standard within their products.


It's not "embrace" because they made VSCode in the first place?

I don't want to say MS is good, proprietary software is good, etc. But we're approaching the 4th decade of Free Software, and people should know better than tangling their free software with megacorp offering. I shed no tears.


I think it's based on Atom, isn't it?


No, Atom and vscode depend on Electron, tho, so they embraced Electron.


Atom and electron were both the same project at one point, so we are splitting hairs. There's even a file properties screen capture where it says 'code' original name was atom.exe. See below

https://cdn0.tnwcdn.com/wp-content/blogs.dir/1/files/2015/04...


It doesn't seem like all that much of a lock-in? If people get annoyed enough they could fork the open source parts and rewrite the extensions that aren't open source.

Furthermore, there are programmers using other languages where the extensions are already open source, so it would be viable for some users from the start.

I'm also reminded of how some companies built their business on open source servers only for Amazon to create a competing service with their code. This makes me more sympathetic to the partial open source business model.


Let’s not kid ourselves, most people use Code because it’s free as in free beer, and that’s it.

I personally feel lucky that unlike for categories like web search, social networking or mobile messaging, the IDE market features some reasonably-priced paid alternatives of extremely high quality.

But many people - including some truly outstanding developers - will continue to use VSCode because they believe that free as in free beer is always better, no matter what. There may be privacy violations, a desecration of FOSS ideals, shady business practices - you name it - and they will continue to use it as long as it’s free and the negative externalities are not too bad. I wouldn’t agree, but I do empathize.


I'm not a developer but I was using Pycharm (community edition, already free) and switched because I found it better for webdev, particularly the plugin ecosystem had useful components. Other apps do to, but I think vscode has gained a lot of development in the ecosystem because of the FOSS dressing it adopted. I think it's it has been closed source, paid for, then it wouldn't have garnered that attention and instead other OS projects would have gained more attention. So I don't think it's fair to say it's just about free-gratis status.

Vscode kinda brought me back towards MS, or at least closer to them. Once I'd started using it on Linux (Kubuntu) then trying Win10 again was less of a leap.

I've not bought in to the New Friendlier Microsoft, but the hope was growing.


" but prevent any other editor from reusing it. That doesn’t sound very open at all."?

How so? language server is a standard.


Well, that’s exactly what I was confused about before myself! I was using some other Python language server, but it seemed a bit slow so I asked around for suggestions and got this recommended to me. Of course I assumed that I would be able to use Microsoft’s implementation in my preferred editor, Sublime Text, since that was the whole point behind LSP…but it turns out that no, you can’t. You can download it from the Marketplace, but it bans you from doing exactly that. And there’s no source provided, so there isn’t another way to get it. So you’re pretty stuck…


That’s not the whole point of the LSP. The whole point of the LSP is that for people who want to create an IDE agnostic language server, they can do so.

But if MS wants to create a VS Code specific language server, just because they are using LSP doesn’t mean they should be required to support it on other IDEs as well.


Why is Microsoft using and a protocol that they designed and pushed for IDE agnostic language intelligence for…not that? Also, note this isn’t about “support” but intentionally preventing its use. Many third-party language servers only “support” Visual Studio Code but by the magic of LSP work in other editors that the original author may not have even heard of before. But this one can’t do that.


the IDE agnostic is on the IDE side

anyone can implement an LSP server and the IDE (or editor) will understand it because the protocol is an open standars, it doesnt't mean that the implementation should be open or support any combination of HW/SW platform

there is plenty of proprietary software using open and standard protocols

one example: HTML

is Slack open source?

can I use Slack client with other chat protocols?


Yes it's their code and they can license it to be at least GPL though


Honest question: how is any firm meant to make any money in this worldview? If everything has to be Open Source, then maintenance contracts (which are completely optional) will be the only way to earn and will decimate revenues. Creating a beautiful and functional piece of software is hard work. We should be thankful that firms open source even parts of their product.


My issue is more with the fact that their extension perpetuates lock-in than it being closed source.

I have yet to get a good response to how to make money in a world where everything is open source.


Speaking of LSPs, It's also funny how tsserver isn't an LSP either, but I guess it is open-source.[0] It's sort of funny this pylance thing seems to suffer the same problem.

[0]: https://github.com/microsoft/TypeScript/issues/39459


Does Microsoft disallow people from using the Microsoft marketplace for VS code extensions in their own editors?

Because I notice on Edge, if I visit the chrome store, it gives me an option to install extensions from there.


> Does Microsoft disallow people from using the Microsoft marketplace for VS code extensions in their own editors?

Yes: https://www.gitpod.io/blog/open-vsx/


Yep. It's the same tactic Signal uses - sure, you can fork it, but the fork can't legally use their servers.


Yeah, but I think the largest benefit of Signal’s Open Source model is something different - it’s that their security claims are verifiable.


they don't want to pay the server costs for you.


they also don't want to let me spin up my own server and interoperate


I think you can spin up your own server: https://github.com/signalapp/Signal-Server


but you can't interoperate with the Signal server - it is a separate silo.

It is like using two different messengers then


well that should kinda be obvious?

Will Linus pay for your internet bill if you use Linux on your router?


> I think very few people realize that many parts of it are closed source

Which parts are closed-source?


Not your parent, but this is a good starting point: https://underjord.io/the-best-parts-of-visual-studio-code-ar...


Microsoft getting money from things like this is probably, on balance, a good thing. It helps justify resources to build, support, and improve it. Because every year, someone has to justify probably multi-million dollar budget lines for pylance / their python type checker.


That’s the other part I can’t figure out: where can people pay for this?


I presume it will be a piece of their larger strategy of moving development activity to the cloud by integrating the VSCode/Codespaces+Github+Azure and providing all kinds of conveniences such as language support, git support, easy CI/CD, etc. In that world of integrated deveopment (IDE++, if you will), it wouldn't make sense to sell access to component pieces.


My guess is that Microsoft really intends their strategy to be the best for developers, and this is justified as part of that support. ie make Windows the best development tool, and dollars will follow. I think it's smart. Building and deploying software on mac or mac/linux docker containers with a linux/docker/aws target certainly has lots of room for improvement, and I'm happy to see someone compete on that.


Anytime someone mentions embrace, extend, extinguish, I wonder do they spend their time sitting around in 90's surfer pants listening to Nirvana on their cassette tape player while worrying about nasty things that were said when the protocols for fax machines and VHS players were being designed. Seriously, this was more than 25 years ago. It's like listening to dad jokes or someone genuinely still pissed about the Wright Brother's filing aviation patents.


Just because something used to happen a long time ago, doesn't mean it can't or isn't happening anymore. Cults, MLMs, and scams in general are older than the 90s and still going strong.


This is Microsoft limiting the extension they created to their IDE.

It’s like complaining that Google won’t open source, or support, the Google Cast feature in Firefox or Edge.

It’s worse because a non MS entity can always put in the effort to create a Python language server and have that used across IDEs that support the LSP, but the Google Cast protocol is proprietary itself and one cannot even create their own implementation without severe reverse engineering.


It’s worse because Microsoft is pushing it as a standard and yet undermining the very arguments they made when they proposed it with their actions. The way they have it now, they get to use all the other LSP implementations “for free” while no other editors get to use their servers. You will note that the old one was open source–Microsoft deliberately closed this one. I really want to believe differently, but it really seems like they kept it open for as long as it took people to adopt LSP and then decided they didn’t have to promote it anymore.


I have pretty much respect for Microsoft for open sourcing a lot of things and changing their culture for the better.

Don't have anything against them having closed sourced applications, frameworks or languages.

You cannot ask for everything all the time.


Exactly. And never underestimate the time it takes to take care of the community that evolves around open source, merge requests and so on.

If you are in the early stages of a new product, this can lead to distractions.

Maybe they later on decide to take a different stance.


I don't mind this too much, to be honest, though I would prefer it if they open sourced it with licence based restrictions.

They're not open sourcing Pylance, which has some really nice features. The ones I mainly use are the semantic highlighting (it colours variables etc based on their type), and the auto imports (wow, I didn't realise how much I missed that).

However, those are just sugary extras, the real benefit is the typescript based type analysis. This can be had using the open sourced pyright extension.


If you're looking for an open source Python language server, check out `python-language-server`[1].

It's released under the MIT license, and works pretty well. While it's maintained by Palantir, it works well for me, so take from that what you will.

[1] https://github.com/palantir/python-language-server


Microsoft is pro open source when it suits them.

If there were in it for the long haul we would see things like Office for linux. Instead we see WSL.

One or two CEO changes and they'll be back to litigation for patent infringement.


What you think would be the cost for porting and supporting Office to Linux? And how many Linux users would pay for desktop Office, either Office 365 subscription or one-time purchase?

They're not charity. They have right to do whatever they want with their source.


>They're not charity. They have right to do whatever they want with their source.

Copyright is a government granted monopoly on intellectual property, not an inherent right. What needs to happen is extreme reform (or outright abolishment) of copyright. Though that's basically a pipe dream right now


MS office is head and shoulders above Libre on Linux. I'd happily buy it.

Not sure on the effort required. I checked GH (not a Microsoft company...) but couldn't find the source code.

People and organizations can act within their rights and still be detrimental other people, organizations, and communities.


If they’ve been building it on mac os for decades it shouldn’t be too hard to package it for other unix based OSs. Hire a single engineer and they could probably get something running in six months.


They've put a lot of work including some interesting ML work to my knowledge into the python language server. I wonder if it's that latter part that makes them cagey about open sourcing it.


VSCode was likely open sourced at all (in a limited way) because they were legally required to, having decided to use LGPLd WebKit/Blink; and their use of V8/Electron probably promoted this as well, even though that wasn’t mandated by the Apache/MIT license.

However, it is quite clear now that it is not because they want to “support the open source / free software world”. (And to some of us, this has been clear since day 1)

“New Microsoft”... if you believe that, I have a bridge to sell.


How can you blame them for not making the only edge (that, and the type checker) they have over pycharm in terms of language support?

M$ wants VSC users and python users will go where the best language support is, pycharm has a lot of cool/good features but they don't have all of them.


How can you blame them for not making the only edge

The remote code dev extension is another big one.


> @microsoft microsoft locked as resolved and limited conversation to collaborators on Jul 17, 2020


They do this all the time. Or restructure all the repos and lose all the history. Or delete the entire issue tracking system.


Pylance is built on their open source Pyright library, which is also available as a VSCode extension. I'm just using Pyright instead and don't seem to be missing out on anything important.

https://github.com/microsoft/pyright


While Pyright the project is still under development, when Pylance was released, it was mentioned that the Pyright VSCode extension wouldn't be developed any more. I'm surprised it still works, but I guess that's more of a coincidence of not breaking API compatibility?


Microsoft looks at recent language survey lists, sees Python on top and wants to make money. They are only 'open' if it benefits them, not us.


I mean, was that ever in question? Microsoft is a for profit corporation and not a charity.


We won't know for years, if ever, I'm sure, but I wonder what Guido van Rossum makes of this now that he's on the other side of the fence.


Not sure what’s the issue here. If they don’t feel like open sourcing this specific piece of software, that’s their right. They are already one of the largest contributor of open source software in the world.


I think it's normal to want to make money of software. I do and many others do.

The problem point here is when some company is using misleading campaigns about openness and long-term bait and lock-in scenarios. You take-out openness and liberty piece by piece, giving the public simple and cheap but closed solutions as bait.

Anyone who has invested significant resources to migrate to the new tool will not switch to another new tool so easily. So one by one they swallow the bait, piece by piece, and in the end are locked-in.


Refuses? How about “hasn’t yet” , or “has decided against?”


Why are people so much more upset about this relative to MS not open-sourcing their other products?

Is it that it's free? If Microsoft _sold_ a more advanced Python LSP, would that receive as many complaints?


Personally, I am more upset that they don’t allow it to be used elsewhere than it being closed source.


Having written a language server for PHP, I can tell you it's damn hard – I don't begrudge Microsoft's behaviour here at all.


I still don't understand how they can get away with this given that VSCode is based on Blink which is LGPL


LGPL means only the library itself has to be open source, any other libraries or software that make use of the LGPL'D library can be closed.


it's not that simple, one has to argue that the whole software is its own work and not simply an extension of the library.

Quoting LGPLv3:

> An “Application” is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library.

making a simple wrapper of a large LGPLv3 library is a more-than-grey area with the "not otherwise based on" wording.


Not sure if related but I installed vscodium because everyone said it's vscode with the tracking disabled. Except there is no remote-ssh plugin. I live in that plugin. It worries me a bit although I know I'll find something new when I starts to bite me.


Yes, that is another closed-source extension of theirs. I'd miss it too, had I not already been introduced to the (much older, more powerful) TRAMP mode on Emacs. There's not that many Open-Source IDEs with seamless remote editing support, which I now consider a must-have.


God forbid developers and companies try to make money off their work!


Don't know why you're being downvoted. People pay for IDEs all the time since it benefits their productivity but seem to have a problem when Microsoft release free proprietary tools.

Maybe someone can explain what the issue is because I don't see it.


Note that people didn't have any (new) problem with free proprietary edition of Visual Studio. VS Code is different because it's aimed at displacing free tools and marketed with misleading "open source" messages.


Because it's Microsoft so people here are always looking for problems. I never seen anyone mentioning that XCode isn't open source. Or Sublime Text for that matter.


That's because those never were open source. Microsoft presented an open source editor, and an open source python language server, and an open source python checker, and then wants to replace those with closed source versions that you're not allowed to run anywhere else anymore.


And I'm sure you have other open source python language servers and open source python checkers for other open source editors. Nobody is locking you in here. Everyone is free to move to something else to write python.


That completely misses the point here... it's not about having a facility, it's about a change in direction that people don't like.


It's because microsoft started to open source a lot of stuff and started a direction in which it sells services instead of simply licenses, and then bought the Python BDFL and cut off some projects that fall in line with the expectations of their offerings in the open source space so far.


As has been pointed out, Microsoft has been very heavily pushing for the language server approach with the argument that it simplifies the integration between {languages, editors} from M*N to M+N.

That they would forbid their holy language server implementation from integrating with other editors exposes the perfidy at the heart of their advocacy.

If they want to keep the extension proprietary and charge for the language server, that’s fine! But allow people to use it with whichever editor instead of forbidding it through the license.

It’s wholly malicious to use a language server implementation to extend control to the editor landscape. This is exactly the kind of nonsense that got them in trouble in the 90s, in the first place.


The python language server does not cost any money.


https://github.com/microsoft/pylance-release/issues/4#issuec...

>Pylance [..] is planned to be included in proprietary service offerings.


That doesn't mean anything. There are many free pieces of software included in proprietary service offerings.


I would imagine the threat for Microsoft is Amazon picking up what they have done and using it to compete against Azure.


I don't think Amazon needs Pylance to compete against Azure... Heck, they already have a fully integrated IDE, you can essentially open a browser, go to the AWS console and do all your work there (and never leave or store anything locally).


[flagged]


Sorry you got downvoted, but I agree. Just because Microsoft open sourced VS Code doesn't mean they have to open source anything that touches it. Microsoft are allowed to have closed source language servers and extensions!

And their reasoning seems pretty straight forward:

* Microsoft sells developer tools (as well as giving away loads for free!).

* Microsoft has invested money into giving their products (both the free and commercial products) great python support.

* The level of Python support Pylance gives is a competitive advantage of the Microsoft product suite.

* Open sourcing means giving their competitors this functionality, and the competitive advantage will no longer exist.

Microsoft is running a business, not a charity. They don't have to open source everything so their (often closed source!) competitors can use it.


All of those reasons you quote apply just as well to VS Code itself, and by that logic, MS shouldn't have open sourced VS Code either.

You don't see anyone complaining that Visual Studio itself (the older one, not VS Code) is not open source. It's only when MS began the whole "MS hearts Open Source" campaign that their actions (voluntarily) entered this kind of scrutiny.

There's no doubt that VS Code would not have acquired the level of popularity and success had it not put on the façade of being Open Source. It is the façade that is under criticism here.


> All of those reasons you quote apply just as well to VS Code itself, and by that logic, MS shouldn't have open sourced VS Code either.

I disagree - The VSC Codebase (and functionality contained in it) isn't easily ported into competitor products (the fourth point) while Pylance is fully portable by design (could be incorporated into competitor products instantly!).


> The VSC Codebase (and functionality contained in it) isn't easily ported into competitor products (the fourth point) while Pylance is fully portable by design (could be incorporated into competitor products instantly!).

Only if you consider the LSP standard (proposed and promulgated by MS themselves, made for and with VS Code) as not part of VS Code. My comment — "All of those reasons ... apply ... to VS Code itself" — includes LSP.

In fact, the only reason you can claim "while Pylance is fully portable by design (could be incorporated into competitor products instantly!)" is because of LSP!

Besides, it's not like competitor IDEs that have taken VS Code's codebase wholesale don't exist. Have a look at https://theia-ide.org/ for a start!


The LSP implementation for VS code is part of VS code OSS.

Not all LSP language servers are.

Just as the C# runtime can be open source, but not all C# programs are.


> The LSP implementation ...

See, you're still talking about the code. I am (and have been) talking about _the whole project_.

Because this isn't about just the code of Pylance. Open Source doesn't mean simply "show us the source code!". Simply making a portion of your code viewable is not sufficient for one to proclaim they "heart Open Source".


They made the whole editor open source, not just a portion of code.

And there is a closed-source product they have (pylance) which they have developed compatibility for.

Pylance is NOT part of VS code - It is compatible with it.


Chinese has a saying, which I don't know how to translate: 升米恩,斗米仇。It roughly means that you give a starving man a bowl of rice, he will be grateful; if you continue to give the same man a bag of rice for him to live better, he will hate you for not giving enough.

It rings very true.


Except that's NOT how FOSS works. This whole "Free as in Beer" vs "Free as in Speech" debate is really old now, and the rhetoric that FOSS users/supporters are just freeloaders mooching off of work done by others is grossly outdated.


Does FOSS mandate that anything and everything must be open sourced? Richard Stallman holds this belief that all software should be free as in speech, but is such belief universally held? Or simply put, did MS violate any license at all?

And no, I didn't imply that FOSS supporters are freeloaders in any way. You got that impression probably because of loss in translation. Rather, people who criticize MS for not open sourcing a specific piece of software are moral crusaders, trying to force a company or anyone to totally comply with their moral standard.


> Does FOSS mandate that anything and everything must be open sourced?

That is not the argument you're seeing here. There is no claim that any portions of MS's other IDEs (like the older, unrelated Visual Studio) be open sourced. This is only in the context of MS playing the façade that VS Code is "Open Source" and "Microsoft hearts Open Source" that such decisions fall under scrutiny.

> And no, I didn't imply that FOSS supporters are freeloaders in any way. You got that impression probably because of loss in translation.

Perhaps, but I don't see how else to interpret "he will hate you for not giving enough".

> trying to force a company or anyone to totally comply with their moral standard.

1. I don't see force. I see criticism.

2. The criticism draws its legitimacy from an action MS took: they're the ones claiming they "heart" Open Source and that VS Code is Open Source.

Sure, MS doesn't have to Open Source this specific extension, or any part of their IDE. They don't even have to keep the IDE Open Source. But then, they need to stop calling it so when it isn't: https://underjord.io/the-best-parts-of-visual-studio-code-ar...


* VS Code is open source.

* Microsoft's Python language server (used by multiple closed-source products) isn't.

* The language server is compatible with VS Code.

* Microsoft is providing a free licence to the language server.

* Now people complain that it's not open source any more, because they provided a free licence to something compatible that is closed source.

So we can have a code base, not change any of the code or licence terms, and in the action of giving people a free licence for a compatible product, somehow the first code base is not open source anymore!

So according to your logic, a code base can remain static, with the same licence terms, and suddenly it's not open source anymore!

This is what OP means. They provide significant amounts of code into to Open Source, then provide a free licence to something closed source, and people call them fake and selfish unless they provide more stuff for free.


> VS Code is open source

Not quite: https://underjord.io/the-best-parts-of-visual-studio-code-ar...

> Microsoft's Python language server (used by multiple closed-source products)

Citation needed on "(used by multiple closed-source products)".

> Microsoft is providing a free licence to the language server.

No it isn't: https://github.com/microsoft/pylance-release/issues/4#issuec...

> ... any of the code ... | ... the first code base ... | ... a code base ... | ... amounts of code into to Open Source ...

You keep talking about the "code" / "code base". I'm talking about the whole project and how MS has been advertising itself. Open Source is NOT the same as "source available" and MS has not been advertising itself as "hearts source-available".

> ... more stuff for free.

Again, your perspective makes sense only if you think of "Free as in Beer" and not "Free as in Freedom". _Microsoft_ held _itself_ up to the latter standard, not random people on the internet.


The citation is in the 2nd link you posted, which lists closed source software that also uses pylance.

And in both instances I mean free as in beer.

Microsoft hasn’t held itself up to any standard. It said it would contribute to open source, where did it say they would open source everything?

Just because a company releases something open source doesn’t mean that other free software they release has to have open source licensing and all code available. It also doesn’t mean that they suddenly hate open source.

Are Mongo, Kafka and Android are open source? Do their parent companies all hate open source?


TLDR: I am not surprised.

A couple of years ago everybody was over VSC like flies, loving it, because it's open source and runs everywhere. I was in the minority of skeptics who predicted that kind of move.

And now, once again, Microsoft proved that they only care for OSS, and created VSC, because it enabled them to spy on coders and their code to develop proprietary and closed sourced spins for software development product. The OSS community got served. Well done.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: