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

Difference between oss and non-oss version #6

Closed
martijnkruiten opened this Issue Apr 10, 2018 · 3 comments

Comments

3 participants
@martijnkruiten
Copy link

martijnkruiten commented Apr 10, 2018

It's not obvious for me what the difference between the two versions is. I mean, probably the oss version is compiled form source and does not include any proprietary code. But are there any other differences? Does the oss version lack certain features, or does it lack in speed, or is it based on unstable code, or...? And the non-oss version, is that one compiled by Microsoft? Does it include data collection?

@amtlib-dot-dll

This comment has been minimized.

Copy link
Collaborator

amtlib-dot-dll commented Apr 10, 2018

Disclaimer: I'm not affiliated with Microsoft

Good question

The "official" expatiation about it: Microsoft/vscode#60 (comment)

Personally speaking,

  • The proprietary (non-oss) version is compiled by Microsoft, distributed in their homepage https://code.visualstudio.com/; the open source version is compiled from code in the repo https://github.com/Microsoft/vscode with necessary dependencies
  • Therefore, the proprietary version cannot be redistributed, that is, users can only download the binary from Microsoft's servers, and flatpak will also download the binary from Microsoft's server when you do flatpak install flathub com.visualstudio.code or flatpak update; the binary of the open source version is compiled by us, therefore it will be directly downloaded from our server
  • The open source version is based on https://github.com/Microsoft/vscode/releases, so they are stable, and the proprietary version should also be based on it, though I'm not sure
  • As explained in the readme file of this repo, there are two built-in extensions that is not included due to my laziness, but they can be downloaded from the marketplace when needed
  • Apart from that, no other features should be missing. The marketplace is usable due to an interesting issue (you can dig into this recipe if you're also interested). Oh, the telemetry data collection and the Twitter feedback is stripped because they are not in the upstream repository. They should be in some private servers of Microsoft
  • Aha, the logo of the proprietary version is also proprietary 😂

Edited:

This is also my reason for contributing to this project. There are several so-called open sourced software's, like Android, Android SDK, Chromium and Visual Studio Code, with no official stable binary available. Android is proprietarily distributed by phone vendors, though a voluntary initiative called LineageOS is available. Android SDK is distributed with a controversial license, and even F-Droid has to use this proprietary one. You can download nightly Chromium versions from Google's server, but the stable version is removed.

Yes, as Linux users, we can compile all these by ourselves, in our own machines. But it is costly, and becoming more and more costly as softwares becoming larger and larger. I don't want my CPU be burning and my Internet fee overwhelming just for installing an application. Besides, when every user installs the compiled version rather than build by themselves, our carbon footprint will be significantly reduced. Flathub is in some sense supported by RedHat, so I suggest that it is more reliable than personal sites providing their builds.

The reason why there are two recipes for Visual Studio Code is that it is hard to compile, especially if you need to build it without Internet access. There are several patches in this recipe just to tell the build system that the required dependency is ready and please do not make any network requests. The proprietary version is obviously much more easier.

@martijnkruiten

This comment has been minimized.

Copy link
Author

martijnkruiten commented Apr 12, 2018

Thank you for the detailed explanation and even more so for doing this. This clears up any confusion I had and I'll continue using this version.

@Synapscident

This comment has been minimized.

Copy link

Synapscident commented Jun 14, 2018

Thanks to martijnkruiten for the question and amtlib-dot-dll for the very helpful explanation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment