
Want free VS Code? Build it from source - msl100
https://github.com/Microsoft/vscode/issues/17996
======
mherrmann
Looking forward to being downvoted into oblivion: Who cares? What practical
real-world implications does this have?

~~~
_bxg1
I think the real problem is that Microsoft worked so hard to obscure the
relationship between the two via the branding and naming. It feels slimy and
damages trust. I'm a career JavaScript developer and I didn't know there was a
separate, "truly open source" version.

For comparison, look at Chrome vs Chromium. Similar project structure, but the
branding and project communication are much better. Everybody (who would care)
is readily aware of both versions and the difference between the two, and the
fact that Chrome isn't fully open-source.

~~~
ocdtrekkie
Arguably, there is no actual difference in code. Configuration of the package
file is the only thing they change. I'm guessing the primary motivation for
the license change is that the business people want to keep a strong hold
specifically on the Visual Studio trademarks. Which to me, just says they
would've been better off giving VSCode a different name.

~~~
_bxg1
How do you know the only thing they change is the configuration? Unless you're
internal to Microsoft, there's not really a way to know. Obscured telemetry
has been a running problem with Microsoft in recent years, so it's
understandable that people would be suspicious of hidden changes to an
application advertised as open-source.

~~~
ocdtrekkie
I mean, decompiling the app is likely not hard. ILSpy is a thing, and you can
even compare against a decompiled open source version.

FUD about "obscured telemetry" isn't worth much here either: They specifically
have a telemetry URL in the configuration file, and they not only specify that
they set it in the thread, but they instruct you on how you can verify the
configuration's contents on the proprietary version. Telemetry exists in
VSCode, but the code is open source, and you can inspect it to your heart's
content.

Here:

 _Here 's how it works. When you build from the vscode repository, you can
configure the resulting tool by customizing the product.json file. This file
controls things like the Gallery endpoints, “Send-a-Smile” endpoints,
telemetry endpoints, logos, names, and more._

 _When we build Visual Studio Code, we do exactly this. We clone the vscode
repository, we lay down a customized product.json that has Microsoft specific
functionality (telemetry, gallery, logo, etc.), and then produce a build that
we release under our license._

And:

 _You can look at the product.json that is installed with the Visual Studio
Code product to see what we configure._

Willing to bet if the product.json is easily visible in the compiled version,
you can even adjust it to work like the open source version if you'd like, by
removing the telemetry URL.

------
pdpi
This issue seems a bit confusing, so here's my best attempt at grokking it.

If you download VS Code from
[https://code.visualstudio.com/](https://code.visualstudio.com/), you'll be
presented with this license:
[https://code.visualstudio.com/License/](https://code.visualstudio.com/License/),
which reads more like a somewhat permissive license to proprietary software
than it does as an open-source license.

If you, instead, clone the git repo at
[https://github.com/Microsoft/vscode](https://github.com/Microsoft/vscode),
you'll find that the repo is under an MIT license
([https://github.com/Microsoft/vscode/blob/master/LICENSE.txt](https://github.com/Microsoft/vscode/blob/master/LICENSE.txt))

Hence the title: It feels off (I can see why people would call it "deceptive")
that code.visualstudio.com offers something for download that is described as
Open Source but is not licensed under a standard Open Source license, and it's
definitely bewildering that they would do that while simultaneously making the
source code available under the MIT license.

~~~
nailer
Open Source is for source code. Binaries aren't under OSS licenses, their
source is. This is only misleading if you don't know what Open Source is.

Imagine how ridiculous it would be to say RHEL was not Open Source because you
can't distribute your binaries how you want - despite all the source being
available under OSD licenses. It's the same claim the bug reporter is making.

------
mschuetz
I'm not getting it, what part is not free? All the code is at
[https://github.com/Microsoft/vscode](https://github.com/Microsoft/vscode)
under the MIT license and you can download a prebuild version, which is also
free to use.

~~~
sam0x17
License says you aren't allowed to attempt to derive or reverse engineer the
source code. So basically the code is available, but if you look at it you are
violating the license.

edit: binaries are under a restrictive license and code is not. So definitely
don't use those binaries, as they are likely riddled with telemetry crap that
isn't in the open source version.

~~~
Waterluvian
Hmmm. So the source is open and free. The compiled versions shall not be
reversed. How can one validate that the compiled versions being provided are
direct results of what's in the repo? Ie. Not a version with some bonus magic.

~~~
mschuetz
The chrome dev tools are right in there in vscode so you can take a look at
what's executed. It's also hardly reverse engineering if the code is all there
to look at, and even debuggable and modifyable at runtime. I fail to see any
issues here.

~~~
holtalanm
good luck debugging and modifying the c++ code via the chrome dev tools.

~~~
smileybarry
You wouldn't need to since VSCode is written entirely in
JavaScript/TypeScript.

~~~
true_religion
Just because something is written in Javascript, doesn't mean it doesn't
include a binary.

For example, sass-loader is/was dependent on node-sass which is a binary
install. Lots of file utilities on NPM are similarly reliant on C code that
may only compile on your machine correctly if you are lucky.

------
majkinetor
We also couldnt get redistribution rights for chocolatey package because of
such license.That is the reason current package downloads from MS instead
being embedded to provide stability and network independence.

------
sam0x17
Should change to MIT license. Microsoft stands to lose nothing by changing the
license, but will face considerable developer ire by not changing it.

Edit: should change binaries to MIT license as well

~~~
notjosh
It already is MIT:
[https://github.com/Microsoft/vscode/blob/6b8ea727a918c6d646e...](https://github.com/Microsoft/vscode/blob/6b8ea727a918c6d646e8ea368cd7e75da5a03c48/LICENSE.txt)

~~~
sam0x17
So now I'm genuinely confused. If it's MIT what is this other proprietary
license people are referencing.

Edit: the binaries have a restrictive license, the code has an MIT license.
How stupid.

------
djsumdog
Hmm. I haven't really thought about it before since I use Gentoo, and don't
use VS Code very much, but I guess my version of VS Code is "free" in this
sense, since my package manager builds it from source by default.

~~~
catern
Are you sure about that? I just googled "gentoo vs code" and the ebuilds I saw
appear to download the precompiled binaries.

~~~
djsumdog
Huh, you're right. It appears there is no visual-studio-code in the base
Gentoo portage tree. The version I have is from the jorgicio overlay. I wonder
if the licensing is why it's not in the base Gentoo tree.

------
frnkshin
IIRC if you build it from the source, you have no access to the package repo
that's offered by MS... What you can do is to manually install any packages
that you may need.

------
skybrian
Compare with how Google does it: "Chromium" versus "Chrome".

That would be cleaner, but I'm not sure how much users really care about this
in the end. If this were clarified, would they do anything different?

------
aryehof
I believe the Microsoft wording is correct. The software is free, in that it
requires no payment for its use. It is free of cost. It is also clearly open
sourced.

------
ryanolsonx
After building from source, how do I install extensions?

------
staticelf
This is so stupid. It doesn't say "free software" the page say "free" like
zero cost.

This person obviously just want something to be angry at, which is typical for
free software advocates. Instead of complaining that other people do not
adhere to what you believe, go create it yourself. You do not own the word and
if you're so for freedom, why are you so against others not making the same
priorities?

It makes so little sense to me.

~~~
sam0x17
Because if Microsoft is going to finally "play nice" with the open source
community, we are going to have to nitpick every single interaction to nip any
bad behaviors in the bud, lest we see a repeat of "linux is cancer".

Now that they are toying with open source, it's been fun seeing how little
power Microsoft has to deal with public outcries on open platforms like
GitHub. Alas, we will see if it stays that way now that they have bought the
damn platform. Still, it is our responsibility to steer Microsoft in the right
direction, and not tolerate anything even slightly bad if we have the power to
complain about it now that they care about developer PR (to the tune of $5
billion).

~~~
recursive
> it's been fun seeing how little power Microsoft has to deal with public
> outcries on open platforms like GitHub

I'm curious what "dealing with it" would entail. From Microsoft's perspective,
I might imagine that there doesn't seem to be anything to deal with. There
certainly was a notable internet-wide spit take when the news broke. But it's
all but died out, and I wouldn't be surprised if there wasn't a measurable
effect on numbers.

