Visual Studio Code is designed to fracture (2022)

325 pointsposted 14 hours ago
by ghuntley

228 Comments

amluto

9 hours ago

In some sense, this ought to be an opportunity. VSCode’s ecosystem is, in many respects, quite weak:

- cpptools is kind of amazing but also pretty bad. It regularly malfunctions for me. It’s essentially undebuggable. I have less experience with the other extensions, but I don’t expect that they that much better.

- The VSCode security story is very, very weak. Extensions are not sandboxed. The client, accessing remote repos, is wildly insecure, by design.

And that second point is a big deal. Maybe when poking at your own company’s code, you aren’t that concerned about your repo attacking you. You probably should be concerned about malicious extensions, but we’re all far too used to trusting dev tooling. (Don’t forget that MS’s extensions are just this side of malicious.)

But, with AI, you should absolutely not trust your LLM. It is entirely unsafe to give an LLM that might try to exploit you the ability to write into your repo directly or to run JS code in the context of any portion of VSCode. And it’s really quite easy to convince LLMs to engage in all manner of shenanigans.

There’s an opportunity to make a better ecosystem. In a better ecosystem, the equivalent of cpptools would not have telemetry, because the equivalent of cpptools would not have Internet access. It would have the ability to read the workspace, to create cache files for its own data, and to operate its UI, and that’s all.

diggan

8 minutes ago

> Extensions are not sandboxed

This is quite surprising to me if true. Microsoft has for years touted "Security is everything and the single most important thing right now", yet something that basic is not taken care of for the most security minded audience, and for the audience with probably the biggest impact in case ssh-keys and alike gets stolen?

People randomly installing extensions (and Visual Studio Code suggesting random extensions by "language support") starts to look a lot worse than I thought. Guess I'm lucky I never jumped aboard the Visual Studio Code train...

tikkabhuna

an hour ago

> - The VSCode security story is very, very weak. Extensions are not sandboxed. The client, accessing remote repos, is wildly insecure, by design.

This is a big concern for our Infosec team. There is no middle ground between open access to every Extension on the marketplace or locked down and Extensions are installed via local files. The latter being a significant overhead in maintaining VSCode.

spacemanspiff01

an hour ago

Can't you host your own extension marketplace?

doubled112

44 minutes ago

Then you have a other problems. Maintaining the store itself, obtaining the extensions people want, and keeping the extensions up to date adds some overhead.

Looks like it should be possible, although I have no experience doing it myself.

https://github.com/coder/code-marketplace

tjoff

7 hours ago

The clangd extension is much better for me, assuming that you have or are able to generate a compile_commands.json (at least easy in cmake) and point clangd to it.

chpatrick

7 hours ago

I agree VS Code + clangd is probably the best C++ development experience I ever had.

theptip

5 hours ago

How does it stack up vs. CLion?

eulgro

an hour ago

It doesn't, CLion is way better.

tcbawo

an hour ago

What does it do better?

txdv

7 hours ago

I recently tried clangd with nvim and it was so good

monsieurbanana

6 hours ago

> The client, accessing remote repos, is wildly insecure, by design

Who's the best kid in the block regarding third-party extensions security?

There's really not much standing in front of a supply-chain attack for my editor of choice, emacs. Most people use a community extensions aggregator that also directly fetches from git repositories. The only slim advantage we have is that I'm sure a much higher % of emacs users would actually look into the source code of the extensions they pull.

ReleaseCandidat

7 hours ago

Yes, their C++ LSP isn't really good and I've heard C# isn't good either - but that's because they want to sell Visual Studio too. But especially "Remote SSH" and "Dev Containers" are so called game changers. And their Typescript and Python extensions are actually good.

easton

25 minutes ago

Lately they've begun embedding the same C# analysis stuff they have in VS into VSCode if you pay for the license. I haven't used it in anger (long since left for Rider), but it has come in handy when troubleshooting people's VS issues at work from my Mac. The test explorer now blows up in exactly the same way in VS and VSCode :)

CrimsonCape

11 hours ago

Here's a good comment thread from cpptools extension:

https://github.com/microsoft/vscode-cpptools/discussions/126...

Having not delved too deeply into building from source, this post suggests it's not even possible.

We will need some new terminology to express that a given codebase is OSS licensed and the build dependencies additionally are OSS licensed.

karl42

2 hours ago

Debian splits their distribution into three components:

  * main (free software)
  * non-fee
  * contrib (free software that depends on software outside of main, so usually non-free software)
While I am not fond of the "contrib" terminology, I think this categorization makes a lot of sense.

kragen

10 hours ago

wow, that's really troubling. people in the future will wonder what we were talking about after microsoft memory-holes that thread

wruza

10 hours ago

kragen

3 hours ago

the internet archive isn't going to last much longer, maybe five or ten years

as brewster says: 'governments burn libraries'

there's a reason that the first backup of the internet archive is at alexandria and that the first time brewster started the internet archive it was a for-profit company called 'alexa'

toofy

10 hours ago

wow, thanks for posting this.

in a few tiny comments it demonstrates precisely the problem the larger ecosystem is facing and will almost certainly get much much worse sooner than we think.

awson

7 hours ago

AFAUI, this extension uses proprietary C++ front-end commercially licensed from EDG.

The same front-end powers their Visual Studio IDE (not Code).

Also, AFAIK, there exist an alternative `clangd`-based C++ extension, which is fully open-source (but I could be wrong).

gpderetta

29 minutes ago

clangd is fully open source. You can build it yourself from llvm sources. It works fine with emacs LSP support. I never used the proprietary extension so I can't compare the functionality, stability nor speed.

pxc

9 hours ago

VSCode is not open-source, and neither is this extension.

Much F/OSS on Windows and virtually all F/OSS on macOS has proprietary build dependencies (e.g., MSVC on Windows, Xcode and various Apple frameworks and GUI toolkits on macOS), but is still itself F/OSS. It's true that such software doesn't promote or embody software freedom to the same extent as free software written for free platforms and built with free toolchains and dependencies.

But this case isn't about that. Reread the comment of maintainer (presumably an MS employee) at the end:

> I'm sorry to let you know that our license also prohibits using our extension in alternate distributions of VS Code - only the official one produced by Microsoft may be used. So even if we did produce a RISC-V version, you wouldn't be licensed to use it with Code Server.

That's just proprietary, software plain and simple.

Recall freedom 0 of the free software definition:

> The freedom to run the program as you wish, for any purpose (freedom 0).

In the way that third-party distributions of VSCode do not come with the same rights to extend the software or use it in combination with compatible extensions as the first-party distribution does, VSCode also fails the test of freedom 3, regardless of the license of much of the code:

> The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

It's not that your modified copies must give your users the same rights to inspect and modify the code as you had (that's copyleft) but that you are unable to give them such rights. MS does this not entirely through the licensing of VSCode but also through the licensing of certain extensions, but the actual outcome is the same.

It's not a different story for the term open-source. This:

> May we ask why you'd like to do this? If you're planning to redistribute the language server binaries as your own custom offering, please note that our runtime license prohibits that.

means that the extension fails condition 1 (the redistribution criterion) of the open-source definition. And VSCode not allowing modified redistributions the same rights as the original fails condition 3 (the derived works criterion).

Neither VSCode nor this extension is open-source. They're both just proprietary software with some open-source components.

Free Software Definition: https://www.gnu.org/philosophy/free-sw.html.en#four-freedoms

Open-Source Definition: https://opensource.org/osd

Note that these are not definitions in the ordinary lexographical sense. They are terms that were created with explicit social and technical purposes in mind, by and for organized movements. This isn't an argument from the dictionary but a reminder of the purposes of these concepts.

jdiez17

5 hours ago

> VSCode is not open-source

Partly true, partly false. VS Code is FOSS (MIT license). The VS Code binary that Microsoft distributes is freeware (proprietary license).

> and neither is this extension

Correct.

> That's just proprietary, software plain and simple.

Indeed, the Pylance extension is proprietary software.

> In the way that third-party distributions of VSCode do not come with the same rights to extend the software or use it in combination with compatible extensions

False. Third party distributions of VSCode can absolutely use compatible extensions. The license of certain proprietary extensions does not allow you to use them with third party distributions of VSCode.

> It's not that your modified copies must give your users the same rights to inspect and modify the code as you had (that's copyleft) but that you are unable to give them such rights. MS does this not entirely through the licensing of VSCode but also through the licensing of certain extensions

The VSCode license prevents you from reverse engineering, modifying it, and you agree to send some telemetry to Microsoft. You're correct that the MS distribution is not FOSS. It's the same with Chrome (the code base) and Chrome (the browser binaries that Google distributes).

> Neither VSCode nor this extension is open-source.

Again, to be clear: VSCode (the binary) is not OSS, but the source code used to build VSCode (the binary) *is* OSS. Pylance (the extension) is straight up proprietary software.

> Note that these are not definitions in the ordinary lexographical sense. They are terms that were created with explicit social and technical purposes in mind, by and for organized movements. This isn't an argument from the dictionary but a reminder of the purposes of these concepts.

The MIT license represents a different view on the social and technical goals of open source software. It's much simpler than the GPLs and only has one obligation for the user/redistributors: display a copyright notice. It's not as copyleft as the GPLs.

lozenge

3 hours ago

Building the open source repo gets you something which isn't VSCode. It doesn't install a lot of VSCode extensions, therefore you shouldn't call it VSCode and shouldn't say VSCode is FOSS.

actionfromafar

17 minutes ago

This is very well put. If the open source repo was named "VSCodium" it would communicate better what is going on. (Chrome / Chromium.)

Edit: to be clear, I think Microsoft should offer VSCodium themselves and state clearly that they take that, bundle it with other stuff, and are calling that blob VSCode.

jeroenhd

7 hours ago

"The free software Microsoft is giving away isn't open enough" has to be one of the weirdest modern takes. I remember when "free IDE" meant "Eclipse" or "vim with a billion extensions".

From what I can tell, Microsoft isn't even sabotaging open alternatives, they're just Not As Good. That sucks, but that's just how it works when you're using software made by a company that likes to pay its staff and still make a profit.

I welcome everyone who feels entitled to the source code of Microsoft's very best software to see what true open source, maintained by an independent non-profit organisation looks like. You'll get an IDE that's functional, maybe even features a real debugger, but you'll probably wish you could go back not long after.

People are taking software given to them free of charge for granted. It's not that long ago that you had to buy IDEs for hundreds or thousands of dollars and you had to buy the upgrade if you wanted the next version a couple of years later.

SamuelAdams

an hour ago

Exactly. Look at the Ashai Linux project. They are doing tremendous work, but getting basic feature parity with a now 3 year old laptop is still ongoing work.

