36 ms·
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 su
by kayone 6y ago
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/ 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.
- 13of40 6y agoCan you go into more detail about which features you believe were copied?
- deleted 6y ago[deleted]
- ahmedalsudani 6y agoFrom the article: > Do you want to know how Microsoft WinGet works? go read the article I wrote 2 years ago about how AppGet works.
- 13of40 6y agoThis is very unhelpful - I'm not really in a position to code review Microsoft's implementation and compare it to this document. I was hoping for something more like some high level details from the author of AppGet.
- jjeaff 6y agoNo one's asking you to compare. He's just saying winget works exactly the same as appget. So you can read that article about appget to learn how winget works.
- alasdair_ 6y agoIt’s mentioned in the article: “ the core mechanics, terminology, the manifest format and structure, even the package repository’s folder structure” The manifest format is particularly egregious.
- waon 6y agoNot 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/ 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/manifests/firefox/firefox.yaml https://github.com/appget/appget.packages/blob/master/manife... winget: https://github.com/microsoft/winget-pkgs/blob/master/manifests/Mozilla/Firefox/76.0.1.yaml https://github.com/microsoft/winget-pkgs/blob/master/manifes... scoop: https://github.com/lukesampson/scoop-extras/blob/master/bucket/firefox.json https://github.com/lukesampson/scoop-extras/blob/master/buck... homebrew cask: https://github.com/Homebrew/homebrew-cask/blob/master/Casks/firefox.rb 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.
- outsomnia 6y agoHe's not claiming that his approach was "completely novel". He's claiming microsoft identified his way, that already existed, was the way they wanted to go, toyed with bringing him in to run it and then got overwhelmed by internal Not Invented Here / We Can Do It Better and threw him under the bus. It's literally the new cuddly microsoft Embracing, Extending and Extinguishing this guy's work.
- alpb 6y agoIf you patented your idea, I think you would antagonize and scare away a lot of people from participating in the open source project.
- kayone 6y agoI'm not really interested in patents or regret not patenting anything. I just used patents to try to explain what was taken, and not attributed.
- giancarlostoro 6y agoSounded like they wanted to hire you for their package manager and you chose not to pursue. You have every right to be mad I suppose but as you say in the article, and in that comment, you're definitely aware of what happens to open source projects. On the other hand I'm mainly glad their adaptation was open source. I think they have to maintain their own version in order to ensure that they don't wind up with some rogue applications on their package manager. I try to assume no bad intentions these days.
- Wowfunhappy 6y agoFrom the article, it sounds like he did pursue. After some interviews Microsoft dropped contact.
- SV_BubbleTime 6y agoCould these be a second side to the story that maybe he didn’t interview well or some other reason?
- sb8244 6y agoIt would probably sting less if they didn't ghost him. Not giving the benefit of the doubt to Microsoft on this.
- renewiltord 6y agoThe big companies often end up ghosting the guys they don't want to hire. A long time ago, I was an intern and got fully ghosted by Nvidia. It was very annoying but my life probably worked out better for it.
- Fredej 6y agoThere's a big difference between ghosting and sending a mail informing you that the process has stopped. I realize I'm missing some context here, but I can't see how your life would work out better from _not_ receiving a heads up that the process has ended.
- ErikAugust 6y agoAt this point, why not keep it going? Your story is good enough reason to keep working and build a community and/or foundation around AppGet.
- hizanberg 6y agoCan't think of a more wasted effort then trying to compete with maintaining a package manager in your spare time than a clone from the OS vendor who can out resource, outspend, out market, out evangelize, out reach you, etc. It would a futile endeavour, a realization acknowledged by the author, any further dev cycles on it would be wasted & are better spent elsewhere.
- whoisjuan 6y agoThe most cynic part of this story is sending him an email the day before the launch with a heads-up that WinGet was launching. And the icing on the cake is the "btw, we are giving you the exclusive so keep it secret". Like, wtf. He ain't TechCrunch. Why the fuck are they giving him that exclusive? Nothing yells "we stole your stuff, but dude it was open source so you really can't complain, and thanks for the idea" more than that. You can't make up this shit.
- hizanberg 6y agoThat was just MS sending "Thoughts & Prayers" for the death of his multi-year efforts that they've cloned & looking to extinguish & claim originality credit for with their celebratory announcement. Not clear if they were trolling or just tone deaf.
- jug 6y agoI took at as Microsoft tending their new, more community oriented image. Apparently they mailed the Chocolatey team too. I think the intent is that we should see MS as “it’s unfortunate they had to step on toes like this but Windows needs as package manager. At least they contacted some parties involved, even a day in advance!”
- imprettycool 6y agoPlus you get free PR
- Dolores12 6y agoDid you get azure credits after all? Looks like they 'forgot' about this as well.
- kayone 6y agonope.
- trashburger 6y agoI feel like this is the most scummy part of this whole thing.
- kayone 6y agoI'm still paying Microsoft around a hundred bucks a month to host the servers. :p
- hmottestad 6y agoI can say I’m a bit upset on your behalf. Actually acquiring the code would have cost Microsoft very little money, would have ended up with a better product and also would have brought along the current user space in a very graceful manner.
- toyg 6y agoThey didn’t even need to acquire - MIT license means they could just fork it and use it as they preferred, keeping his name in the About screen that nobody reads. But it would have looked bad. So they did this and... it looks even worse.
- wwwigham 6y agoThere's no common code between the projects; they're not even written in the same language. It's hard to say it's a "fork". They both just use yaml manifest files on GitHub as a registry (which could be good for appget! It should be easier to set it up as a trusted package registry with verified non-malicious packages!). That's the commonality. I'm not sure we should grant monopoly on _broad architure choices_ when software patents are already considered so toxic. And appget _did_ at least get a callout in the release announcement, so it _was_ mentioned as an inspiration, in the same breath as chocolatey and others... The meat of this blog post, to me, seems like the terrible hiring pipeline with no feedback. That seems like a really bad experience. I can only imagine that someone really dropped a ball somewhere.
- toyg 6y agoNobody talked about granting monopoly, it's just about common courtesy really. They basically strung him along before cloning his tool in the dark, when they could have done it in the open in various different ways. After the failed hire, just give him a heads-up like "hey, we really like your stuff but for various reasons we can't hire you and we need to rewrite it, what about we make this manifest a bit of a common standard? We'll credit you for that", and then everyone is happy.
- cwojno 6y agoNot only should they say you're the inventor, but they should have paid you for it. They snowballed you. Microsoft doesn't deserve you
- fsloth 6y agoSorry 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 https://en.wikipedia.org/wiki/Robert_Kearns
- wpietri 6y agoIt reminds me even more of Stac Electronics: https://en.wikipedia.org/wiki/Stac_Electronics#Microsoft_lawsuit 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.
- fsloth 6y agoStack ranking basically chooses sociopaths over the nice guy. Applied over several years it is bound to have a statistically significant effect on who your middle layer managers are. It does not matter if Nadella is a nice guy. It does not matter if everyone reporting to him is a nice guy. They are still forced to operate with a megacorp filled with lizard people. On the other hand, it might be just the usual confusion that large administrative structures needed for megacorps cause.
- dillonmckay 6y agoOh man, having bad flashbacks with that and SuperStor. I think I had a 200MB hard drive at the time.
- billme 6y ago>> “I haven't updated the original article since I'm not sure what the etiquette for updating a highly shared article is.” Adding “UPDATE:(date)text” either in the footer - with a brief dip in the header saying there’s an updated in the footer is an easy way to accomplish this.
- dmix 6y agoCalling 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_management_systems https://en.wikipedia.org/wiki/List_of_software_package_manag...
- deleted 6y ago[deleted]
- TAForObvReasons 6y agoIn all fairness: - "NuGet" is super-popular in .NET circles (included in Visual Studio by default) - "apt-get" is the classic tool for Windows Subsystem for Linux So "WinGet" certainly "makes sense" as a name without being a direct ripoff of AppGet
- imhoguy 6y agoWait! apt-get is not Microsoft's invention https://en.wikipedia.org/wiki/APT_(software) https://en.wikipedia.org/wiki/APT_(software)
- banger180 6y ago> "apt-get" is the classic tool for Windows Subsystem for Linux APT is the classic tool for debian-like Linux distributions. FTFY
- teekert 6y agoGet used to it, this is going to be the bulk of the "Linux" users from now on. Edit: Imo not a bad thing, it's just how it is. A lot of people will learn (of) Linux through WSL. Linux as a runtime.
- deleted 6y ago[deleted]
- wpietri 6y agoAh yes. The new Microsoft, same as the old Microsoft. I am really sorry this happened to you. On the scale of Microsoft, or even on the scale of what they're putting into this effort, it would have cost approximately nothing to give you an "acquisition" you would have been happy with. If the job didn't work out, they could have given you a fat consulting contract for a year or two. Or they just could have written you a check. And it would have cost them actual nothing to just treat you with respect. Say how much they loved your work. Credit you publicly as a leader and an inspiration. Arrange a smooth transition for your users. For what it's worth, I'm glad for you that the job didn't happen. Much better to be far away from people like this.
- macspoofing 6y ago>Ah yes. The new Microsoft, same as the old Microsoft. I wouldn't say that. It's a big company thing.
- hoytschermerhrn 6y agoSaying 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/microsofts-renewed-embrace-of-developers-developers-developers-developers/ https://arstechnica.com/information-technology/2017/05/micro... 2. https://www.theverge.com/2020/5/18/21262103/microsoft-open-source-linux-history-wrong-statement https://www.theverge.com/2020/5/18/21262103/microsoft-open-s...
- deleted 6y ago[deleted]
- bcrosby95 6y agoWhat happened to AppGet is not what embrace, extend, extinguish means. This strategy refers to writing software compatible with existing dominant software surrounding some shared interop (e.g. a file format they can both read, web standards they both implement, a networking protocol so they can communicate with eachother, etc), gaining market dominance, then making your once compatible software incompatible. Absolutely none of this happened with AppGet.
- sillysaurusx 6y agoI flew to Seattle on December 5th to have a full day of interviews/meetings at Microsoft HQ. I met with four different people; three of the meetings were more like your typical interviews; the meeting with Andrew was more about what we should do once this is all over and how we would migrate AppGet’s process and infrastructure to be able to handle Microsoft’s scale. We talked about some of our options, but in general, I thought everything went well. My last meeting ended at around 6 pm. I took an Uber to the airport and was back in Vancouver. And then, I didn’t hear anything back from anyone at Microsoft for six months. For what it's worth – and I'm not really sure whether it's helpful to say this, or whether it's even true – this situation often means "you didn't pass the interview." The reason I mention it, is that it took an embarrassingly long time for me to understand this. Maybe it's common knowledge. But an identical situation happened to me at Magic Leap. I hesitate to mention their name, lest it sound like I'm calling them out or something, but I'm not. And in general I no longer feel negatively towards companies that end up doing that, so I don't think any particular stigma should be attached to Magic Leap for doing that. I'm trying (and possibly failing) to share a personal experience of "I used to feel awful in situations like this; now I realize it's just business, and the decision of pass/fail has extraordinarily little to do with the skill of the programmer being interviewed, so don't take it as a sign of anything." None of this is to undermine your overall point that it's generally not cool to ghost a candidate (to put it mildly), and that it's a doubly not-cool move to then clone the product of the candidate in question. But, it happens, and I just wanted to reassure you that yes, it does happen. It would've helped me to hear that at one point, so here it is, just in case.
- microtherion 6y agoYes, post-interview ghosting happens, and, I'm ashamed to admit, it happened to a few candidates that I was part of interviewing. But that doesn't make it an acceptable practice — I feel that professionalism demands to let candidates know one way or the other as quickly as possible.
- ra 6y agoUnder the circumstances, it wasn't just a regular interview and so it was either rude (neglectful) not to get back to him or possibly (unlikely) there were other reasons... i.e. someone in the hierarchy had another plan.
- GoblinSlayer 6y ago>What upsets me is how no credit was given Apache license requires to preserve copyright notices, did you have any?
- kevsim 6y agoThat would only apply if they copied code as opposed to architecture/concepts, no?
- iovrthoughtthis 6y agoI'm sorry. This does feel like a pretty shitty situation. I hope all of this attention helps connect you with some people you go on to do great things with!
- bitlevel 6y agoIt would appear that you have been 'Sherlocked' (https://www.howtogeek.com/297651/what-does-it-mean-when-a-company-sherlocks-an-app/ 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.
- pbhjpbhj 6y agoHmm, it's not like f.lux were the only ones doing it. If they were the first, then credit to them for the concept (and for the software, I'm not belittling it). This seems like genericisation in trademarks to me. Sometimes things grow to be useful more broadly -- that seems like something to celebrate. If you're railing against capitalism in general however, then I'm with you! Distribution of wealth shouldn't be left to a fight between a small cadre of corporation owners vs. the populous.
- marcosdumay 6y ago> but by Microsoft Microsoft all but invented the practice at the 90's.
- ThrowawayR2 6y agoDid 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 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.
- MattSayar 6y agoI know it by a different name https://www.youtube.com/watch?v=JlwwVuSUUfc https://www.youtube.com/watch?v=JlwwVuSUUfc
- sergeykish 6y agoIt 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 https://github.com/appget/appget.packages/pulls
- wanderer2323 6y agoDid you link the wrong article? The one you linked basically says that (1) you are using yaml files to describe the package instead of scripts and (2) you have the ability to specify multiple installers per package to support multiple architectures. If that's all the innovation that MSFT has supposedly 'copied'...
- alien_ 6y agoAs author of an open source tool that was already steatlh-forked twice without any contact whatsoever by VC-backed startups - including clearly copying text from my website/FAQ - without giving any sort of credit on the idea/implementation they used for 80% of their product but on the contrary claiming how revolutionary their products are and best idea since sliced bread, and even not satisfying the basic MIT license terms, I can completely understand your frustration. At least they were nice enough to pay you a trip to Seattle and (briefly) mentioned your project in the release announcement, I didn't even get a "thank you". As a result of this I re-licensed my code from MIT to OSL-3 and reduced my involvement in this project a lot so I focus on the things that actually matter in life: my wellbeing and spending the time with my family.
- palerdot 6y agoWhat is your open source tool?
- alien_ 6y agohttps://github.com/AutoSpotting/AutoSpotting https://github.com/AutoSpotting/AutoSpotting
- palerdot 6y agoThanks for sharing ... This looks great and I hope you get somewhere nice with this project ...
- alien_ 6y agoThanks! My former employer is still using it and saving yearly multiple times my previous 6 digit salary, so I got a nice promotion out of it before I left. It also helped me get my current job at AWS(pretty much half of the interview I was just talking about how I built it), and I now make some $500 monthly (before tax) from a few users who pay for official binaries. I'm now only working on it occasionally, just enough to maintain this income stream, but previously I put a lot of time and effort into building it. My motivation to work on it plummeted when I saw those companies reap the benefits of my hard work without giving anything back.
- KayL 6y agoThis 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/windows-package-manager-v1-roadmap.md#v10-scenarios 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/master/types https://github.com/DefinitelyTyped/DefinitelyTyped/tree/mast...
- thePunisher 6y agoExactly that: you open-sourced it so it's your donation to the world. Don't be sour if someone copies your idea or makes a ton of money from it. And what would be the benefit if Microsoft gave you credit for it? Most likely their lawyers would reject it since you may then be able to sue them for...I don't know what, but money in any case. It's a very Microsoft-thing to do to copy someone else's idea and improve on it (C#, RDP, Excel). If you release something as open-source you have to ask yourself if your doing it out of altruism or for money? In case of the latter you have to plan accordingly, by patenting or with restrictive licensing.
- thunderbong 6y agoI agree with this outlook. However, I don't know how I'd react if this were to happen to me. If I do something out of altruism and somebody takes it and makes money off it, I guess it leaves a bad taste? Other than that, I think this approach is done everyday by every developer, whether they take code from other softwares or from StackOverflow, very rarely do they credit or even give reference to where the code has been taken from.
- kgwxd 6y agoMy only fear would be them turning it around and preventing me or others from using the idea in the future with their big squad of lawyers. They wouldn't even need a legitimize claim to pull it off.
- thePunisher 6y agoThat would be very difficult since there would be prior art.
- kgwxd 6y agoThey don't have to win the case, just the power of fear.
- 6y ago
- lliamander 6y agoWhat license did you release AppGet under? Almost every open source license at a very minimum requires that credit be given to the original authors. Arguably they are in a situation of legal liability (IANAL). You don't strike me as the kind of person that would litigate such things, but I would like to think that if the right people at Microsoft became aware of such a liability, they might choose to give you credit (to be on the safe side).
- bencollier49 6y agohttps://github.com/appget/appget/blob/master/LICENSE 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.
- svick 6y ago> Interesting question would be whether WinGet is a "derivative work" of AppGet. They don't share any code. As far as copyright law is concerned, it is not a derivative work.
- karmakaze 6y agoAs bad as this is it would be worse to intentionally use an known inferior method for the sake of being different. This can still be corrected by giving props to AppGet. Or you can't blame companies for being companies? Hate the game.
- joseluisq 6y agoVery sad history. But not something new. MS and many others don't love OSS or contribute them back. Few really do it. But instead, they are leveraging software because OSS licenses allow it. One example, see GPL, they didn't ever accept it. But they embrace any other software without restrictions on top of "OSS", if not so, they just create its own "permissive" licenses (MSPL). Many of us are creating software even without expecting to get money back from users of any kind. Money back in many situations can be just a gentle retribution from community (E.g voluntary donations). So, No MS, you don't really "love" OSS.
- justanotheratom 6y agoWhat is the guy's name?
- 908B64B197 6y agoSeveral 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-windows-package-manager-appget-copied https://www.theverge.com/2020/5/28/21272964/microsoft-winget...
- fomine3 6y agoIt seems. It looks like very few HN posters compares actual source code or even open GitHub (C# / C++).
- 908B64B197 6y agoNot really a surprise. It's trendy to bash on certain companies, much less to fact check!