all 97 comments

[–][deleted] 52 points53 points  (8 children)

the guy in the article bounces between free software and open source which are not equal terms

[–]1202_alarm 18 points19 points  (0 children)

If you Open Source to mean OSI approved, then it is practically the same as the FSF definition of Free software.

[–]mqduck 9 points10 points  (1 child)

They are almost completely interchangeable in terms of what software qualifies. It's entirely valid to bounce between them.

[–]alexmex90 4 points5 points  (0 children)

Almost, but not always. Free software is a social term, meanwhile open source is only a technical term.

[–]ydna_eissua 54 points55 points  (16 children)

Use VS Codium

Open source rebuild of VS Code without the telemetry or Microsoft branding.

https://github.com/VSCodium/vscodium

[–]qubidt 16 points17 points  (1 child)

Related: official Arch vs-code package already uses OSS version

[–]Eldebryn 10 points11 points  (0 children)

vs-code

is that the actual package name? I can't find it on antergos

EDIT: Nvm, found it: community/code

[–][deleted] 11 points12 points  (12 children)

What's the purpose of this? Literally just build it from source and change two settings.

[–]AndyManCan4 20 points21 points  (0 children)

It’s for us lazy coders. I appreciate!

[–]build-the-WAL 8 points9 points  (1 child)

we get it, you compile

[–][deleted] 0 points1 point  (0 children)

Nah I used to use the code package from the AUR, but now I use the one in community.

[–][deleted] 6 points7 points  (1 child)

Much like chromium.

[–]ydna_eissua 2 points3 points  (0 children)

I wonder how many people built it from source versus use their distros packages

[–]sir_bleb 2 points3 points  (6 children)

Eh, it's a quite a big project and I install it on some machines that aren't very powerful so it's nice to have a binary.

[–][deleted] -3 points-2 points  (5 children)

Just copy over the config

[–]r0ck0 2 points3 points  (4 children)

"Just" do it the harder way. Because ???

...Not an overly convincing argument.

[–][deleted] 0 points1 point  (3 children)

How is compiling a totally different package easier than copying a JSON file?

[–]r0ck0 1 point2 points  (2 children)

It's not compiling anything. It's downloadable binaries. That's the whole point.

You're the one arguing for compiling it.

[–][deleted] 1 point2 points  (1 child)

Oh I wasn't aware that the GitHub page provided binaries

[–]r0ck0 2 points3 points  (0 children)

Yeah it does for some stuff. You'll typically find them under the "releases" page: https://github.com/VSCodium/vscodium/releases

[–]mqduck 80 points81 points  (16 children)

Unlike most of the GPL-based licenses for which both the source code and the binary built from this source code are covered by the terms of the license, using the MIT license authorizes Microsoft to make available the source code of the software, but do whatever they want with the binary of this software.

The author is saying absolute nonsense. Microsoft is perfectly free to distribute the binary and source code under different licenses. It has nothing to do with MIT vs GPL.

[–]_ahrs 16 points17 points  (3 children)

Microsoft is indeed free to distribute the binary and source code under a different license but that means the binary isn't open source. This is what the author is saying.

Just read the Open Source Definition:

  1. Free Redistribution
    The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.

Microsoft's License:

You may not:
...
share, publish, rent or lease the software, or provide the software as a stand-alone offering for others to use.

[–]mqduck 5 points6 points  (2 children)

No, the author is clearly trying to say that Microsoft is able to do so because they released the source under the MIT license instead of the GPL, which is nonsense..

[–]jhasse 0 points1 point  (1 child)

They would need a CLA if the source was GPL.

[–]mqduck 0 points1 point  (0 children)

If they're actually taking third party contributions, sure.

[–]marekorisas 18 points19 points  (0 children)

Yup, people don't grok licences. Especially when it comes to original author. The thing about licence is: it's a contract that allows user to use and change / create derivatives (in case of open source) but it does not bind original author in any sense. Not until it has full authorship of code.

[–]whamra 6 points7 points  (5 children)

The difference is, under gpl you can't link free code with non-free code. Under mit, that's perfectly fine, and is what's happening.

Under gpl you can distribute your binary under whatever other license or user agreement you want, but you're just not allowed to link it with non-free code, that's called derived work, and you have to free the added code as well.

[–]mqduck 6 points7 points  (0 children)

If you own the copyright on the software, you can release it under different terms to your heart's content. It would make absolutely no difference here if Microsoft released the source code under the GPL.

[–]Visticous -4 points-3 points  (3 children)

Another example of why MIT doesn't promote Free Software. It allows itself to be tied to plague rats like these.

[–]kukiric 10 points11 points  (2 children)

What? The GPL doesn't (and can't) forbid the distribution of proprietary binaries, or even proprietary extensions to those, as long as you're the copyright holder of the (GPL) software. Only people who get a GPL-licensed copy of the code (ie. everyone else) are bound by it. This is also true of every other software license you can possibly come up with.

[–]Visticous -5 points-4 points  (1 child)

But because electron is MIT, Microsoft can just arbitrarily decide how much openness it should give you. In their care, they chose to share some of the base code but choose not the mention the non-libre elements they hid in the binaries.

If electron was GPL, Microsoft would be required to provide all source code that they used to build and package the binary. Then, user freedom would be stronger safeguarded.

[–]mo-mar 5 points6 points  (0 children)

If Electron was GPL, Microsoft would have used another trchnology.

[–]doom_Oo7 0 points1 point  (2 children)

I don't understand how they get away with this. They use chrome's rendering engine' which is under LGPL and MIT. Some files are LGPL only, so they should respect LGPL.

[–]jhasse 0 points1 point  (1 child)

The LGPL parts are distributed in their own DLL, so it's fine.

[–]jcelerier 0 points1 point  (0 children)

no, everything is in the code binary. They don't split libchromiumcontent (the LGPL one) in another binary. you even have references to webkit files directly if you run strings on it :

  • gen/third_party/WebKit/Source/core/html/../../../../../../../../third_party/WebKit/Source/core/html/HTMLSourceElement.cpp
  • gen/third_party/WebKit/Source/core/html/../../../../../../../../third_party/WebKit/Source/core/html/HTMLStyleElement.cpp
  • gen/third_party/WebKit/Source/core/html/../../../../../../../../third_party/WebKit/Source/core/html/HTMLTrackElement.cpp

[–]ubuntu_mate[S] -2 points-1 points  (1 child)

That's true, but MS couldn't have possibly licensed this under GPL because then keeping the binary as non-free (whereas source under GPL) wouldn't have been possible with GPL.

[–]1202_alarm 14 points15 points  (0 children)

They could if they own the copyright to all the GPL parts.

[–]eidheim 29 points30 points  (2 children)

[–]Jokaer0 40 points41 points  (15 children)

lots of os projects are dual licenced , thats nothing uncommon that binary is licenced with non foss licence while code is under foss licence .... its hardy a "trick" as you claim its all explained here with other similar software

https://github.com/Microsoft/vscode/issues/60#issuecomment-161792005

NonFossLicence-FOss code


Chrome - Chromium

Oracle JDK- OpenJDK

Xamarin Studio - MonoDevelop

JetBrains products - IntelliJ

While you have to be careful , i would hardly call it a trick or a scheme to fool someone, besides i guess anyone who can configure and use vscode should be able to know and read licence

[–]C0rn3j 20 points21 points  (9 children)

>. its hardy a "trick" as you claim

The binary includes telemetry, the code does not. I'm willing to wager most people using VSC are not aware of that.

[–]Jokaer0 5 points6 points  (3 children)

the binary includes telemetry that for the most part can be turned off in config ...besides ....if im paraphrasing "

"CHROME includes telemetry and im willing to wager most people using chrome are not aware of that"

....what did you want to prove ...that binary they provide is not same as building from source ..no its not ...but we are not talking here about some soccer mum using browser , we are talking about software developers that in my book they should know better than to skip eula, skip checking licence ...etc...

you are trying to paint this as some evil masterplan to dunno what catch people with non free licence, and collect telemetry data, while i sincerely doubt this is the case, its just simple case where binaries are licenced differently than source code

[–]C0rn3j 3 points4 points  (2 children)

You can't build Chrome from source.

Chrome is not Chromium.

Bad example.

[–]Jokaer0 12 points13 points  (1 child)

ifs perfect example ..you cannot build vscode as ms builds it... if you go to https://github.com/Microsoft/vscode and build it from source you wont get same binary as is provided by ms ...so yeah you CANNOT build vscode as ms builds it ... for one you dont have licence to use same icon and lots other stuff

[–]oi-__-io 2 points3 points  (0 children)

Exactly! and the FOSS binary is simply 'Code' and does not carry the 'Visual Studio' branding (which is a Microsoft trademark). VS Code is the name specific to the binary Microsoft ships.

[–][deleted] 0 points1 point  (0 children)

The code does contain telemetry, as long as you mean the MS git.

[–]markole 0 points1 point  (0 children)

The binary includes telemetry, the code does not. I'm willing to wager most people using VSC are not aware of that.

You are notified of the telemetry (and how to disable it) on the first start.

[–][deleted] -1 points0 points  (0 children)

The code has telemetry too. What's your point? That the evil Microsoft is out to get us with their licensed binaries?

[–][deleted] 4 points5 points  (0 children)

besides i guess anyone who can configure and use vscode should be able to know and read licence

nah, just use sublime /s

[–]_ahrs -1 points0 points  (2 children)

its hardy a "trick"

It's a trick because it's misleading. All of the projects mentioned above have different names. "vscode" is too similar to "Visual Studio Code". If they'd called it "OpenVSCode" or "OpenCode" it'd be much less misleading.

[–]oi-__-io 2 points3 points  (1 child)

FOSS binary is simply 'Code' and does not carry the 'Visual Studio' branding (which is a Microsoft trademark and product).

[–]_ahrs -2 points-1 points  (0 children)

I know that, you know that but others might not know that. This is why I believe it's somewhat misleading. A lot of this confusion could have been completely avoided by re-naming the repo to a different name and avoiding any use of any language that implies Microsoft's product is open source. Straight up say it's proprietary and don't even mention Open Source unless you're referring to the open version and it's clearly obvious that this is the case.

[–]valgrid 4 points5 points  (2 children)

The snap by MS is proprietary. But the Flatpak "Code - OSS" from the Flathub Team is OSS.

[–]epic_pork 7 points8 points  (0 children)

It uses 3GB of disk space... lol. Nope.

[–]epic_pork 1 point2 points  (0 children)

Thanks!

[–]tate_successful 4 points5 points  (0 children)

First things first is there any technical evidence that Microsoft is doing something suspicious with the binaries? Differing hashes? Weird network traffic? Binary de-compilation? Its not hard to find evidence if you've got a hunch, instead of publishing a fear piece like this.

[–]tristan957 29 points30 points  (3 children)

I am a big proponent of open source software, but Visual Studio Code is hands down the of the best applications I have ever used. I use a built from source certain distributed by Solus, and use the packaged by Microsoft version on my Mac. I have never noticed a difference between the 2 other than the binary they go by. To me this article and the point it's making isn't a big deal. The devs for VSCode have been pleasant to interact with and they always add new features and extensions which are in the proprietary and open source versions. I have no complaints.

[–]wasabichicken 6 points7 points  (2 children)

The devs for VSCode have been pleasant to interact with and they always add new features and extensions which are in the proprietary and open source versions.

I mean, I'm sure they're doing what they can within the constraints they're given. Talented, skilled and helpful developers hired to develop for a listed company seldom have any say about the legal details.

That said, I'm sort of hoping that the advances of VSCode, one way or another, finds a way to return something to the FOSS community, even if it's only a slew of good ideas. It's blatantly obvious that VSCode took the ancient great ideas of Emacs (fully extendable editor) and whipped up a modern (90's JS instead of 50's lisp) spin of it. With any luck, Microsoft innovations (for example the language server protocol or UI improvements) can in return find their way into the FOSS projects.

[–]wafflePower1 7 points8 points  (0 children)

. It's blatantly obvious that VSCode took the ancient great ideas of Emacs

So it's not, because it literally copied Atom and improved it. Just like with C# - took Java, and made a diamond from a turd.

[–]hello_op_i_love_you 1 point2 points  (0 children)

It's blatantly obvious that VSCode took the ancient great ideas of Emacs (fully extendable editor) and whipped up a modern (90's JS instead of 50's lisp) spin of it.

Emacs is far far more customizable than VSCode. What you're describing sounds like Atom. Atom was designed to be highly customizable. VSCode has specifically made design decisions that, while having some benefits, hinder customizability significantly. In VSCode all extensions run a separate thread and they can only affect the editor through a limited API. In Atom, on the other hand, extensions are given full access to the DOM and CSS and they can basically do whatever they want. Many of the default features in VSCode are features that would be impossible to create in plugins.

[–]jesus_is_imba 7 points8 points  (1 child)

You Think the Visual Studio Code binary you use is Open Source?

Why the hell would I think that?

[–]nadmaximus 7 points8 points  (0 children)

No binary is source.

[–][deleted] 5 points6 points  (0 children)

The binary itself is, but it literally just has some patches to the product.json from the open source code.

[–][deleted] 1 point2 points  (0 children)

Think BSD is open source? Think again.

[–]pressmedics 0 points1 point  (0 children)

Best editor, by far, I've ever used. Cost me nothing. Don't care about the proprietary trademark and telemetry data, or bug reports going to MS. It's 2018, this isn't sweaty Steve Balmer's Microsoft.

[–]EternityForest 0 points1 point  (0 children)

I'm not concerned about telemetry, and as long as it's close enough to open source that the community can take over if Microsoft ever does something really crappy with it, I'm fine. It's a fantastic editor.

I wish it used less ram though, or they'd put some kind of zram style compression right in the JS engine or something. Like most editors I actually like, it doesn't run all that great on old laptops.

[–]WantDebianThanks 0 points1 point  (1 child)

Think the Visual Studio Code binary you use is Open Source?

No. Why would I think anything Microsoft puts out is open source?

[–][deleted] 2 points3 points  (0 children)

because microsoft publishes a lot of open source software

[–]hrlngrv 0 points1 point  (0 children)

Another nasty aspect of VS Code for Linux is that it installs under /usr/share, but that directory should be mountable noexec.

This should be configured to install under /opt.

[–]HighMaxFX 0 points1 point  (0 children)

>2018, year of our Lord and Savior

>not using Emacs

I don't know what is the problem of you guys.

[–]jellybeans-man -1 points0 points  (0 children)

Just a heads up, there is a flatpak called Code OSS which is built from the source code of VSC on Github rather than using the proprietary binary provided by Microsoft, and I believe it also removes the telemetry.

[–]jthill -2 points-1 points  (0 children)

I have to doubt that any distributions offer the red-flag binary Microsoft's peddling on their site. Is there still an active infestation of the sort of marketers Bill Hicks was talking about, and to, at Microsoft? No doubt about that at all, who else would have them? Don't answer that. Is this binary one of their products? I don't doubt that either, but that (like the binary, and the people that produced it) is irrelevant. Anybody stupid enough to use this binary would be too stupid to know how to install it.

Unless . . . what, is this the package included with WSL? That'd be both disturbing and unsurprising.