Then once feature parity is done, performance problems are next, if they ever get addressed and completed.

I love the idea for open source software, but the very best software in todays world is always something you have to pay for.

riiii

an hour ago

>"The free software Microsoft is giving away isn't open enough"

This is not a quote from the article and isn't what the article is saying. It's effectively suggestig that devs are being duped and MS goals are closing essential parts down.

derkades

6 hours ago

> From what I can tell, Microsoft isn't even sabotaging open alternatives

I think they are. VSIX extensions are supposed to be some sort of open standard, but some Microsoft extensions like Pylance actively refuse to work if they detect running in something other than Microsoft's build of VS Code.

jeroenhd

5 hours ago

Microsoft's extensions don't work, but that's Microsoft's choice. Whatever open source alternative for Pylance exists (if any) will work just fine.

If they messed with VSCode to sabotage OpenPylance or whatever the situation would be different, but in this case people are just looking a gift horse in the mouth.

ryanjshaw

3 hours ago

How is this different from arguing that Linux is not open source because Oracle won't run on it without a valid license?

dumbo-octopus

10 hours ago

Without proposing a model for how the 50+ full time employees who create VS Code justify their collective ~20MM annual budget, this sounds a lot like: “Ugh, they made it mildly inconvenient for my company to benefit from all their engineering work but swap out the product surface and reap the profits by undercutting their product via not needing to fund the engineering ourselves. How lame.”

LaGrange

8 minutes ago

Their business model being bad is not my concern. They're not a broke kid whose bad decisions I'm exploiting.

Edit: OTOH reporting on this as if it's a grand surprise is a bit funny. Like come on, this was obvious from the start. I just didn't care, it didn't feel like a fight worth fighting. And I care about BSD/MIT license devs being exploited about as much as MS' business model potentially falling apart because I turn off telemetry: folks knew what they're going into, and did it anyway because "sempai corpo will notice us." Well, it did, congratulations.

As for me, I don't care. I ain't posting anything on anything lighter than AGPL, ever, but I'm a small bean and ultimately there's stuff I care about way more than software.

kragen

10 hours ago

that's not my problem. my problem is making sure i don't make my own job skills dependent on microsoft's continued goodwill, because historically that has been a guaranteed path to obsolescence. i don't need their engineering work. i have emacs, vim, clang, gcc, idea, eclipse, firefox, and so on

i'm only interested in microsoft's generous gift of blankets if they come without smallpox

pjmlp

7 hours ago

Naturally you also generously support emacs, vim, clang, gcc, idea, eclipse, firefox, and so on for them making your livehood possible, selling your skills.

kragen

3 hours ago

no; i provide some support for some of them, but the nature of software is that it is infinitely replicable, so in general the efforts of a few suffice to satisfy the needs of many

mostly what i offer 'in return' is more free software, which is also how, for example, the vim and gcc teams support each other, for the most part

i'm surprised to see your comment because i thought you were old enough to know this already

pjmlp

2 hours ago

I am old enough to see too many devs abandon open source because it doesn't pay the bills, contrary to the old promises of everyone singing happy songs around the fireplace on a comunity farm kind of ideas.

And also to remember Public Domain and the various flavours of Shareware and Demos, which is what Open Core/Dual Licensing are nowadays, by another name.

kragen

an hour ago

sure, plenty of people have always abandoned open source for that reason. running a free software business isn't easy. fortunately, the nature of open source is that it doesn't depend on any one person or group, so it keeps working when people abandon it

i agree that open-core is little more than shareware. dual-licensing is a different model, one pioneered by peter deutsch in the 90s

suddenclarity

17 minutes ago

Which is a can of worms by itself which we saw this year with xz-utils.

gregmac

6 hours ago

It's an IDE. If you need to edit your code somewhere else, there's a billion other IDEs and text editors, as you pointed out.

A guitar doesn't make the musician, and the hammer doesn't make the carpenter.

There's specific skill with being able to use tools well, but that's not what makes a programmer, guitarist or carpenter valuable.

kragen

2 hours ago

much of what you learn programming in an ide is how to program, but some of it is how to use the ide, and it's common for programmers to keep using the same ide for decades as a result

i still have some keybindings in emacs from when i used visual c++ last millennium, and i'm probably using emacs in significant part because i started using lugaru epsilon in about 01989. since then i've also used vi, vim, idea, eclipse, nedit, and the f83 editor, but i keep ending up back in emacs sort of by default. and i think my level of flexibility on this count is far above average

see https://news.ycombinator.com/item?id=41696512 for a more in-depth exploration of this

wiseowise

6 hours ago

> A guitar doesn't make the musician, and the hammer doesn't make the carpenter.

Is that why famous guitarists play only on specific expensive brands and professional carpenters have favorite instruments?

wcrossbow

40 minutes ago

Famous guitarists mostly only play specific expensive brands because they are endorsed by them. Any professional musician can make the cheapest of instruments sound really good. Maybe a note is missed here or there and the sound is not as good as it could be but it will still be way way better than an average player.

Here is Satriani playing on a terribly setup guitar [1] His only comment at the end? Oh, that was a little painful.

[1] https://www.youtube.com/watch?v=_KZjVZLsU6s&t=20s

onion2k

5 hours ago

There's nothing wrong with having a favorite. That's not the same as only being able to use that specific brand. A good guitarist can play any good instrument well, just as a good developer should be able to write good software in an IDE that isn't their preferred one. The favorite tool just makes them a bit better; it isn't required to do the job.

bigstrat2003

5 hours ago

> Is that why famous guitarists play only on specific expensive brands...

But that isn't true. Lots of famous guitarists play, and love, the cheap guitar they had before they made it big. Yeah they own lots of expensive guitars (because they like collecting guitars and are rich enough to do it). But they don't only play those.

KeplerBoy

5 hours ago

Sure we all have our favorite tools, but if something happened to code, we could adapt to one of the other options in a fortnight.

dumbo-octopus

10 hours ago

You also have vscode. What you don’t have is the various proprietary extensions msft makes to vscode, just as you don’t have every proprietary extension anyone has ever made to those listed platforms.

toofy

9 hours ago

> You also have vscode. What you don’t have is the various proprietary extensions msft makes…

i’m not trying to be confrontational i promise, but i mean, yeah, youre just repeating what we’re discussing…

microsoft bangs its drums chanting “please like us again, look at how open source we are. we’re not the same abusive company we used to be… we’ve changed, really.”

to many of us, the extension ecosystem is the biggest thing separating code from other IDEs in the first place.

this is just more abusive tactics from a company with very very long history of abuse, only this time they try to hide it behind empty “open source community, look how much we love you” rhetoric.

i’ve always recommended to organizations to run fast and far from ms products. basically “if you’re looking at a long timescale, you want agility, you want to be able to easily pivot in various other directions. if you use MS, you never know where they’re going to lock you down. run fast and far from them.” and this is just another example of why.

i think the commenter above nailed it perfectly with, “they keep telling us we should be grateful for microsoft blankets infected with the smallpox.”

dumbo-octopus

8 hours ago

Software engineers have to be the most melodramatic lot in existence. Microsoft: you can use this product for your development work freely, but we have licensing in place that prevents redistribution that cuts out our core product offering because let’s be real here this is really expensive to develop and both us and our employees have bills to pay just like anyone else.

Internet personalities: the closest thing I might compare this to is the deliberate proliferation of smallpox and the resulting deaths of hundreds of thousands of native americans. (a story which, ironically, turns out to be almost entirely fabricated to spread FUD about the us government… https://allthatsinteresting.com/smallpox-blankets)

delta_p_delta_x

4 hours ago

> let’s be real here this is really expensive to develop and both us and our employees have bills to pay just like anyone else

Couldn't put it better. FOSS advocates want everything for free and source code released every time, all the time. Who's paying the bills? The rent? The mortgage?

To be precise, the system sucks, but we have to work within it, and that means profit-driven companies which pay employees liveable salaries so said employees can buy the food and shelter they need to experience a decent life.

I'll bet that 95% of FOSS developers either contribute as part their full-time job, or already have full-time jobs with the salary and flexibility that allows them to also contribute to FOSS projects in their free time. Not everyone has this luxury.

kragen

2 hours ago

i don't care. if you don't want to write free software, that's fine with me. but don't piss on my shoes and tell me it's raining, and don't offer me a gift and then demand payment

delta_p_delta_x

2 hours ago

> but don't piss on my shoes and tell me it's raining, and don't tell me it's a gift and then demand payment

Who's doing this? VS Code is free; Pylance is free, cppdbg is free, the C# suite is free. However the licences are clear; these extensions are closed source.

VS Code's core editor functionality (Monaco, LSP, DAP, etc) is fully open, and has been regularly repurposed and re-branded by several other companies. I sincerely don't see the problem. If someone else wants to write their own extensions, they are free to; these extensions are Microsoft's IP and hence Microsoft is free to do what it wants with its IP.

shiroiushi

7 hours ago

>a story which, ironically, turns out to be almost entirely fabricated

The same is true for the adage about boiling frogs, but it's still a useful analogy.

electronbeam

8 hours ago

Too many people love smallpox, especially the younger croud who missed the early 2000s

dark-star

an hour ago

Your skills as a developer are never dependent on the tools, APIs or platforms you use. You can always abstract over that. But yes, effectively using your skills will always be somewhat dependent on some company's goodwill. If a product, platform or feature you use goes away, you need to switch. That doesn't only happen for development IDEs. It's a process of learning that happens (or should happen) continuously in any line of work, and especially in software development.

As a developer you should already be used to having to switch stuff to something else. Going from DX12 to Vulcan, from x86 to RISC-V, from Linux to FreeBSD, from XCode to EMACS, from Perl to Python, from Angular to Flask, whatever.

kragen

40 minutes ago

yes! always be learning! and learning how to think and create, not just how to operate tools

however, see https://news.ycombinator.com/item?id=41695702

inevitably some of your learning efforts are sunk into the tools, apis, and platforms you use. those can compound over time, making you more effective for the rest of your life, or simply be a pleasant memory. spending time on tools, apis, and platforms that are not dependent on some company's goodwill is helpful here; none of vulkan, x86, risc-v, linux, freebsd, emacs, perl, python, angular, or flask is dependent on any single company

(x86? yes, without amd, x86 would have died around 02000 like most other 80s architectures did, killed by intel's itanic blunder.)

in the 90s i invested time learning a lot of different tools and platforms. most of them are no longer useful to me because they were dependent on some company or other: vax, vax/vms, informix, netapp, mfc, sunos 4, purify, clearcase, pv-wave idl, erdas imagine, khoros cantata, irix, windows nt 3.51, cde. but, for the most part, those that were open standards (or, better still, free software) remain useful to me to this day: diff and patch, shellutils (now coreutils), tcp/ip, perl, netbsd, emacs, python, html, css, the i386 architecture, bash, vim, c, c++, sql, gcc, gdb, samba, ssh, postscript, tcl, tk, etc.

admittedly x.25, smtp, ftp, perl, tcl, twm, and fvwm are not as useful these days, and visual c++ and win32 are still somewhat useful. so it's not 100% black and white. but the longevity difference is extremely striking

Barrin92

9 hours ago

>because historically that has been a guaranteed path to obsolescence

Has it? If there's one good thing about Microsoft, it's that basically anything, even from the stone age, is still supported. You can fire up some executable from the 1990s on Windows and it works and you can probably just be a .net dev for the next 50 years if you want to. If there's one company in this industry that takes long term support and backwards compatibility seriously it's Microsoft

0dayz

7 hours ago

You're talking about the most broadest of broad experiences here, what about all the proprietary dev products that have been sunset which usually was design to keep in said developer in the walled garden?

wvenable

6 hours ago

Nobody used them -- except maybe for Silverlight -- but we all know why that model (along with Flash) was retired.

Mashimo

5 hours ago

I honestly don't know, but what are those?

kragen

2 hours ago

tell me more about how valuable my knowledge of mfc and visual basic 5 is now

i mean, yes, the code still runs. but it's not useful

mustache_kimono

10 hours ago

I'm still trying to figure out what the issue is.

It sounds like MS is making a better cpptools/C++ extension mouse trap and it's impossible to build a fully OSS version because many of the MS components are closed? And when a user discovers he/she can't use their native extensions from any web interface, this is a problem for the web interface guys? I have to ask -- if people want to use this freeware instead of OSS software, it might be disappointing, but is that really a problem?

If there is an answer, it would seem to be more information about who is to blame. Perhaps open source vendors should be more clear that their offerings are also open source and open ecosystem? Perhaps that would tip off devs that not every extension is, that is -- the MS alternative extension is not.

One could even be more forceful:

    "Certain alternatives, like vscode-cpptools, are NOT licensed under an OSI approved license.  vscode-cpptools contains many unexamined binary blob components.  Developers of blah blah blah C++ extension strongly believe in an open ecosystem for VSCode extensions, but MS has also refused to allow redistribution of vscode-cpptools, if used by native open source builds or by those offering VSCode via web services.  Developers of blah blah blah believe, whether the code is closed or open source, ALL VSCode extensions should be freely redistributable for the good of the broader VSCode extension ecosystem."
If major extension projects are aligned, they could simply add a notice like above to their description on their marketplace page? Trust me, legally, culturally, MS really, really doesn't want to deny access to its marketplace, because a few OSS projects wanted to offer a comparison of their license terms to those of MS.

Apple is currently dealing with a marketplace lawsuit. MS doesn't want a marketplace or another antitrust suit.

dgreensp

7 hours ago

It takes a LOT of reading to find out what the actual point is here, and the concept of a “fractured” “ecosystem” is brought up a dozen times without being explained. A “venus fly trap that is designed to fracture”? What in the heck.

VS Code is an IDE you can download and use for free from Microsoft. It’s not some magical open-source platform/ecosystem thing that anyone can use for anything, which Microsoft has no control over. It’s a product.

It seems like everyone wants to make “universal” developer _services_, but no one wants to build or fund an IDE, or it’s just too hard or something. That’s not Microsoft’s fault.

h1fra

5 hours ago

Not going to defend Microsoft but they provided a massive codebase for free and yeah they have built a product on top, that is mostly free. If you fork you just don't have access to MS servers. Not fair enough?

Also Monaco is the best editor by a thousand miles, front-ends are just using this editor because it's the best. We used to install CodeMirror or Ace when they were the best options.

I'm not sure there was a massive master plan behind the creation of Monaco, on the contrary, they saw an opportunity to make it a standalone project that unlocked countless of web UI.

armada651

27 minutes ago

> The source code has been released by Microsoft under the open-source MIT license, but the product available for download (Visual Studio Code) is licensed under this proprietary license.

I used to consider releasing software under the MIT license to be more generous since there are no conditions other than attribution. However by now I can see that releasing under a copyleft is actually more generous than a permissive license since the copyleft conditions also binds the author of the software to continue releasing their code under an open-source license. Turns out Richard Stallman was right after all.

jlokier

7 minutes ago

The author of software (or generally the copyright holder) is not bound by the terms of their own license, so they can publish the same software and/or later versions under different licenses however they see fit.

This applies equally if their own license is MIT or if it's GPL/copyleft.

(From that point of view, Microsoft would be able to release VSCode as GPL while also shipping binaries under a proprietary license, if they wanted to.)

Things get more complicated when they aren't really the authors because they have merged contributions from other authors, e.g. pull requests. Then what happens depends on the license used by the other authors for their contributions. Sometimes the contribution's license is implied, or legally unclear. To avoid problems, some diligent organisations require contributors to sign or confirm something to make it clearer, before they accept contributions to be merged.

throwgfgfd25

4 minutes ago

> since the copyleft conditions also binds the author of the software to continue releasing their code under an open-source license

Not universally.

In a single-author context, the author of a copyleft project is not bound by the licence they choose to distribute it under, because it's already their code to do with what they will. The licence isn't what makes it their code. And so the author is always free to make a new version of a product that is licensed differently and includes all their GPL code.

It's in a multi-author context that it gets complex. If they accept contributions without assignments in a contributor agreement, they would have to excise all the contributed code to do this unilaterally.

But they would still be free to abandon a product, and start a newly-licensed version of that product, with any code that is fully theirs.

There's always the risk that in changing the licence, people will fork, but that's equally true of MIT-licensed code, isn't it?

wg0

an hour ago

Nobody deserves VS code for free. Actually nobody deserves anything for free. Alternative would be pay for bloated commercial IDEs.

VS code is decent, all rounder, free, open enough to be forked.

And people forget that it's marvel of engineering. Go look through code. That doesn't get produced for free.

Microsoft or any company owes nothing for free to anyone whatsoever. This entitlement syndrome needs to be in check.

Justsignedup

an hour ago

I paid for jetbrains stuff for many years because it was worth it. And compared to eclipses features et it was leagues above.

That's worth money.

Like I always say about open source. I'm skeptical about adapting frameworks without big money behind them... Because relying on the whims of random internet amazing engineer is a risk.

MS will make money on vscode. Just like Google makes money on Chrome. Just not directly.

cobertos

an hour ago

True, slap a price on it. I'm sure people here get enough utility out of VSCode to pay for it.

The problem is when the free offering is actually designed to ensnare you in a tarpit of legal liability and uncapped financial liability. Especially with a service like VSCode where it's not a single purchase and you rely on Microsoft indefinitely (through extensions and updates). But it's designed that way. There's no other option. They chose to not make it simple to avoid a single clean payment, and extract longer term money of ambiguous amount based on user resistance.

speed_spread

37 minutes ago

A marvel of engineering, really? In find using bloated browser tech and napkin-designed language to build a barely functional IDE as "impressive" as building a mile-long pedestrian bridge using Popsicle sticks and chewing gum.

movedx

23 minutes ago

In light of this post, and ignoring Sublime Text as I’ve tried it and don’t like it, what commercial IDEs are worth looking at for a generalist like me who bounces between C, Python, Terraform, YAML, Markdown, and more? I’m on Linux.

joshstrange

20 minutes ago

JetBrains IDEA. It can do pretty much everything and has been my daily driver for almost a decade now.

movedx

14 minutes ago

I was just looking at their products. Looks like IDEA is aimed at Java developers, but I assume that doesn’t prevent it being used for other languages?

noworriesnate

12 minutes ago

Specifically you should look at the JetBrains All Products Pack. That's what I have and I've used Pycharm, CLion, Datagrip and Rider extensively. I love being able to switch languages without having to learn a new interface, keyboard shortcuts, etc. You get a nice JetBrains Toolbox app to manage all your IDEs.

joshstrange

10 minutes ago

Agreed. The price between just IDEA and the all products pack is not terribly different and I enjoy using IDEA and Datagrip. I've also played with a few other of their IDEs and it's nice to not have to learn anything new. That said, I do 99% of my work in IDEA since it can do pretty much everything.

dagw

5 minutes ago

My only major complaint about JetBrains is that they make me switch programs when switching languages. I have a license for CLion and PyCharm Pro, and while they're both great, the fact that I cannot 'import' all the features from one into the other is quite infuriating.

rafram

2 hours ago

Needs a better thesis statement and organization. I read the whole thing and I’m still not sure what “designed to fracture” means.

arandomhuman

6 hours ago

If you don’t like it don’t use it, vim/nvm and eMacs exist and are very capable editors without compromising on ecosystem.

devjab

6 hours ago

I think DoomEmacs is worth a recommendation as an add on to what you’re saying. As it’s basically “slow” nvim with all batteries included + Org mode.

It’s was a very easy switch for me from VScode at least, and while I called it “slow” that is because nvim is ridiculously fast. DoomEmacs performance is still great, for the most part.

Jean-Papoulos

3 hours ago

It baffles me how people just keep expecting stuff to be free.

taraparo

7 hours ago

Motivate the authors of your favorite vscode extensions to publish them at https://open-vsx.org/

ReleaseCandidat

6 hours ago

Everybody can do that themselves, if the original maintainers don't want to (which is a security problem ;):

   If you are not the author, we suggest you first reach out to the author with an issue in their GitHub repo to request that they publish their extension to open-vsx.org. We've drafted a template with suggested content for the issue.
https://github.com/eclipse/openvsx/wiki/Publishing-Extension...

Such "3rd party extensions" don't get the "verified publisher" icon (or at least should not get it ;).

m1keil

7 hours ago

In a way, VSC is the same model like Android. You can use it without its corporate backer, but severely limit its functionality in the process.

Myrmornis

6 hours ago

A few weeks ago I switched to Cursor. Everything seems to work unchanged -- all my extensions, the marketplace etc. That seems to contradict various things in this article, for example the claim that certain programming languages couldn't have the standard extension support in forks.

dagw

an hour ago

Are you using Microsoft's Python extension? That seems to be the main one that breaks for people, including me.

Also Microsoft's remote and container development tools only work on the official VS Code.

advael

5 hours ago

Haven't yet seen a reason to use VSCode and can't anticipate I will

As an editor it's a pain in the ass, as an ecosystem it feels like a fucken freemium mobile game for how polluted and nickel-and-dimey extensions are, and worst of all it's owned by microsoft so while this article is informative on the specifics, I knew from the jump there was some legal fuckery involved because there literally always is

I can't be a total purist and never use a tool that's connected to a large tech company's ecosystem, but where at all possible one should, and this is only becoming more true

alkonaut

7 hours ago

If you try to make a business building on top of it it’s a risk you are taking. Whether vscode was partially oss or fully closed seems like an inconsequential detail.

FrustratedMonky

an hour ago

This is giving MS a lot of credit for having a long term plan.

Isn't it just that all companies want to extend/embrace/control. This has happened with a lot of Open Source products recently. Didn't this just happen with Redis this year.?

"The mission of the Microsoft Developer Division is to earn the trust and love of developers across all languages and platforms and make them successful as they build the applications of the future."

Maybe the simpler explanation is that they want to make a good product? Which will mean it spreads out, and they do need some amount of control, thus the 'official' build.

Of course, they are also shady. I lived through the Explorer lawsuit days. But even then, I think they stumbled into it, they didn't have much of a plan beyond control.

All companies want to extend and control.

OSS was supposed to be a counter to this.

But seems like without some kind of 'pay' model where developers can actually 'live' and contribute, it eventually falls apart. There are just not as many people willing to spend nights and weekends developing and especially SUPPORTING OSS for free. So any OSS tools that are good and widespread, and don't have some support like research funding, get co-opted.

Maybe a non-profit company is the best way. But we've seen how that turns out if it actually takes off, like OpenAI.

Myrmornis

6 hours ago

I'd find this article easier to follow if it separated complaints about telemetry from genuine restrictions.

ReleaseCandidat

7 hours ago

The author forgot about two very important "closed" plugins: "Remote SSH" and "Dev Containers".

morgante

6 hours ago

The clearest way to understand it is that VS Code is open core software.

There's actually a lot in that core, especially when you compare it to other open core products (ex. Gitlab). Enough that you can fork it and have a viable MVP for your own IDE (as Cursor, Gitpod, and many others have done)

But you shouldn't ever be under the impression that you fork will be identical to VS Code.

Frankly I think developers have benefited a lot from this. There's actually a strong foundation for others to innovate on their own IDEs without sinking years into basic R&D, and it's much better than the alternative era when ~all the user-friendly IDEs were proprietary.

mike_hearn

5 hours ago

IntelliJ has been open source (or open core if you like) for many years now, I think even pre-dating VS Code. So the idea that it's the first or only IDE that works this way is wrong.

999900000999

7 hours ago

I'm going to get downvoted, but no one is making you use VSCode or Chrome/Chromium. I came across a post here that was like "I use Chromium, I ethically can not use Chrome." Firefox is right there, if you want an to support a different browser.

Zed exists, it's new but it's already a very good IDE. I tested it with Unity and the C# support is fantastic.

20 years ago the notion Microsoft would develop dev tools for Mac and desktop Linux would be absurd. Now you're mad you can't just fork VS Code, sprinkle some tweaks on it and create a business around that ?

ReleaseCandidat

7 hours ago

> Zed exists, it's new but it's already a very good IDE.

An IDE needs at least a working Debugger (or, to be more precise, a graphical interface to debugger(s)).

And Zed has exactly the same problems VS Code has, minus actually contributing LSP and DAP (Debug Adapter Protocol) to "the editor community". So, Zed is actually worse in that regard.

virtualritz

5 hours ago

> An IDE needs at least a working Debugger (or, to be more precise, a graphical interface to debugger(s)).

For me that should read at _last_ (or not at all).

While almost any IDE I ever used had a debugger (starting woth Borland Turbo C++) the number of times I used one I can count on both hands. And even then, a CLI to the debugger is just fine.

Like with any feature an IDE may offer, there are people for which that very one is essential.

Fair enough; but don't assume your non-negotiable X is the same for every other user of an IDE. It is not.

ReleaseCandidat

4 hours ago

I'm sorry, but what _is_ the difference between an editor and an IDE for _you_?

Btw. I'm not saying that having an integrated debugger is a sufficient condition for an editor to be an IDE (VS Code isn't, Sublime Text isn't, other editors with DAP support aren't).

> but don't assume your non-negotiable X is the same for every other user of an IDE. It is not.

But _you_ not needing a debugger in an IDE is a reason something is an IDE without one, I see. Btw. I'm (normally) not using IDEs.

virtualritz

3 hours ago

Wikipedia[1] says an "IDE normally consists of at least a source-code editor, build automation tools, and a debugger". Not that is says "normally", not "definitely".

And in the next paragraph the "definition" encompassing a continuum of features and not a definite set is further clarified.

My point was that "X is missing" => "this is not an IDE" is not true for this reason.

> I'm sorry, but what _is_ the difference between an editor and an IDE for _you_?

For me an IDE "knows" about other files I have open and their relationship with the one I'm editing (usually a "project") and it _i_ntegrates external tools/programs.

An editor does not. It just lets me edit a file. Maybe it has syntax highlighting or folding but everything it offers is based on that file. A good example is SciTE which was my go-to for years.

In an editor you can't right click on some type in the current file and choose "Go to definition" if that definition is another file.

Of course there is a continuum. For example, running an external command is something many editors offer. And if your file is of a certain type they may even guess what the (build) command may be.

When you have non-local (=outside the file you're editing) functionality and some integration with external tools I'd wager you're using an IDE of some sort.

Then you can argue if that IDE ticks enough of those boxes defining your needs, fair enough. But you can't say something isn't an IDE because it is not an IDE for you. ;)

P.S. non-negotiables for me are mostly around that VCS integration. But I acknowledge that other people may not have this need (are fine using the command line for this only). But that only means I would not use an IDE that lacks those; I would not therefore say it isn't an IDE.

[1] https://en.wikipedia.org/wiki/Integrated_development_environ...

ReleaseCandidat

2 hours ago

> For me an IDE "knows" about other files I have open and their relationship with the one I'm editing (usually a "project") and it _i_ntegrates external tools/programs.

With that definition any usable editor and vim-likes ;) is an IDE. I can live with that (that Zed is an editor comparable to them) too.

squarefoot

3 hours ago

> People when a piece of software is source-available but not strictly OSS: outrage

Also people who in some contexts could be infinitely more productive with their favorite editor by not being forced to work with an IDE. One thing is developing for the desktop where having a form editor becomes handy, therefore KDevelop or Lazarus make sense, but why in the world should one be forced to use that behemoth for a small set of .c or any other language files where a well thought makefile can rule them all? Do I have to install and configure vscode for a short source that would run on a microcontroller? Really? I see more and more projects requiring vscode, and that is not good if they don't actually need it (YMMV of course): turning a set of sources and their makefile in a IDE project isn't hard, doing the opposite is often a nightmare.

ilrwbwrkhv

10 hours ago

> The future of software development tooling that is being built is closed as fuck, and people seem to be okay with it because select components meet the OSI definition while missing the bigger picture.

This is such a huge problem and something that I have regularly commented on on Hacker News itself how the open source term is being applied so loosely especially by a bunch of VC funded companies who are further perpetrating this horrible horrible change in language and meaning and the ethos behind the open source movement.

YC itself is funding a bunch of these companies who claim to be open source but do not follow the ethos at all.

jillesvangurp

4 hours ago

The problem is not companies doing this but users and developers not caring or sharing your concerns. All this moralism about ethos and such is just not that relevant.

What matters is that software licenses are legal text documents. The only place where the interpretation of those texts matters is in a court room. I don't think there are a lot of court cases involving VS Code. MS tends to have their house in order on that front.

So, VS Code seems safe enough in the legal sense. Yes, it has some extensions that are not licensed as OSS or that are simply closed source. So what? If that bothers you, don't use those. Or better, fix it by creating some open source. Open source is not a right, it's a privilege that is granted to you at the discretion of the creators of that software. Not something that you can demand from them.

VS Code is a closed source product that includes lots of OSS components. So much that there's VS Codium a well, which is fully OSS. A lot of those OSS components are used in other products as well. And some of those things are fully open source. The value of the VS code ecosystem is that it enables this ecosystem of components and products to thrive.

virtualritz

5 hours ago

I switched to Zed a month ago and never opened VSCode since.

But I write 99% Rust so that's kind of a match made in heaven.

That said and though OT: I'd be curious what similar caveats may apply to that editor?

noisy_boy

4 hours ago

Does zed have vi keybindings? I searched the extensions page but didn't see any.

ReleaseCandidat

4 hours ago

It's not an extension.

   First-class modal editing via Vim bindings, including features like text objects and marks.
See the "Vim-friendly" button at https://zed.dev/, "Incredibly powerful out of the box" section.

TZubiri

10 hours ago

Coding in notepad or nano has been a great investment of my time.

I don't need to learn any of these tools or read about any drama, I just type letters into the screen and use my keyboard to move my pointer. That's it, if I need anything more complex to handle my codestring, I write code.

But I have never needed to run a search and replace of a variable, both notepad and nano can do that. If I need anything more complex I do it manually. Anyone that does some exercise or has had a physical job knows that doing something 26 times in a row is basic stuff of any worthwile endeavor.

offices

3 hours ago

>Anyone that ... has had a physical job knows that doing something 26 times in a row is basic stuff of any worthwile endeavor.

I have. There were an awful lot of electric tools doing things that used to require manual work. And they were used even the old guys who were fighting against their broken bodies to work for long enough be able to retire.

isoprophlex

9 hours ago

Maybe also set your font to bright green Comic Sans while you're at it..?

JoeOfTexas

10 hours ago

That just sounds painful if you work on large projects.

jamesfinlayson

8 hours ago

Yeah, early in my career I got by with gedit on Ubuntu but before too long a 700,000+ line PHP project with deep, deep inheritance trees showed up and I very much embraced an IDE.

TZubiri

7 hours ago

Would running a command line debugger be too different from your approach.

I would consider bothering with some static analysis tool, but definitely not with php or other runtime heavy languages.

__MatrixMan__

9 hours ago

Then again, maybe large projects are a bad idea.

tobyhinloopen

8 hours ago

Proudly written on a device run by a huge collection of huge projects

broodbucket

8 hours ago

They tend to have this nasty habit of running the entire world, though.

TZubiri

7 hours ago

Rarely, it's mostly small projects, but many many many of them.

poincaredisk

6 hours ago

I love your extreme position. I don't believe it could work for any of the projects I work on, and even if it would it would be a huge time sink and it would hold me back a lot.

But I dream about a simpler world where I could just open nano on a dusted terminal in a basement, grab my printed copy of a OS manual, and code away.

bobim

8 hours ago

Use scite please, it's a match with your brutalist approach to development, but with some goodies. You won't regret.

TZubiri

7 hours ago

And corrupt the purity of my no-dependency development environment? No way.

This approach extends to the application environment as well, download nothing, use Operating System tools, code the rest.

Download nothing. Upload only.

bobim

an hour ago

It's not a download, it's a blessing. It's not corrupting, it's purifying. It's syntax highlighting for your strained eyes and block commenting for your sore fingers. It's peace. Take care.

vivzkestrel

10 hours ago

the only time i would ever consider doing that is when building a hello world application

locallost

6 hours ago

I think OSS is great, but it's not why I use VS Code. I use it because it solved my problem of having a capable editor that is not a monstrosity (e.g. Eclipse etc). There are others in this space, I guess most famously Sublime, but VS Code always felt the least in the way. There was Adobe Brackets before it that was similar, but somehow very slow and buggy.

The article makes valid points, if you are an OSS enthusiast. But at the end of the day, you always have the source code and you can always run your marketplace. This costs time and money, but if you believe in the idea you have to invest something and not depend on a mega corporation. If there are proprietary extensions that you can't have that sucks, but again someone can build an OSS one.

But overall I agree with the article, I just have no illusions they are doing anything out of belief in open source, and I'm fine with it because worst case I have other options.

btown

9 hours ago

The headline of this is a bit counterintuitive: many people, when they see the word "fracture," might imagine an ecosystem in which different offerings can coexist. Someone not reading the full article might even think this implies that VS Code might even "break apart" into many open-source forks, which would be a good thing.

But the word "fracture" is very much meant in a different context here, in that Microsoft does not allow its proprietary extensions to VS Code to be used legally by any third-party fork, and thus can leverage the unique and unstandardized behavior of e.g. its closed-source Pylance Python language server to ensure that no fork can replicate the experience (glitches-as-features and all) that practically all users of VS Code will expect, thus giving forks a Sisyphean challenge to overcome.

https://visualstudiomagazine.com/articles/2021/11/05/vscode-... is linked in the OP and discusses the surprise the community felt when VS Code transitioned to Pylance. I'd venture to say that most users of VS Code have no idea how much of their Python editing experience is run by closed-source logic.

On one hand, it's a bit frustrating that many people, myself included, switched to VS Code from other IDEs because "if the community sees a problem, the community has the tools to fix it and will do so." But that ceases to be true when the bulk of the IDE's power comes from closed-source language servers that Microsoft could feature-freeze (or deallocate resources from them) at any time, and still have ~years before any community language server could begin to replicate all the edge-case behaviors of their closed-source extensions and gain notoriety as a better alternative to Microsoft's defaults.

Is this a bad status quo, though? Microsoft's invested incredible resources in a stellar user experience to date, and might not have done so if it didn't have this strategy in play - a strategy that ensures that no fork will ever be able to capture developer mindshare, and that ensures that the larger Microsoft ecosystem of services will never be disadvantaged or de-promoted by such a fork. As long as leadership desires to continue making this advantage larger and larger, and have Microsoft developers dogfood their own IDE, and thus continue to invest in their language servers, most users will benefit. And sure, some of us will need to keep typing "# type: ignore" into our codebases to work around a Pylance bug that nobody can see the code to submit a PR to fix... but we gain so much in return for that inflexibility. I'm more interested in how my IDE helps me to make my own visions into reality, than in the purity of whether it can truly be called "open source."

dualogy

7 hours ago

> the bulk of the IDE's power comes from closed-source language servers

Not sure that's so very true for most langs / stacks other than Python. Go LSP & vscode extension is Go-owned, C++ you have clang LSP+ext and can really skip MS' offering(s) there. TypeScript LSP+ext is most likely OSS (dunno) or else MS-owned anyway; dotnet same. Niche langs own their LSP+exts anyway. The builtin HTML / CSS stuff is bare-bones IIRC, if there aren't richer OSS alternatives out there yet there sooner-or-later will be. Python, I wouldn't know, but let's face it, if a lang is a big FOSS project it can and will mobilize their own owned and ever-more-excellent LSP + ext if and when necessary / desirable — and if it's niche and small-scale, MS won't anyway, proprietary or not.

yazzku

10 hours ago

Nothing should be built with a Microsoft product as its foundation. It's not even a mystery how such endeavours end.

TZubiri

10 hours ago

Say what you want about microsoft, but it protects its developers by making sure they get paid, and it also does so for third party developers who target Microsoft.

I'd rather get paid than build towards an ideal bunny world of free as in free beer software.

developers developers developers

sham1

10 hours ago

I feel that people rather care about the free as in free speech world, rather than the free as in free beer world.

Plus, for the former you can still get paid. You don't need proprietary software for that.

TZubiri

7 hours ago

There's a bait and switch. For users free software is about not having a cost associated, Wikipedia, Wordpress, Google and Youtube, Whatsapp, ChatGpt, they all compete in the same category of software that doesn't have a cost.

Now for developers, they are recruited to build software under the guise of freedom, while their users care not about the men who die for the cause, and only appreciate the free stuff.

The argument that you can still get paid developing free software is obtuse. Source code is a very valuable tool to protect intellectual property (which is a recognized legal asset despite what stallman would like to be the case). If you sacrificie your source code advantage by making it public (which is a requisite for free software, put down your "Free software isn't open source" paragraph gun), then you give away most of your capacity to make money out of your skill. Furthermore, open source development and closed source development are two very different skillsets, so you kind of get locked in to a worse paid form of software (with the exception of the top 0.01% of developers who might net evangelizing positions at actual proprietary companies like Guido Van)

golergka

9 hours ago

As a whole section of tech sector that builds a lot of useful tools and products exclusively on Microsoft stack? I understand that Windows Server, MS SQL Server and ASP .Net folks are less represented in the HN crowd, but pretending that most of them regret their tech stack decisions is absurd.

kaushikc

7 hours ago

Old ways die harder

Paul Maritz also explained to Intel representatives that Microsoft’s response to the browser threat was to “embrace, extend, extinguish”; in other words, Microsoft planned to “embrace” existing Internet standards, “extend” them in incompatible ways, and thereby “extinguish” competitors.

https://www.justice.gov/atr/file/705216/dl

Pannoniae

10 hours ago

People when a piece of software is source-available but not strictly OSS: outrage

People when Microsoft pulls this trick (core repo OSS, most useful things around it are full of DRM and legal traps): silence

The hypocrisy is really astounding and in a way, MS has managed to pacify even the strongest FOSS advocates by offering something which looks like OSS but it actually isn't. This is on par with claiming that a repo is GPL but the build API keys are not. (Yes, this also happened elsewhere, and not even in a corporate project at all!)

The Open Source Definition is hilariously unfit for purpose in 2024 because it allows shenanigans like this.

If you enjoy a rabbithole, look at how much DRM there is in Pylance (another extension that MS has locked down): https://github.com/VSCodium/vscodium/discussions/1641

The short summary is that MS uses multiple, constantly changing methods of DRM to make it impossible for people to patch out the "only official VSCode" check from the Pylance extension. This is very clearly malicious.

morgante

6 hours ago

"Source-available but not strictly OSS" is, in most cases, not really giving anything of value to the community. You are not free to use it in building your own solutions. At best, it allows easier collaboration with customers.

Open core absolutely is open source. There's a clear and valuable open source core that others can build on to build their own products.

This isn't just hypothetical. As far as I know, no source-available license allows you to actually use it to build your own product. While VS Code has many other products built on the core (including products that lawyers have reviewed closely for compliance).

johannes1234321

4 hours ago

> Open core absolutely is open source. There's a clear and valuable open source core that others can build on to build their own products.

Depending on where the line is drawn. How functional the "core" in a real life scenario is. Often companies use some "enterprise security" features as closed thing, like saml/oauth/... where one could argue those should be default state of things these days.

madeofpalk

4 hours ago

vscode is seemingly on the right side of the line, considering all the places where monaco and oss vscode has been used.

xigoi

3 hours ago

A program that allows me to freely use and modify it as long as I’m not a multi-billion-dollar corporation is much more useful to me than a program which allows anyone to use and modify a part of it.

re-thc

6 hours ago

> You are not free to use it in building your own solutions

Tell that to the LLMs.

notpushkin

5 hours ago

With licenses like Elastic I agree 100%, but what about delayed licenses like BUSL or FSL?

bonzini

5 hours ago

There are several complications; see here: https://lwn.net/Articles/984249/.

For example, if the copyright holder applies a security fix to an old version that had "expired" and is now open source, will that cause old version to revert to source-available? Does any security fix, even the simplest one, require clean room reverse engineering on part of the community? Unless these questions are answered clearly by the copyright holder, BUSL/FSL are not really usable as open source even after the expiration date.

notpushkin

4 hours ago

> For example, if the copyright holder applies a security fix to an old version that had "expired" and is now open source, will that cause old version to revert to source-available?

Yeah, it’s tricky. By default, I think it does go back to source-available, but I would trust the vendor to explicitly release the fix as open source instead. Of course, it should be addressed in future versions of such licenses, and in the meanwhile vendors should promise to not hold security updates out.

It’s not something exclusive to delayed licenses though: vendor of a permissively licensed software can make a security fix under a proprietary license. They don’t do this because it would be a dick move and the community will fork the software, but this is a possibility.

immibis

3 hours ago

Never "trust" a vendor to do something in your best interest for free. That's like trusting your landlord not to raise your rent.

wiseowise

6 hours ago

> If you enjoy a rabbithole, look at how much DRM there is in Pylance (another extension that MS has locked down): https://github.com/VSCodium/vscodium/discussions/1641

The funny thing is that I’ll never understand why it’s not open source and why its license prohibits its use in VSCodium. Pylance is good, but not that good. Certainly not on a level of PyCharm. What incentive do they have to keep it secret except being evil?

devjab

4 hours ago

VSCode is build to sell Azure and other Microsoft services, which they won’t if you use VSCodium. To a lot of people this will probably be less obvious than it is to anyone working in a Microsoft heavy enterprise organisation. The VSCode extensions integrate incredibly well with the Microsoft infrastructure you already have when you’re tied into Azure and the Microsoft AI services. It also ties in rather well with both Azure DevOps and GitHub, which are other services you’re then likely to purchase.

