Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Are there any plans to eventually make Pylance open source? #4

Closed
bbkane opened this issue Jul 1, 2020 · 13 comments
Closed

Are there any plans to eventually make Pylance open source? #4

bbkane opened this issue Jul 1, 2020 · 13 comments

Comments

@bbkane
Copy link

bbkane commented Jul 1, 2020

Please consider making Pylance open source so other editors can leverage it.

@bbkane bbkane added the waiting for user response Requires more information from user label Jul 1, 2020
@erictraut erictraut removed the waiting for user response Requires more information from user label Jul 1, 2020
@savannahostrowski
Copy link
Contributor

We appreciate your suggestion, but we are not planning to make Pylance open source at this moment.
Pylance is a completely new language server implementation,  with significant enhancements, and is planned to be included in proprietary service offerings.  A large amount of the code that powers Pylance is available as open-source in the Pyright type checker.

@bbkane
Copy link
Author

bbkane commented Jul 1, 2020

@savannahostrowski , thanks for your answer. Before I continue this comment, I want to say I realize that Pylance is Microsoft's work and Microsoft doesn't owe the open source community anything, even/especially justifications for not making Pylance open source.

That said, I feel (and I know I have an incomplete perspective) like open sourcing Pylance doesn't "cost" Microsoft its competitive advantage for proprietary service offerings. It looks to me like Pylance is a tool for making it easier to write Python - an open source language used by many many people. I might be misinterpreting it, but your comment above makes it sound like Pylance is going to be "steered" toward making it easier to write Python for Microsoft tools and integrations and mainly only Microsoft tools and integrations.

I also worry that Pylance will become the "blessed" language server on VS Code, leaving the open source one that is usable by other editors to bit rot and eventually become unusable.

The Python language server plugin for VS Code as well as VS Code itself and the Language Server protocol are all open source and have improved so many people's lives. From a business angle, they have brought Microsoft a lot of good will from the general developer community. A large part of this is because this tool and protocol are fully open source and can be improved and leveraged by the entire developer community.

I really hope the Pylance dev team changes their mind about Pylance licensing and instead contributes it to the monumental work Microsoft has done improving the Python experience for everyone, not only VS Code users and Microsoft proprietary service users.

@ThiefMaster
Copy link

Even though other IDEs (PyCharm etc.) have proprietary parts as well, I would also appreciate it being Open Sourced. Or at least released as "published source".

I don't think anyone expects Microsoft to provide a free language server implementation usable by other commercial IDEs (unless they make a licensing deal with MS). But that could of course be done on the license level, without actually hiding the source code!

@erinxocon
Copy link

erinxocon commented Jul 1, 2020

https://github.com/microsoft/python-language-server implementation still works great, my coworker uses it with vim all the time and now is also using pyright on top with similar results!

@Imaclean74
Copy link

Imaclean74 commented Jul 2, 2020

I don't think anyone expects Microsoft to provide a free language server implementation usable by other commercial IDEs (unless they make a licensing deal with MS). But that could of course be done on the license level, without actually hiding the source code!

And yet - Microsoft's java plugin ( which I am a big fan of ) benefits massively from the fact that it uses the open source Eclipse Language server. As others have indicated - the MS team is by no means under any obligation to make pylance ( or anything else ) open source if they don't want to. However as @bbkane alludes to it does seem a little odd to be pushing an addition to an OSS plugin to an OSS Editor which services development of an OSS language as a proprietary download package.

It also means there is no chance to benefit from community contributions and improvements to the plugin. I'm just a little puzzled by this decision all around. When far costlier projects in terms of engineering effort have been open sourced and built thriving OSS communities ( .Net core, Typescript, vscode itself ), this seems like an odd one to reverse course on. I'm not quite seeing the business benefit that outweighs the negative community good will.

@r3m0t
Copy link

r3m0t commented Jul 2, 2020

@savannahostrowski will it be possible to use pylance with a local fork of pyright, or is it bundled?

@c10l
Copy link

c10l commented Jul 2, 2020

pushing an addition to an OSS plugin to an OSS Editor which services development of an OSS language as a proprietary download package.

It definitely feels like the good old embrace and extend. I'm not holding my breath for not getting to the extinguish part. I guess old habits die hard!

@savannahostrowski
Copy link
Contributor

@r3m0t Thanks for your question! Pyright and Pylance are closely coupled. Right now, we don't have a way to support plugging in your own version of Pyright while using Pylance during our preview release. However, I've moved this comment into a separate issue #33 for tracking this suggestion!

@savannahostrowski
Copy link
Contributor

Thank you all for the discussion and your feedback! We appreciate the engagement from the community. At this point in time we are not ready to release the source code of Pylance. However, we do plan to continue active development in the open-source Pyright type checker, on which Pylance is based, and welcome contribution on that project.

@yyoncho
Copy link

yyoncho commented Jul 5, 2020

We appreciate the engagement from the community. At this point in time we are not ready to release the source code of Pylance.

@savannahostrowski

I just want to mention open-sourcing Pylance tangental to the usage of Pylance in other editors the only thing that forbids that is Pylance license. None of the points you brought up in this issue report justifies allowing Pylance usage in one opensource and free editor like VScode and forbidding it for other opensource and free editors like Emacs, Kakoune, Vim, etc. For me, it is perfectly valid to allow usage of your proprietary paid service using a different frontend. This works fine for https://www.tabnine.com/ for example.

@jfcherng
Copy link

jfcherng commented Jul 6, 2020

If @yyoncho's point is not clear, here's the license of Pylance.

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.

You may install and use any number of copies of the software ONLY with...

@sterlinm
Copy link

That said, I feel (and I know I have an incomplete perspective) like open sourcing Pylance doesn't "cost" Microsoft its competitive advantage for proprietary service offerings.

Against my own self-interest I have to disagree a bit. As soon as I read the Pylance announcement I wanted to use the extension in conjunction with an open-source browser-based implementation of VS Code as opposed to using it on whatever the MSFT product for that is. Which I'd love to be able to do but I understand wanting to have some differentiated features worth paying money for.

That said I'd love if you open sourced this!

@AtomicMegaNerd
Copy link

This decision has really dampened any enthusiasm that I have for using Microsoft's Python tooling. I now have to question their motives in this space. Now that VSCode is becoming dominant Microsoft is reverting to old habits to embrace, extend, and extinguish. Despite the tooling being very good I am now focusing on alternatives so I don't get locked in.

@microsoft microsoft locked as resolved and limited conversation to collaborators Jul 17, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests