zlacker

The Day AppGet Died

submitted by lostms+(OP) on 2020-05-27 23:09:10 | 1930 points 529 comments
[view article] [source] [go to bottom]

NOTE: showing posts with links only show all posts
11. pavlov+7b[view] [source] 2020-05-28 00:36:58
>>lostms+(OP)
The story reminds me of Andy Hertzfeld’s Switcher:

https://www.folklore.org/StoryView.py?project=Macintosh&stor...

The difference is that, in 1984, Bill Gates immediately offered $40k and Steve Jobs offered $100k for plugging a hole in their operating system.

In 2020, Microsoft just strings you along on vague promises while they simultaneously rip you off.

◧◩◪
19. na85+Oc[view] [source] [discussion] 2020-05-28 00:52:38
>>Wowfun+k8
By Eben Moglen's own admission[0], the GPL has never been successfully enforced in a court of law, even against criminal infringers.

It seems toothless to me. A relic from a byegone era when companies cared about ethical behavior.

[0] https://www.gnu.org/philosophy/enforcing-gpl.html

20. Revers+pd[view] [source] 2020-05-28 00:57:53
>>lostms+(OP)
Reminds me of this scene from Silicon Valley (HBO): https://www.youtube.com/watch?v=JlwwVuSUUfc
◧◩◪◨
32. colejo+Se[view] [source] [discussion] 2020-05-28 01:09:08
>>na85+Oc
The GPL has been used successfully in courts of law. It’s not common as most violators just open source when called out, or settle when sued, but it has worked before. A famous example is D-Link using the Linux kernel in their routers. After a lawsuit in Germany, D-Link had to release their changes.[0]

I don’t understand this idea that a license that the author willingly released his code under is unenforceable, but EULAs are?

[0]: https://web.archive.org/web/20141007073104/http://gpl-violat...

◧◩◪◨
44. ASalaz+mg[view] [source] [discussion] 2020-05-28 01:22:23
>>na85+Oc
Ahem https://www.gnu.org/philosophy/enforcing-gpl.html
72. kayone+Tk[view] [source] 2020-05-28 01:57:02
>>lostms+(OP)
Author here, Because it's sure to come up here is a comment I wrote on Reddit that clarifies somethings, I haven't updated the original article since I'm not sure what the etiquette for updating a highly shared article is.

------

Code being copied isn't an issue. I knew full well what it meant to release something opensource and I don't regret it one bit. What was copied with no credit is the foundation of the project. How it actually works. If I were the patenting type, this would be the thing you would patent. ps. I don't regret not patenting anything. And I don't mean the general concept of package/app managers, they have been done a hundred times. If you look at similar projects across OSes, Homebrew, Chocolaty, Scoop, ninite etc; you'll see they all do it in their own way. However, WinGet works pretty much identical to the way AppGet works. Do you want to know how Microsoft WinGet works? go read the article (https://keivan.io/appget-what-chocolatey-wasnt/) I wrote 2 years ago about how AppGet works.

I'm not even upset they copied me. To me, that's a validation of how sound my idea was. What upsets me is how no credit was given.

◧◩◪
74. ahelwe+5l[view] [source] [discussion] 2020-05-28 01:58:37
>>intern+og
Reminds me of: https://twitter.com/mxcl/status/608682016205344768?lang=en

How exactly could a PM interview process (which is just asking you to walk through a bunch of design scenarios) give a stronger hiring signal than having developed a product the company wanted to acqui-hire? Honestly somewhat insulting that they made him go through a full external interview loop. At most it should have been some informal chats of the sort you get when transferring teams internally.

◧◩◪◨
88. fabian+Bn[view] [source] [discussion] 2020-05-28 02:27:44
>>lostms+Jb
The P2P Foundation has some writings on licenses they label as "copyfair", "copyfarleft", and "copyjustright"

https://wiki.p2pfoundation.net/CopyFair_License

https://wiki.p2pfoundation.net/Copyfarleft

https://www.metamute.org/editorial/articles/copyfarleft-and-...

◧◩◪◨
134. ryukaf+Kt[view] [source] [discussion] 2020-05-28 03:38:13
>>na85+Oc
Note the date on that essay: it's from 2001. It has indeed come up in court in the last 19 years. For example:

https://wiki.fsfe.org/Migrated/GPL%20Enforcement%20Cases

◧◩◪◨⬒⬓⬔⧯
162. colejo+Pw[view] [source] [discussion] 2020-05-28 04:14:20
>>chii+Ov
https://youtube.com/watch?v=PaKIZ7gJlRU

He also has refused to release any of his projects under GPLv3 (or even “v2 or later”).

◧◩◪◨
169. nordsi+Gx[view] [source] [discussion] 2020-05-28 04:24:12
>>pavlov+Nf
> they are again in the Unix distribution business with WSL.

For anyone who doesn't get this reference:

https://en.wikipedia.org/wiki/Xenix

https://en.wikipedia.org/wiki/Windows_Services_for_UNIX

◧◩
172. Conan_+sy[view] [source] [discussion] 2020-05-28 04:32:54
>>benatk+ud
> GitHub

Pagure[1] is a good option here.

> TypeScript

You could just use JavaScript?

> npm

There aren't any at this time, as far as I know.

> Visual Studio Code (besides Atom)

Sublime Text[2] is a favorite of many, though I use Emacs[3].

[1]: https://pagure.io/pagure

[2]: https://www.sublimetext.com/

[3]: https://www.gnu.org/software/emacs/

◧◩◪
174. Conan_+By[view] [source] [discussion] 2020-05-28 04:36:19
>>donmcr+Xx
I like your list, though I would add Pagure[1] as an option for a GitHub alternative, simply because I like the "open data" principle also applied to project data. And extensibility is nice if you want to support custom workflows. :)

[1]: https://pagure.io/pagure

◧◩◪◨
185. waon+LA[view] [source] [discussion] 2020-05-28 05:03:37
>>alasda+sq
Not disagreeing with you, but I think it's better to make it a little bit more clear what exactly was copied. Reading the article mentioned in the OP, the main selling point for appget seems to be that the packages are written in yaml:

> Do you want to know how Microsoft WinGet works? go read the article (https://keivan.io/appget-what-chocolatey-wasnt/)

But that alone doesn't particularly strike me as a completely novel approach on its own. Looking at package definitions for firefox across various package managers, you can notice that they all look somewhat similar to some degree. Though one could argue that appget and winget looks more similar than others, I'm not sure this is wholesale copying without digging into more details. But again, I'm not trying to argue that it's not, and I also agree the OP should've received more credit.

appget: https://github.com/appget/appget.packages/blob/master/manife...

winget: https://github.com/microsoft/winget-pkgs/blob/master/manifes...

scoop: https://github.com/lukesampson/scoop-extras/blob/master/buck...

homebrew cask: https://github.com/Homebrew/homebrew-cask/blob/master/Casks/...

That being said, the fake interview process explained in the article is totally unacceptable and deserves some explanations from MS.

◧◩
204. fsloth+pC[view] [source] [discussion] 2020-05-28 05:24:10
>>kayone+Tk
Sorry for your shitty experience. Really reminds me of Robert Kearns who's windshield patent was stolen by big auto companies [0].

Robert patented it but still megacorps tried to screw him over because they thought they could. He did win but only after an exhausting trial that took years.

Really sucks when credit is not given where due.

[0] https://en.wikipedia.org/wiki/Robert_Kearns

205. perlge+tC[view] [source] 2020-05-28 05:24:44
>>lostms+(OP)
I'm somewhat reminded of https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis...

I know it wasn't the exact same playbook being used, but I think from the author's perspective, it very much feels like it.

209. caniba+uD[view] [source] 2020-05-28 05:33:00
>>lostms+(OP)
Keep your ear to the grindstone, bud...

https://youtu.be/OHSYWIAAY2o

◧◩
244. dmix+fO[view] [source] [discussion] 2020-05-28 07:14:04
>>kayone+Tk
Calling it "WinGet" was the real punch in the gut.

Does Microsoft select for assholes or something? There's a thousand other package manager names [1] in the wild and they chose that one.

So much for "developers, developers, developers"...

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

◧◩
252. ximeng+pQ[view] [source] [discussion] 2020-05-28 07:36:51
>>ijidak+KA
Hopefully they also weigh in the fact that screwing developers over is terrible publicity. Assume 100k developers see this and are slightly less inclined to trust MS in future, this bad publicity could easily cost them 1mn USD plus. A good will gesture of 100k USD at the start for consulting could have saved everyone a lot of trouble.

See https://news.ycombinator.com/item?id=23332123 elsewhere in this thread for an example of the consequences.

The cost of GitHub to MS was around 250 usd per user. If 4000 users leave that’s already a million USD.

269. nailer+VT[view] [source] 2020-05-28 08:07:26
>>lostms+(OP)
Dupe of https://news.ycombinator.com/item?id=23305068
◧◩◪◨
274. imhogu+tV[view] [source] [discussion] 2020-05-28 08:25:02
>>TAForO+lR
Wait! apt-get is not Microsoft's invention https://en.wikipedia.org/wiki/APT_(software)
311. UkiahS+071[view] [source] 2020-05-28 10:13:24
>>lostms+(OP)
Never forget, https://en.wikipedia.org/wiki/Stac_Electronics#Microsoft_law...
◧◩◪
324. wpietr+kb1[view] [source] [discussion] 2020-05-28 10:53:18
>>fsloth+pC
It reminds me even more of Stac Electronics: https://en.wikipedia.org/wiki/Stac_Electronics#Microsoft_law...

In 1990, they put out Stacker, which did transparent disk compression, effectively giving people twice as much disk space. It was a huge hit, so Microsoft called them up about an acquisition, entered discussion, and as part of the due dilligence process, even looked at the source code.

In 1993, Microsoft released their own version of Stacker as part of the OS. No thank you, no money for Stac, just a giant middle finger. Stac sued and eventually won some money, but it was never the same.

Everybody keeps telling me that Microsoft is different these days. About how they love open source now. And it's true that after decades of erosion of their primary monopolies, they can't get away with being as lazy and awful as they were in, say, the early IE era. But this suggests to me that deep down they haven't really changed.

◧◩◪◨⬒⬓
337. Erwin+7d1[view] [source] [discussion] 2020-05-28 11:11:56
>>mikekc+oY
This is the episode I could find: https://en.wikipedia.org/wiki/Morinaga_Milk_arsenic_poisonin...

Which was inadverted addition of arsenic specific to Morinaga in Japan, and not Nestle. However, the committe which managed the case and dragged it on was not created by the company but the Japanese government consisting of a newspaper publisher (??), a hospital director, 2 lawyers and a human rights lecturer.

So it seems like an insufficiently related market and lack of oversight made this drag on causing many deaths and even more people crippled by arsenic. One person was sentenced to 3 years in prison.

Compare with China who executed 2 people involved in the 2008 milk scandal and gave much harsher sentences to others. Although that scandal was deliberate rather than a cover up of bad practices.

340. chethi+Jd1[view] [source] 2020-05-28 11:17:06
>>lostms+(OP)
There is an issue created in winget GitHub page suggesting to donate appget -https://github.com/microsoft/winget-cli/issues/353
◧◩◪◨⬒
346. modern+Ye1[view] [source] [discussion] 2020-05-28 11:27:23
>>AsyncA+0e1
> Even naming it "Windows Subsystem for Linux" is an insult…

The developers of WSL have said* that was mostly a legal concern. Calling it “Linux Subsystem for Windows” (listing “Linux” first) has wider implications for copyright/licensing:

> Just who is allowed to call a product or service Linux, anyway?

> Linus Torvalds has an answer for that: Nobody. Not without his say-so.

> The term "Linux" is a trademark and Torvalds owns it. His assignee, an organization called the Linux Mark Institute (LMI), is empowered to collect licensing fees from companies and individuals who want to use the word commercially.

> - https://www.infoworld.com/article/2671387/linus-gets-tough-o...

*I think it was during a Microsoft Build 2020 Q&A with the WSL team, but I can't find the video on YouTube.

◧◩
347. ChrisM+1f1[view] [source] [discussion] 2020-05-28 11:28:44
>>ChrisM+Bb1
Here's something that I think was written in the early 1990s. Shows that the leopard hasn't changed its spots much: http://www.davar.net/HUMOR/STORIES/MS-CUISN.HTM
◧◩
389. bitlev+yp1[view] [source] [discussion] 2020-05-28 13:01:33
>>kayone+Tk
It would appear that you have been 'Sherlocked' (https://www.howtogeek.com/297651/what-does-it-mean-when-a-co...) but by Microsoft.

Looks like all the bigger companies are doing this now.

◧◩◪◨
397. hoytsc+Xr1[view] [source] [discussion] 2020-05-28 13:17:24
>>macspo+ch1
Saying that it’s just “a big company thing” is giving Microsoft a pass here. Look at their recent PR: wanting to embrace the developer community [1], their love of open source [2], etc. While AppGet may be an isolated story, I’m inclined to believe that MSFT is simply acting they way they’ve always have — by embracing, by extending, and by extinguishing.

1. https://arstechnica.com/information-technology/2017/05/micro...

2. https://www.theverge.com/2020/5/18/21262103/microsoft-open-s...

◧◩
400. rectan+ys1[view] [source] [discussion] 2020-05-28 13:22:33
>>x32n23+1p1
There is not, because that would not be compatible with one of the non-discrimination clauses of the Open Source Definition.

https://opensource.org/osd

> 5. No Discrimination Against Persons or Groups

◧◩◪◨⬒⬓⬔
410. teeker+fx1[view] [source] [discussion] 2020-05-28 13:49:58
>>knolax+jf1
Termux is a terminal emulator, WSL is a subsystem. Did you try [0]? And WSL2?

It's pretty compelling, I predict they will pull in a lot of Apple (who use it for the terminal) devs and make a lot of Windows first devs very happy. And there are a lot.

Btw, am I downvoted because my original comment in not constructive or do people not agree with me?

[0] https://www.microsoft.com/en-us/p/windows-terminal/9n0dx20hk...

◧◩◪◨
420. aporet+1D1[view] [source] [discussion] 2020-05-28 14:19:35
>>mumble+rs1
That’s not really what “banality of evil” means: https://en.wikipedia.org/wiki/Eichmann_in_Jerusalem
◧◩
423. sergey+NE1[view] [source] [discussion] 2020-05-28 14:27:00
>>kayone+Tk
It is a sad day. But let my congratulate you.

You and countless other made impossible. Created community Microsoft could not ignore. It had to adopt, it had to change. Scary beast really. It does not know how to work with, it knows how to ride.

It took path you've paved. I see it - there is no dependency resolution, no make dependencies - as simple as possible so people can participate. More like Flatpack than apt.

Microsoft does not like fragmentation. There would be a big pull of users. It's interesting how they are going to fight mallware, spyware, ransomware. Issues like chrome Stylish and npm leftpad. With all respect it is not clear you could manage it, there is quite a list in the queue [0].

Please don't despair, you've made gift to community not Microsoft.

[0] https://github.com/appget/appget.packages/pulls

◧◩◪◨⬒⬓
435. macspo+PN1[view] [source] [discussion] 2020-05-28 15:09:08
>>bcrosb+zy1
Yeah, that's exactly what I had in mind. Microsoft had a very specific modus operandi in their bad old days, that was different then what they did with AppGet. Here they basically acted like a regular big company trampling over a small company. You'd be hard-pressed to find any big company that hasn't done that. I remember, for example, when Google created 'Go' lang, they didn't care that there was an existing programming language named 'Go!'[1]

[1]https://en.wikipedia.org/wiki/Go!_(programming_language)#Con...

◧◩◪◨⬒
439. bartre+aP1[view] [source] [discussion] 2020-05-28 15:15:40
>>aporet+1D1
Indeed. Perhaps Hanlon's Razor is a better parallel for this particular situation: https://en.wikipedia.org/wiki/Hanlon%27s_razor

I've also heard it expressed as "Never attribute to malice that which is adequately explained by incompetence".

Although in this case I'm not sure organisational incompetence is necessarily a good enough explanation given there are ex-Microsofters in the discussion suggesting that people would actively have been weighing up whether or not to screw over Keivan. (Obviously I have no idea how likely that is to be true either.)

442. jgeert+rQ1[view] [source] 2020-05-28 15:22:32
>>lostms+(OP)
Went to the github Microsoft package and came across this issue, posted by one of you.

https://github.com/microsoft/winget-cli/issues/353

◧◩◪
443. Throwa+KR1[view] [source] [discussion] 2020-05-28 15:31:12
>>bitlev+yp1
Did Linus Torvalds "Sherlock" Bitkeeper by writing git? I also recall there wasn't much sympathy for Paragon Software (https://news.ycombinator.com/item?id=22706172) when exFAT support was added to the Linux kernel, obsoleting their product.

This furor is a surprising flip-flop given the usual "information wants to be free" and "patents for software are dumb" cheerleading that we usually see around here.

◧◩◪◨
446. wpietr+jU1[view] [source] [discussion] 2020-05-28 15:44:15
>>mumble+rs1
Are many companies terrible? Sure. Is that an accident? No.

However, Microsoft specifically has a history of being aggressively terrible in exactly this way, which is what I was referring to. For example, the time they talked with a company about an acquisition only to ghost them and totally steal their work: https://en.wikipedia.org/wiki/Stac_Electronics#Microsoft_law...

◧◩◪◨⬒⬓⬔
453. PascLe+AY1[view] [source] [discussion] 2020-05-28 16:05:41
>>1propi+2O
They've been shoving "Microsoft loves Linux" in everyone's face everywhere they can. It's like they read this tweet and didn't realize it was satire: https://twitter.com/shutupmikeginn/status/403359911481839617
454. jdonal+BY1[view] [source] 2020-05-28 16:05:50
>>lostms+(OP)
I was curious about hearing Microsoft's side of the story. There's an existing issue filed against the winget repo for this, if you're interested, subscribe to the issue: https://github.com/microsoft/winget-cli/issues/353
◧◩◪◨
456. alien_+UZ1[view] [source] [discussion] 2020-05-28 16:11:40
>>palerd+RY1
https://github.com/AutoSpotting/AutoSpotting
◧◩
457. KayL+L22[view] [source] [discussion] 2020-05-28 16:25:52
>>kayone+Tk
This is a common design. Only MS can tell you the truth. Is there anything you're talked offline made you feel they copied your idea?

I think I will not credit everyone on my comparison tables. I only credit who inspired me hugely. MS hasn't implemented everything AppGet had. I bet MS is waiting for public feedback for the next point. Acutally MS has its Roadmap: https://github.com/microsoft/winget-cli/blob/master/doc/wind...

For the spec, only two common options: YAML & JSON. And every YAML spec looks this way.

MS has other experiences like TypeScript Definition also. https://github.com/DefinitelyTyped/DefinitelyTyped/tree/mast...

◧◩◪◨⬒⬓⬔
473. servil+0k2[view] [source] [discussion] 2020-05-28 17:49:40
>>macspo+PN1
Though I agree that this is not an example of EEE, it is still very similar to behaviour from the past:

https://en.wikipedia.org/wiki/Stac_Electronics#Microsoft_law...

◧◩◪◨⬒⬓
484. wpietr+ey2[view] [source] [discussion] 2020-05-28 19:07:34
>>Gordon+8f2
Sure. But let's consider why we saw a change for a while. In their heart of hearts did they reform? Did they really see the error of their ways and vow never to misuse their market power again? Many people seem to think so.

I think the simpler explanation is that US v Microsoft and other anti-trust action combined with their declining fortunes scared them for a while, causing them to perform goodness. But now that the heat's off and they're on the upswing, they're returning to old patterns.

We'll see which explanation fits better over time. But it was all of two days ago that the Slack CEO, not given to hyperbole, said that Microsoft is "unhealthily preoccupied with killing us": https://www.theverge.com/2020/5/26/21270421/slack-ceo-stewar...

So I don't think my view is unreasonable.

◧◩
488. 908B64+xB2[view] [source] [discussion] 2020-05-28 19:22:50
>>kayone+Tk
Several things don't add up here.

> Code being copied isn't an issue.

I looked at both repos and they share no code at all.

In his article, the author claims that " If I were the patenting type, this would be the thing you would patent. ps. I don't regret not patenting anything."

That's really not how patents work, and looking at the repo, a second year CS student could do the same really. I don't see anything that could remotely be patented. It reads where to find the installer from a config file and determine what to do based on an enum.

Throughout the article the author uses the term acqui-hire but it seems Microsoft was simply considering him for a PM position (and he failed the interview). There's nothing to acquire since there's no patent, no IP and no brand. Only a registered domain and what seems like an anemic userbase, if any.

Being featured in The Verge[0] and on HN's front page will probably bring a lot more eyeballs to the startups he's trying to promote. So congratulation for the free advertising!

[0] https://www.theverge.com/2020/5/28/21272964/microsoft-winget...

◧◩◪◨⬒
493. _j7tr+xG2[view] [source] [discussion] 2020-05-28 19:40:53
>>hoytsc+Xr1
100%

Microsoft doesn't let any open source build of VS Code access the VS Code Marketplace. Heavily reduces the benefit of VS Code being open source when you can't use any extension or service built for it without building it yourself.

https://github.com/cdr/code-server/blob/master/doc/FAQ.md#di...

◧◩◪◨⬒⬓⬔⧯▣
497. kayone+IN2[view] [source] [discussion] 2020-05-28 20:17:50
>>Gordon+as2
I wrote a brief description a while back here, https://github.com/appget/appget/issues/24#issuecomment-4648...

after all this is over, I'll probably do a write up of hall it all worked behind the scene + all the server code.

◧◩
498. logica+lQ2[view] [source] [discussion] 2020-05-28 20:36:31
>>pixelm+dg1
If you want to see what Microsoft thinks of open source and contributors, then all you have to do is read the license they want you to agree to before doing so:

https://opensource.microsoft.com/pdf/microsoft-contribution-...

◧◩◪
499. MattSa+RR2[view] [source] [discussion] 2020-05-28 20:44:09
>>bitlev+yp1
I know it by a different name

https://www.youtube.com/watch?v=JlwwVuSUUfc

◧◩◪
512. bencol+bH4[view] [source] [discussion] 2020-05-29 12:53:37
>>lliama+Xi2
https://github.com/appget/appget/blob/master/LICENSE

Apache 2.0 by the looks of things.

Interesting question would be whether WinGet is a "derivative work" of AppGet.

◧◩◪◨
518. 908B64+Gz5[view] [source] [discussion] 2020-05-29 17:18:08
>>bouble+Aw5
> yet Microsoft with Thousands of engineers working over the span of decades never internally developed this idea

Ever heard of NuGet[0]? Been around since 2010.

WinGet isn't a fork of AppGet, the codebases share nothing.

[0] https://www.nuget.org/

◧◩◪◨
521. ystad+fJ6[view] [source] [discussion] 2020-05-30 00:11:16
>>toyg+dT
Looking at the source: Appget is licensed under Apache-2.0 https://github.com/appget/appget/blob/master/LICENSE

I wonder if things would have been different, if the product was licensed under Gplv3. If so, he could demand to check if Microsoft violated the license https://www.gnu.org/licenses/gpl-violation.en.html (to check if this is a completely new rewrite for example).

Update: Ah looks like Winget was sourced in C++, and Appget is in C#

◧◩◪◨⬒
525. svick+OK8[view] [source] [discussion] 2020-05-30 21:31:45
>>genera+Js1
I believe they didn't actually fork his code, what they did is build a brand new project that is heavily inspired by AppGet.

Also, they have now corrected the credit: https://devblogs.microsoft.com/commandline/winget-install-le...

[go to top]