I don’t mean this as a negative thing as such. It’s just Microsoft being better at selling products to enterprise organisations than anyone else. One of the reasons Azure has grown from around 10% to 25% of the global market share during the previous past 5-10 years while AWS has actually lost its position is simply sales. When AWS first entered Europe they were a lot like Google Cloud, in that even if you were a municipality you would end up in an automated support loop. Then Azure came along and sold the same Microsoft support as they’ve always done, which is basically the best IT business partner you can have as an enterprise organisation, and naturally they won. It’s not like Amazon didn’t notice, a few months after Azure really rolled out we suddenly had an AWS account manager and direct phone support. But by then the ship had sort of sailed because of how Microsoft simply offers great value. Teams is another good example, it was a worse communications platform than what we had at the time, but it was “free” because it was attached to every user license we had, including the cheap educational ones. Almost nobody in non-tech enterprise will spend money on something they get for free, even if the free product takes years to become as good.

VSCode is the same. We pay for co-pilot and we pay for a lot of the Azure integrations, because why wouldn’t we? In the giant IT budget heading to Microsoft they are tiny costs which are in the “services” category in the excel sheet that heads for the budget. It is tiny, but when you consider just how many EU enterprise organisations buy these services it’ll amount to millions and for some services billions of revenue for Microsoft.

A good way to think of the “new” Microsoft strategy is similar to how cartoons are used to sell toys. You can watch Lego Dreamzzz for free on YouTube because Lego knows it means a lot of people are going to buy their Dreamzzz sets. It’s the same thing with VSCode. On top of that, they’re winning the familiarity game. When you hire a new developer, they’ll want to use what they know, which for many people is VSCode.

exceptione

3 hours ago

Agree with your post, but this gist still doesn´t make much sense to me:

> VSCode is build to sell Azure and other Microsoft services, which they won’t if you use VSCodium

If corporate has bought into MS, they will use Azure services anyway. So for MS it would not matter if vscodium also integrates well with Azure or has a good .net core debugger, their customers will still bring the whole IT budget to them.

Because you are spot on. Corporate buys the whole MS store, only walk the road that MS marketing has blessed and it happily walks into the Azure trap. They outsource IT strategy and planning to MS anyway, and MS names it "Azure".

poincaredisk

6 hours ago

>What incentive do they have to keep it secret except being evil?

Money. Which is OK. Developers need salaries. They need to justify the department budget to bean counters and sales internally. The company you work for is most likely not a charity too.

If you want to strictly use free software (as I do), VsCodium is great for everything I need.

wiseowise

4 hours ago

Ok, I’ll rephrase: how do they make money with Pylance?

lozenge

4 hours ago

You can't use Gitpod, Theia IDE, etc with Pylance. Or GitHub Copilot. Or Live Share or numerous other VSCode extensions.

The idea is people start a project in VS Code, need to scale up to a reproducible dev environment for multiple users, and follow ads in VSCode to GitHub Codespaces, which charges by the hour for VMs. Now you're locked into that, you're locked into GitHub as well, and they can cross sell you GitHub Actions, GitHub Advanced Security &etc.

Therefore, Pyright is almost the minimum needed to add type checking to your CI process.

Edit: to clarify, not only is Codespaces advertised in VS Code, it also uses private APIs so no competitor can publish an extension which replicates this functionality on the VSCode marketplace.

exceptione

3 hours ago

Like I wrote here [0], corporate has an azure subscription. All the companies code repositories already live there, including build automation. A capable vscodium isn´t going to eat into Azure baseline.

I don´t think MS is after solo hobby devs. For startups they have other incentives to lure them into their ecosystem, like free Azure credits.

And that is why open source projects on github are free too. Because the paying organizations depend on the free software ecosystem, build by volunteers in their free time. MS wants control [1] about that nonetheless, because not having that is a risk to their baseline

____

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

1. That is not necessarily harming libre software per se, but keep in mind that MS is only interested into OSS as long as their commercial customers depend on it.

poincaredisk

4 hours ago

They make money with VsCode (by forced, or at least hard to disable, telemetry, ads [1], and probably many other subtle things. Plenty of ways to monetize developer eyeballs). Pylance is just a vehicle to encourage people to use proprietary VsCode instead of open forks like VsCodium.

[1] https://github.com/microsoft/vscode/issues/60989

maxloh

4 hours ago

> The funny thing is that I’ll never understand why it’s not open source and why its license prohibits its use in VSCodium.

And also the fact that Pyright, the underlying library that powers Pylance, is open source. Microsoft even has a mostly workable demo extension built from it, which is fully open source, published in their marketplace, and receives regular updates.

rectang

9 hours ago

Hmm.

Source Available is fine by me so long as it isn't being misrepresented as Open Source in an attempt to sponge off of the goodwill generated by Open Source communities. So I'm not feeling the "outrage".

And I spent a good portion of my open source advocacy activities on license compliance at the ASF, helping projects to ensure that even with all the bundled dependencies the aggregate licensing of the distributed artifacts complied with the terms of the Apache License Version 2.0. So I'm not feeling that "silence" either.

What I'm feeling is "hypocrisy" being projected onto a straw man by someone who's got an axe to grind with OSI and the Open Source Definition.

Pannoniae

9 hours ago

I concede the last part, it is slightly a soapbox from my part about the OSI. However, it's not really a strawman because these issues are very much linked together. The definition itself is very strict yet not comprehensive - false positives and false negatives are both common.

The sentiment that "VSCode is OSI-compliant so it's morally okay to support it" is very common, and it's substantially derived from the OSI definition. I do not think that it's an irrelevant issue or that it would be misrepresenting the definition.

Is it really free (as in freedom) software when it contains DRM? Is it really open source when critical extensions are unusable if you build the software for yourself? It might meet the definition strictly by the words but in my view, this is not much better than TiVo-isation (when the license is adhered to but the user can't effectively use a modified version) or other shady practices.

skybrian

9 hours ago

No moral qualms here. There are large pieces of it that are useful without VS Code (for example, the Monaco editor and the language server protocol). Not to mention al the use people get out of it for free. It seems like the good well outweighs the bad.

Pannoniae

9 hours ago

>It seems like the good well outweighs the bad.

Oh, I definitely agree. While I don't use the editor (mainly because I prefer full IDEs and not glorified text editors personally) I agree that holistically, the existence of VSC is a net positive to the programming community. My argument comes from a moral perspective - even though the good outweighs the bad, the bad parts are really scummy and need more awareness.

Like, my perspective is not utilitarian, it comes from a deontological point of view. I see people and companies get regularly flamed (or even harassed/intimidated) for much smaller things such as the crime of creating their non-OSI-compliant licenses and various related things. In contrast to that, the VS Code ecosystem is much more proprietary, grants much less practical freedoms and operates from a way less clean moral background than any of these projects. Yet, many people are willing to excuse this because Microsoft has figured out a way to implement vendor lock-in without breaching any of the four freedoms in techicality. To me, this is way worse than someone saying "no we won't let you use our software for anything"...

I am also not a fan of the LSP (good arguments can be found in https://www.michaelpj.com/blog/2024/09/03/lsp-good-bad-ugly....) but that's another topic :)

rectang

9 hours ago

> crime of creating their non-OSI-compliant licenses

Just don't call it "Open Source" and you won't get nearly as many complaints.

The big problem arises when somebody tries to leech off of the goodwill built up by Open Source communities and give their Source Available proprietary offering some FOSS-juice. (Most often VC-backed companies who have failed to understand that "Open Source is not a business model").

Pannoniae

8 hours ago

Well, this thread is getting off-topic real fast but okay, I'll reply :)

This argument would make sense from a strictly logical perspective if these were all the facts but the problem is that the expression "open source" wayyyy predates the OSI. It's been used in the 80s and the 90s on Usenet and in various places, and it simply meant software which was distributed in source code form. (as opposed to binary form) These pieces of software didn't even have a license file attached to them which was implicitly understood as public domain, or "do whatever the fuck you want to do with it".

The OSI simply appropriated the term to a narrower, stricter meaning which grants certain freedoms to the user and takes certain freedoms away from the creator. (Such as the freedom to change your mind in licensing! You can't practically change your mind since these are all non-revocable grants)

Furthermore, I don't really agree with the "leeching off the goodwill of OSS" framing. From a practical perspective as a user, having the source code available is way closer to OSI-licensed software than proprietary, closed-source software. You can view the code of the program, you can usually share your modifications with others (which is technically disallowed but the developers are very unlikely to care as long as you don't resell it), you can fix bugs in it, you can change functionality you don't like. A less-commonly talked about side effect is that if the source is available, the developers are less incentivised to provide user-hostile features, simply because they know that the users can patch it out relatively easily. There's many cases of rugpulls and forced functionality changes in software nowadays and almost all of it is possible because the user can't simply change the code to change the unwanted behaviour but must put up with it instead.

Naturally, this is a huge advantage compared to closed-source software. And if a company is willing to share its source code with its users, this should be lauded and encouraged! Obviously, the developers want some benefit from sharing the code, and one of the huge benefits is goodwill by customers. If the developers are not incentivised - but more commonly, harassed and mocked - to share their source but disallow competitors to steal it, in most cases, they will simply not share the code at all, leaving you, as a user, with way less freedom in practical terms.

Both you and the company can't really do anything with paper freedoms - you can't really use paper freedoms and the company can't survive if their licensing permits others to profit off their work while discouraging them of doing so. In this view, having more practical freedoms should be encouraged because it helps both the user in having more usable and more modifiable software, and helps the developers not to go bankrupt when Amazon decides to commoditise their offering or something.

EDIT: I conflated "developer" with "company" when writing this post. My apologies. Of course, everything above also applies to natural people who develop software too, not just corporations. I made this mistake because of the subject matter (Microsoft), sorry.

galaxyLogic

8 hours ago

> users can patch it out relatively easily.

This applies to the situation where the users are programmers. And I am a programmer. But I have never and probably never will modify any open-source applications I may be using. Too much work. Some library-code perhaps but not a full application (like VSCode).

Too easy to cause more errors rather than fixing them, creating a dependency to my own modifications. When it becomes time to upgrade to the next version of such OS software I will need to merge my modifications to the official app or library, and there is no guarantee that my modification would be compatible with the latest version of the said software. If it is not compatible that means either more work for me, or that I can't upgrade.

growse

5 hours ago

You specific having the time/resources is not the point. The point is that for users with the resources, they have the freedom to do this (either themselves or by hiring someone).

"I don't have the resources to exercise my freedoms" might be a problem for you, but it's not a problem caused by the freedom or the mechanic granting it.

rectang

9 hours ago

Of course the topic of spirit-vs-letter of Open Source is worth discussing. (I've personally meditated quite a lot on "open governance" vs. "open source", which is tangential but related).

But I think your portrayal of FOSS advocates at large as unconcerned about the spirit vs. letter of open source compliance is wildly inaccurate. If anything FOSS communities discuss such topics obsessively. (How many bits have been spilled onto the internet about TiVo-isation?)

Also, see pxc's excellent analysis elsethread for an illustration of the utility of the OSD: https://news.ycombinator.com/item?id=41693457

Pannoniae

9 hours ago

Thank you for your insight, I really appreciate it!

>If anything FOSS communities discuss such topics obsessively.

I don't see this the same way. Whenever topics like these come up, "quoting the OSI definition word-by-word" is a fairly a common moral argument. (See every Mongo/SSPL or ElasticSearch thread on this site and you'll see)

While there is definitely discussion of this, you are entirely right, there's a substantial proportion of people (I'm not claiming that it's necessarily the majority or anything - but influential enough to derail or block things) who do not take the spirit of the Free Software movement into account at all. At a glance, many arguments against these licenses don't come from a viewpoint that these licenses violate the spirit of Free Software - they just mechanically quote the OSI freedoms without any critical evaluation or moral reasoning.

pxc's analysis is great and morally I definitely agree with it. I don't think that most people agree with it though - which legitimises the VSCode "open-source" approach.

Karellen

5 hours ago

> MS has managed to pacify even the strongest FOSS advocates

I'm not sure that's the case. I think the strongest FOSS advocates gave up on Microsoft decades ago, and just don't engage with anything they put out. If MS release source-available stuff, strong FOSS advocates don't peep because they've not even looked at it. Why bother - it's Microsoft. If someone else does it, well, the FOSS advocates still had some hope that what they didn't wouldn't be terrible, so there's space for those hopes to be dashed.

tonyhart7

2 hours ago

Yeah, I think this is the problem that this (people) are, expecting another corporate entity to do the same thing is actually hilarious.

hey, we welcome microsoft to countribute to FOSS, but expecting to behave like another is laughable given the alternative

wvh

3 hours ago

Convenience and comfort are freedom's enemy. What is going wrong with the traditional editors and programming tools that (assumably) younger devs are going for those full-blown IDEs? Has the complexity of development with back/front/ops exploded so much that older editors are lagging behind modern needs?

As OSS old-timer, I gave VS Code a try, but it was too noisy and distracting, slow, and didn't allow enough control over what was being installed and when. To each their own of course, but I didn't see any particular reason why VS Code is much better or deserves to be more popular than other editors, and if any functionality is missing from other editors – especially those that are incorporating tree-sitter – then maybe we can just improve those alternatives?

Talking about modern editors, I like where Zed is headed, but that project also has some non-OSS components or aspirations if I remember right.

zozbot234

6 hours ago

> If you enjoy a rabbithole, look at how much DRM there is in Pylance

So just don't use it? The linked discussion points to Basedpyright https://github.com/detachhead/basedpyright/ as the best free alternative right now (with some additional features around Python optional typechecking that aren't even in Pylance itself).

wiseowise

6 hours ago

Does this fix Jupyter too? As far as I know VSCodium Jupyter is broken, unless you use Pylance.

HelloNurse

an hour ago

What are the benefits of running Jupyter from VS Code rather than on its own? Isn't Jupyter the sort of thing that can only be made more fragile and complicated by IDE integration?

wiseowise

7 minutes ago

Sane editing experience to start with. And proper intellisense, etc.

alanbernstein

10 hours ago

Is this comment meant to apply generally to MS behavior? In my experience, MS faces some of the toughest judgment on anything related to OSS.

Pannoniae

10 hours ago

Absolutely, this is not just a random tangential comment! With a bit of searching, any time criticism of VSCode comes up, it's shrugged off with "it's OSS!". Even from people who use Linux, a substantial proportion of programmers bring out the OSS card to deflect criticism of these exploitative practices.

(Example here: https://www.reddit.com/r/linuxmasterrace/comments/v3n8w4/wou... but this sentiment is really ubiquitous)

injidup

7 hours ago

Exploitative! Please, the hyperbol is astounding. Microsoft makes something and gives part of it away and some of it not. How much of it did YOU build. The entitled generation and their whinings. You are free to take the MIT part of VSCode and fork it and do whatever you want with it. And the ither part you can use it according to license or don't use it. Bu you didnt invest 1000s of man years yourself to build these tools so you have no stake to whinge. You could also go back to using a terminal and a raw editor like VIM or NeoVim and also use gcc, clang gdb and/or other tools. Nobody forces you to use the ms build tool ecosystem unless you make a business decision that using those tools can help your business to make money.

egeozcan

6 hours ago

I'd like to kindly point out that the real issue here is that it claims to be open source, while the most important parts are not. We are not entitled to demand that entities make their software open source, but accusations of deception don't fall under the scope of entitlement.

jdiez17

6 hours ago

I don't think it's deceptive to have an MIT-licensed core editor (which is distributed by MS under a custom license) and proprietary extensions.

Like many OSS enthusiasts, I did some initial research on VSCode/VSCodium and decided to install the latter (similar to Chrome/Chromium). As I kept using it I discovered that some MS extensions would refuse to run on VSCodium without workarounds. At that point I was fully aware of the license situation and still decided to switch to VSCode for convenience.

My point is that most software developers are capable of understanding how VSCode and its "useful extensions" are licensed; it's not a new concept. And from there, each individual can choose what tools they use according to their preferences.

injidup

5 hours ago

There is no claim anywhere that the entire product is open source. This is made up hyperbol.

On the vscode landing page they say. "built on open source" with a link to where you can clearly read the license. The ONLY thing that is important is the licence. This clarifies that parts of the product are not open source. At this point you can either use the product or not use the product. But as YOU didn't build it or pay for it you have no place to complain. This is the same sense of entitlement that causes people to harass open source maintainers to fix a bug or implement some feature. People want everything for free and are outraged when they find that the world is not so. Yes it is convenient to go to the package manager and find just what you were looking for without having to do any work or commit any contribution but this is a privilege and not a right. It's amazing that any open source exists at all and where it exists we should say thankyou and where it doesn't either button up and pay or build it yourself.

egeozcan

5 hours ago

Vast majority of software we use are based on open-source. I'd argue that stating "built on open source" is sort of paltering.

> But as YOU didn't build it or pay for it you have no place to complain.

I disagree with this point. You're conflating legitimate criticism or discussion about the model (which many have differing opinions on) with the harassment of open-source maintainers - something I strongly oppose as well. Could it be that past negative experiences have made you overly defensive? If so, I understand, but I believe it's a bit misplaced in this context.

growse

6 hours ago

"most important" is entirely subjective.

I'd rather "parts truly open and parts proprietary", than "whole not open but pretending to be".

egeozcan

5 hours ago

You're right, it's a subjective matter. While your point is valid, I'd also add that the tool's widespread popularity is largely due to the high-quality extensions, many of which are not open source.

growse

2 hours ago

Maybe that's true, but this isn't a problem with open source. There's lots of popular proprietary software.

wiseowise

6 hours ago

Talk about hyperbole, lol.

You make it sound like poor and good hearted Microsoft is being abused by evil ungrateful kids. It’s time this crappy company gives something back for decades of evil that they’ve brought on OSS community.

exceptione

4 hours ago

MS is a bit weird. After realizing that most competent developers had left the MS ecosystem, they went for a Zeitenwende. But they did only for 90%.

I wonder to what extent this halfheartedness should be ascribed to the MS org chart or to reasoning like "we should prevent a competent competitor to run away with our tools".

In the mean time, there is a capable replacement named Theia [0] with none of the strings attached. We as a whole would do best to move to that one. [1]

___

0. https://theia-ide.org/#theiaide

1. That is to say: for vscode kind of experience. Native IDE's are unbeatable imho.

ReleaseCandidat

4 hours ago

To be honest, Theia (the last beta I tried some months ago) is everything people always complain about Electron apps: slow as molasses - way worse than e.g. Atom (or Pulse) (which VS Code actually isn't).

MangoCoffee

8 hours ago

The editor is open-source. If you want DRM trap to be open-source, create them yourself. VSCode is a text editor at its core, and you're free to use it as you see fit.

The blog read like the author is crying that Microsoft is not giving away extension for Gitpod to make money

kuschku

7 hours ago

This behaviour has a specific name.

Microsoft is embracing open source, gaining market share with proprietary extensions, and then those to extinguish any truly OSS forks.

Embrace, extend, extinguish. Once again.

bogantech

5 hours ago

It's a bit of a reach to invoke EEE for a piece of software they wrote in the first place.

Of course it's a post relating to MS so there will be at least one such comment

kuschku

3 hours ago

Back during the early 2000s, when OpenOffice threatened to eat Microsoft's lunch, they created the new .docx/.pptx/.xlsx Office Open XML file formats and got ISO to standardize them as ISO 29500-1.

The standard isn't detailed enough to create your own Office implementation. Not even Microsoft Office implements it correctly. Microsoft only created the standard so they could claim they were as open as OpenOffice, to prevent OpenOffice from becoming the standard, to make sure third parties would continue building upon Microsoft Office, and to ensure third party implementations would always be slightly worse.

As leaked emails later showed, even Microsoft employees used the Embrace Extend Extinguish term to describe this project.

I'm not sure why you think the VSCode situation is so different.

BoorishBears

5 hours ago

That's not how that term ever worked, but go off.

fabioz

5 hours ago

Yes, PyLance has a pretty strict license and makes it very clear it cannot be used in forks (and that's not really surprising and pretty standard I'd even say for a corporation such as Microsoft, it's like the current licenses saying this is open source but cannot be used by competitors, what's really surprising for me is that forks are choosing to ignore this):

> 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.

One thing I don't understand is how forks (I'm actually talking about Cursor which is one I'm actually evaluatinng) are getting away with scrapping all extensions from the VSCode marketplace... I even e-mailed them but had no official position on that. Maybe they have some separate contract with Microsoft -- they do have OpenAI backing, so, maybe they have some bridge there, does anyone know? Or maybe Microsoft is just waiting to see how they themselves can profit for it and so is taking no legal action at this point?

-- disclaimer: I'm on the author of PyDev and I do have my own Python extension that I publish to VSCode and OpenVSX (https://marketplace.visualstudio.com/items?itemName=fabioz.v...)... it's completely Open Source in Eclipse, but for VSCode it's currently commercial. I discovered that's a nice way to have less people requesting support, even though 99% of it is still Open Source ;)

poincaredisk

6 hours ago

>The short summary is that MS uses multiple, constantly changing methods of DRM to make it impossible for people to patch out the "only official VSCode" check from the Pylance extension. This is very clearly malicious.

Huh? If anything, MS prevents people from shooting themselves in the foot and illegally installing a piece of software against the license terms.

You can use vscodium for free, it's great, you literally don't have access to a few MS extensions (with open alternatives, which you can support financially if you care).

wkat4242

8 hours ago

It's not really DRM. You can make most extensions work on codium by changing a few settings. It's just not officially supported.

I hate the way they don't open source the useful ones like the ssh debugging though

slimsag

8 hours ago

Its close in spirit to DRM: they enforce that if you are using their projects, it is under their legal terms.

Many of their VS Code extensions[0] have license terms which /prohibit/ them from being used in editors that are not Microsoft's VS Code editor, and Microsoft can issue cease-and-desist for violations of this, as well as 'open source forks of VS Code' using their marketplace services.

Microsoft also has a pattern they follow where they publish repositories on GitHub to proclaim they are open source, while actually distributing proprietary binary blobs in them that are fundamental core parts of functionality to the codebase[2][3][4]

[0] https://github.com/microsoft/vscode-cpptools/issues/6388#iss...

[1] https://github.com/microsoft/vscode-cpptools/issues/5784

[2] https://github.com/microsoft/win32metadata/issues/766

[3] https://devlog.hexops.com/2024/building-the-directx-shader-c...

[4] https://github.com/microsoft/Azure-Kinect-Sensor-SDK/issues/...

Pannoniae

8 hours ago

They have integrity checks and obfuscated code. That's not just changing a few settings. See the issue I linked about Pylance, for example...

throwup238

8 hours ago

> It's just not officially supported.

Isn't it worse than that? They're not just unsupported, I thought it was against their EULA to use the MS extensions with anything but the official VSCode.

It doesn't matter to the average person using it for personal projects but it's a liability to businesses. It wouldn't matter most of the time but this is Microsoft we're talking about.

wkat4242

6 hours ago

Meh, for me personally I don't care about EULAs, as you say.

And for business, they will use the official VS Code anyway. My own employer is up to their armpits in Satya's ass. Over the last 8 years the MS sales goons have managed to get us to throw out every third party solution they had an option for. We even have to use Edge now.

wiseowise

6 hours ago

> And for business, they will use the official VS Code anyway.

Our company only has VSCodium in their repos.

rowanG077

8 hours ago

I'm using vs codium. What most useful things am I missing? I have not found anything missing. Now I'm really curious.

ReleaseCandidat

7 hours ago

staunton

6 hours ago

Remote ssh works on vs-codium. (With a slightly different extension).

poincaredisk

6 hours ago

Same, I wonder if the people complaining have experience with vscodium (to know the difference). Everything I want works with vscodium and I never had any problems with it. The only thing I know doesn't work are dev containers, but I never personally wanted to use them.

"most useful things around it are full of DRM and legal traps" is a HUGE overstatement. Vscodium is great and have everything anyone can want (except, maybe, devcontainers)

troupo

5 hours ago

> People when a piece of software is source-available but not strictly OSS: outrage

There's no longer outrage, since this has become the norm. Biggest most obvious example: Chrome.

bsder

7 hours ago

> The short summary is that MS uses multiple, constantly changing methods of DRM to make it impossible for people to patch out the "only official VSCode" check from the Pylance extension. This is very clearly malicious.

Huh? There's been lots of outrage about this. Repeatedly.

However, the problem is that nobody with any resource is willing to step up and replace the Microsoft closed source plugins. And developers aren't willing to put themselves out to use non-encumbered extensions.

It's basically a big "Put Up or Shut Up" from Microsoft, and nobody is willing to "put up" so we wind up with "shut up".

ocdtrekkie

8 hours ago

It's really important to realize that some 70% of the OSI's funding comes from proprietary services houses (Amazon, Microsoft, and Google mostly and then like... Comcast and IBM), and so nobody at the OSI legitimately cares about openness. The reason SSPL is not OSI approved is because Amazon pays an entire OSI staff salary a year and the SSPL costs Amazon money.

rectang

8 hours ago

> The reason SSPL is not OSI approved is because Amazon pays an entire OSI staff salary a year and the SSPL costs Amazon money.

This is slanderous nonsense. SSPL is not OSI-approved because field-of-use restrictions are not compatible with the Open Source Definition, clause 6.

https://opensource.org/osd#fields-of-endeavor

> 6. No Discrimination Against Fields of Endeavor

> The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

Here's the decision:

https://web.archive.org/web/20230411163802/https://lists.ope...

ocdtrekkie

8 hours ago

I've read the arguments, but those arguments apply equally to the AGPL, which would not be approved by the OSI today. SSPL has no field of use restrictions, it simply has restrictions that require viral open sourcing.

And there's nothing slanderous about pointing out that, yeah, Amazon pays out a significant portion of the OSI's entire operating budget. (edit: Actually FWIW, Amazon is apparently not currently on the Sponsors page... maybe they didn't renew this year. But they used to be at the top.)

poincaredisk

6 hours ago

>I've read the arguments, but those arguments apply equally to the AGPL

How? You can use AGPL code to develop nuclear weapons and murder drones, as long as you publish the code.

ocdtrekkie

6 hours ago

You can also use SSPL code to develop nuclear weapons and murder drones, as long as you publish the code! Additionally, you can also use SSPL code in a business offering that code as a service... as long as you publish all of the code for that service!

poincaredisk

5 hours ago

Oh. I've read more about SSPL and I actually like it. I don't see how it's not open source. I guess OSI, Red Hat and Debian know better than me, I'll have to check their reasoning. Though you are right that I don't see how it's fundamentally different from AGPL.

Thanks for correcting me!

>Specifically, this is discriminatory against users of the software that use proprietary software within their stack,

(From wikipedia) That's... the point.

rectang

5 hours ago

The difference between the AGPL and the SSPL is that while both relate to software which the end user interacts with over a network, the AGPL places no restrictions on what the software is used for, while the SSPL encumbers commercial SAAS.

This is a field of use restriction, and it is indeed the point of the SSPL! But field of use restrictions are disallowed under OSI's Open Source Definition — because it's critically important that Open Source software must be usable for any purpose to avoid uncertainty and exclusion, as explained elsethread [1].

[1] https://news.ycombinator.com/item?id=41691577#41694133

Pannoniae

8 hours ago

ladies and gentlemen, this is a perfect example of the word-by-word interpretation I was talking about in another subthread:) The SSPL is a perfectly sensible license, the only thing it does wrong is to stop SaaS exploitation of software. As the GP said, the OSI is mostly funded by hyperscalers, it's in their vested interests to keep the status quo.

Field-of-use restrictions are certainly a useful tool in fighting open source exploitation, and the blanket disallowal of them just plays into the hands of Amazon and whatnot, allowing them to massively profit off everyone else's work.

Also, note that the OSI doesn't even follow their own definition by the letter! I quote,

  Section 13 is very obviously intended to be a restriction against the field of endeavor of offering the software as a service, and thus not in compliance with OSD #6. I don't see how you can change this while maintaining the intent of your license, which is indeed to specifically encumber vendors other than MongoDB who engage in that field of endeavor.
So they are basically arguing that a restriction in the license is intended to stop hyperscalers, not that it actually restricts the usage of software in any field! The conflict of interest is blatantly obvious here...

rectang

7 hours ago

> So they are basically arguing that a restriction in the license is intended to stop hyperscalers, not that it actually restricts the usage of software in any field!

Stopping hyperscalers is restricting usage in a field.

The primary reason that field-of-use restrictions are part of the OSD is to avoid excluding anyone from the community, and also to avoid fights about whether anyone belongs. Historically, military uses were often excluded in certain licenses — but just what constituted military use could be very hard to determine and potentially could result in endless litigation. Dual-use technology, anyone?

The same reasoning applies to hyperscaling. If you allow any restrictions on field of use in "Open Source", then a fundamental guarantee that countless users of OSS have been counting on goes up in smoke. Before, it was software that anyone could use for any purpose. But now, everyone has to wonder, "am I actually allowed to use this Open Source Software"?

I firmly agree with these arguments, and I'm glad that the OSI continues to be intellectually and morally consistent in applying them — despite your asserting that they must be corrupt to do so.

xigoi

3 hours ago

Wouldn’t the GPL also violate this clause because you’re not allowed to use a GPL-licensed program for developing proprietary software?

froh

2 hours ago

the gcc very clearly states it can be used to create proprietary software. always has.

the same goes for anything LGPL licensed, but I'd be surprised if you count that as GPL ;-)

dangus

10 hours ago

I think the level of alarmism is way overblown especially from the author’s perspective coming from Gitpod.

There’s so much focus on how Microsoft has this huge advantage with VSCode and GitHub Codespaces as a cohesive product.

But I think that this entire cloud coding workstation space is rather niche in itself.

I think the average user of VSCode, VSCodium, or whatever other fork has full flexibility to not use Microsoft’s preferred extensions and solutions and customize their environment.

All this stuff about fracturing an ecosystem basically amounts to picking default extensions and I just don’t know if this is one of those “abuse of market power” things yet.

I mean, sure, it can be said that it’s bad how Microsoft is so large that it can single-handedly steer the course of a lot of development trends.

At the same time, I don’t think VSCode being such a good product was something that came out of Microsoft’s dominance. They had a lot of luck with that one, they had the right idea, people, and management at the right time. Microsoft makes plenty of software where their big company big dollar investment hasn’t made them a market leader and they have a laundry list of failures and technologies that are trending downward to show for it.

I would agree with another comment on this thread: it really does seem like a bunch of complaining from some cloud workspace competitors who want to get a free IDE for themselves that works perfectly.

kragen

10 hours ago

if your competitors can't sell your product, it isn't open source.

muppetman

7 hours ago

But you can sell Vscode if you want? Fork it like VSCodium and sell vsmoneycode. You can't sell all the addons, but this is a business model heaps of people use (open product, closed modules/addons)

greyman

2 hours ago

>But you can sell Vscode if you want? -> yes you technically can but in practice it's almost impossible to be competitive, since for several major languages the best extension isn't open source. Author called it a "fracture".

ocdtrekkie

8 hours ago

Fundamentally, this mindset and flaw in the definition is why open source can't prevail. Because open source is absolutely committed to being unsustainable.

kragen

3 hours ago

on the contrary; it's absolutely committed to not being dependent on a vendor, because being dependent on a vendor makes software unsustainable

re-thc

10 hours ago

> But I think that this entire cloud coding workstation space is rather niche in itself.

It's common / popular in certain enterprise circles, for "security" and audit reasons. No admin or most permissions on your computer. You get a specific VM with "controls". Anything required might be installed on request.

A locked down cloud hosted IDE might just be 1000% easier.

jamesfinlayson

8 hours ago

I've only seen it used for outsourced staff in big enterprises, but yeah - security and compliance.