4 ms·
I was astonished at how selfish/myopic/whatever alloy's response was. To be blunt, you're abusing the shit out of SOMEONE ELSE'S product that you're not even p
by manyxcxi 11y ago
I was astonished at how selfish/myopic/whatever alloy's response was.
To be blunt, you're abusing the shit out of SOMEONE ELSE'S product that you're not even paying for. Your first question shouldn't be to see what Github can do for you to make it so you don't have to make changes. You should be falling over yourself investigating all available avenues for reducing load.
It's an incredibly entitled way to think about things and I would have a real hard time employing someone who's first response was like this.
- sanjeetsuhag 11y ago> you're abusing Cocoapods uses GitHub. No abuse here.
- Wintamute 11y agoYou're quibbling semantics. Using a GitHub repo as a high traffic code CDN and keeping 5+ cores pegged while being the single biggest consumer of resources across the whole platform could be reasonably defined as an abuse of the service. Primary definitions on Google: "abuse" verb: use (something) to bad effect "abuse" noun: the improper use of something
- jethro_tell 11y agoDabbling in the 'kind of customer we can afford to lose' territory.
- jenscow 11y agoNot really. Imagine the backlash github would receive here.
- mioelnir 11y agoAs an ops person, I can tell you that I would probably upgrade my paid github account instead of cancel it if a project was thrown out that had the audacity to issue the statement that they don't care about the infrastructure they use for free so they can focus on the important things - namely developer funding.
- jethro_tell 11y agoyeah, it's the kind of backlash that would cancel a couple other non paying projects and there would be half dozen discouraging blog posts but paying customers that aren't open source aren't going to leave because a free tier opensource customer was abusing a service.
- manyxcxi 11y ago> Not really. Imagine the backlash github would receive I don't know... I'm sure they'd get some, CocoaPods has a very large user base after all. But if GitHub laid out the reasons like they laid out the options to start this thread, I think they'd weather the storm fine and diffuse some people who show up to be angry. I could see why GH would drop them and think they'd be well within their right and in good moral standing in my book. I just don't think they would unless the maintainers became incredibly hostile or proved unable to fix the problem or even band-aid it. GH just seems too culturally invested in making things like this work to a satisfactory conclusion. I have a feeling that the CocoaPods team will be schooled in a lot of things directly from the GitHub team as they work to resolve the performance issues, just look how informative the initial post was.
- MBCook 11y agoIt's very clear GitHub was not designed to be used as some project's personal CDN for this kind of traffic. It's abuse. Wasn't intentional, but at the scale that Cocoapods is running it's abuse.
- odbol_ 11y ago> personal CDN Discounting the fact that CocoaPods is used by millions of iOS developers...
- Lazare 11y agoPretty sure that's the point. If it wasn't used by so many developers, it wouldn't be causing load issues. :)
- mianos 11y agoIt's not the developers causing the issue, it's the end users.
- wslack 11y agoIn this case, developers are the end user population.
- mianos 11y ago"This repository experiences a huge volume of fetches (multiple fetches per second on average). We understand that part of the CocoaPods workflow is that its end users (i.e., not just the people contributing to CocoaPods/Specs) fetch regularly from GitHub"
- accatyyc 11y agoYes, but he means that "end users" of CocoaPods are actually developers. It's a package manager for libraries.
- jlarocco 11y agoI totally disagree. The CocoaPods usage model is not at all the expected way to use GitHub. I'm surprised using GitHub that way is even allowed by the TOS. It's very obviously a hack to avoid paying for their own infrastructure. The project representative in the issues thread even admits as much in his response. Just about every other package manager for every other language (Pip, CPAN, Hackage, etc.) uses its own infrastructure.
- zyxley 11y agoHomebrew uses Github in roughly the same way.
- jethro_tell 11y agoIn this case the difference between 'abuse' and fair use may be a homebrew dev that works for github. I would expect that to be a perk of most places that I work. I've run tor exit nodes and repo hosting when I worked for ISPs and Datacenters while at the same time shuting customers down who do the same. The difference being that I had that conversation with my boss and said, 'this will violate our normal terms of service but I would like to do this.' The boss is of course more willing to make that concession when he can walk down the hall and say, 'uh, we have extremely high usage and today, can you shut down the repos until we can get another link installed?'
- niij 11y agoHey, I run 2 middle relays (~80-90mb/s bandwidth total) on cheap VPS's, but was thinking of upping bandwidth and hosting an exi on some dedicated hardwaret. Do you have any tips for running an exit node (legally and technically)? If you want, you can email me (link in profile). Thanks!
- jethro_tell 11y agoHonestly, I don't like to give advice about this. Due, in part to risks involved, and since I've been out of it for a couple years, I don't really feel qualified. Everything you need is online but you'd have to find it for yourself and make decisions about the best way for you to do it.
- tptacek 11y agoI don't know, it sounded to me like he just didn't totally understand what Github was saying. By the end of the thread, it seemed like everyone was agreeing. I wouldn't be comfortable using words like "selfish" to describe any of what I read. I certainly don't think the barb about your willingness to employ people who write things on Github issues threads that you disagree with is helping anyone understand any part of this situation. I understand the urge to find ways to be emphatic about how much you disagree with things, and I often find myself compelled to write lines like that, but I think they're virtually always a bad idea.
- nrser 11y agoyeah, my read was that he didn't totally get the context of the package dist / CDN suggestion immediately. i think the github peeps probably understood that they were using this approach because the developer workflow was simple and strait-forward, but as you scale up simple and strait-forward approaches often break down, and CocoaPods seems to be hitting this tipping point with using Git and Github as a package dist system. this is what we used to call the "good" problem (things breaking because they are successful), but that doesn't make it cheap or easy to fix. the other stuff they're talking about in the thread will alleviate some pain and buy some time, but it won't solve the fundamental problem if CocoaPods continues to get "big" (imagine apt or yum trying to run like this). i understand their want to maintain the simple and coherent workflow... if i was writing a package dist sys, i would love to have it work off a standard git repo. maybe this is something that could be solved with a plugin architecture like the large binaries stuff so that developers could continue with their preferred workflow but end-users could take advantage of a CDN-like system for distribution.
- vacri 11y ago> my read was that he didn't totally get the context of the package dist / CDN suggestion immediately. This is mine as well, but it's also troubling to me, given that the repo in question is meant to be a package management system; it means there are fundamental holes in the user's understanding of packaging systems. My mentor has a lot of contempt for the bevy of packaging solutions that people come up with - invariable people look at the old ones, think they're too complex and wrong, write up new code that is Slick(tm) and Fast(tm) and Cool(tm) and they are... until they hit scale. Whether that scale is number of users, or serving multiple environments, or serving a great many packages of different versions... the lack of domain knowledge in the design stage will cause huge amounts of issues.
- Bluestrike2 11y agoIt probably wasn't intentionally selfish. Just really short-sighted, which isn't uncommon. Sometimes it takes a while for things to penetrate for anybody. Alloy's later comments seem much more productive. Whether that's because of backlash, he reread the earlier comment and realized how it seemed, or just had some time to think about the imposition on Github, at least it looks like CocoaPods is going to reconsider how they handle their distribution.
- threatofrain 11y agoIt's hard to see the difference between selfish behavior and short-sighted behavior because they're often confounded. What I got from this is that Alloy will consider the deep vs shallow deep copying Git issue, but wants to continue using Git and GitHub as a CDN for a massive user base, and doesn't want to re-architect because developers are expensive and time is limited. The Git deep v. shallow issue just puts a band-aid on the CPU problem, but it doesn't do anything about the terabytes of bandwidth per week (it'll be worse), and it won't do anything about GitHub's claim that Git is not meant to be used as a CDN and doesn't scale well. They've become a big project that warrants thinking about revenue or organization strategy, but they're delaying it by externalizing their costs. Cases like these can pressure GitHub into rethinking the leniency of their policies. I also think that if you're in the top-5 resource consuming group, more sympathy would go your direction if you were a paying customer, but they've indicated no interest.
- BogusIKnow 11y agoI had the same impression from alloy's response. I've basically read it as "hi ho we will not change anything". And it had this passive agressive ring to it, with the hand clapping and the hurray in the beginning and the stone walling in effect.
- melloclello 11y agoThat was the smuggest use of emoji I've seen in a while
- whatever_dude 11y agoHad exactly the same feeling. I felt bad for the GH employee who responded. He was helpful and thoughtful, made it clear what the problem was, offered advice and promised to make whatever's possible on their end... ...only to have someone come up and act like a paying customer whose expectations weren't being met. He answered suggestions by saying something that comes down to "I don't understand, can you repeat please", and never quite grasped that if he wants a better experience for his users, he also needs to work for it. The introduction to the response, in typical douche manager style, was the cherry on top.
- manyxcxi 11y agoEven if they were a paying customer- what would you do if GH could support that volume? Obviously there are SLAs in place if you're big enough, but at the end of the day, if they simply just can't handle the volume what are going to do? 'Nothing' isn't the answer if you want to maintain users. You'll have to solve the problem no matter what, it just seems really egregious to me to have that response when you're not giving anything back (money or time) to the team that is essential allowing your service to exist.
- Nexxxeh 11y agoI took it to be more defensive than passive-aggressive. I took that emojis to be the exact opposite of the almost sarcastic tone I think you're interpreting it to have. I guess even with emojis, it's hard not to make tone ambiguous.
- cmyr 11y agoI think you could assume better of people. His response was maybe a bit tone deaf, but text is a very poor way of communicating mood and circumstance. There are any number of creditable explanations from tiredness to language skills that could make sense of the response you're offended by. fwiw: "I would have a really hard time working for someone whose first inclination was always towards criticism over accommodation or compassion." But then I also acknowledge there may be a whole bunch of other stuff going on here behind the scenes. ;)
- manyxcxi 11y agoThat's valid, everyone has the attitudes and traits they're looking for on both sides. I should have better clarified in my first statement that I in fact would give them the opportunity to walk that statement back to show their interest in fixing it, and more importantly show some empathy to the GH team. My biggest problem is that I can't imagine a time, even if I don't understand the problem, where I would say that I'm not interested in essentially not abusing a free system that can't handle my load. He basically said he had better things to spend his time or money on. That shows a motivation/attitude that would likely be there regardless of the issue or if they understood it. That's his knee jerk reaction, which I would say is probably his most honest, and it seems very selfish and not empathitic to the GH team at all.
- anon4 11y agoCommunication is a two way street. If you choose to close your end, don't be surprised by the number of "assholes" you start to see.
- knorker 11y agoYeah. "That's your problem, and we don't want to change anything because that's a non-zero cost for us just to fix a cost on your side." And what the hell was with the quotes around "free"? Are you paying? No? Then there's no quotes about it.
- CRConrad 11y agoNot that I'm in the habit of giving people the benefit of the doubt, especially when it comes to mangling grammar, spelling, and punctuation... BUT, I've noticed that awfully many people nowadays seem to think that quote marks are some kind of emphasis sign. So those of you who ARE in the habit of giving people the benefit of the doubt on shit like this might take that into consideration here.
- jwarren 11y agoI think there's definitely a tone problem in his first response, but if you continue reading the thread, you'll see that everything else is very positive. I guess it was just a bit of the classic internet text expression problem. Massive high five for the Github guys for looking past it and being extreme pros.
- braythwayt 11y ago> To be blunt, you're abusing the shit out of SOMEONE ELSE’S > product that you're not even paying for. I <3 GitHub, but for their own business/values/whatever reason they choose to host open source for free. It’s not like these people have found a loophole and are getting a paid service for free. AFAIC, that makes every free user a customer. They may not be a paying customer, but it's GitHub’s choice to be in the free hosting business.
- couchand 11y agoJust to clarify, GitHub hosts a very specific type of content: open source software development projects. They never offered to be a general purpose hosting provider. From @mhagger's measured and thoughtful reply: "We understand that part of the CocoaPods workflow is that its end users (i.e., not just the people contributing to CocoaPods/Specs) fetch regularly from GitHub..."
- braythwayt 11y agoI know where you’re going with this, but GitHub deliberately blurs that line too. For example, I host both of my blogs on GitHub. I guess I’m saying that I don’t see CocoaPods as being a “bad actor” so much as the extreme tail of a distribution.
- couchand 11y agoAre you hosting your blogs as plain git repos or are you publishing static pages to GitHub Pages, the static hosting option?
- manyxcxi 11y agoThat's true that anyone with a repo is essentially a customer, paying or not. But CocoaPods is really a bad actor in this in that they're not just hosting source code up their for development purposes. They're using it like a CDN, and bless Github for not find a reason to boot them, but I'm sure they've got a bunch of legal ways to do it in their terms of service. I'd argue that CocoaPods is really breaking the spirit of what GH is trying to provide.
- acjohnson55 11y agoI'll caveat this with the fact that I'm a coworker of alloy's and orta's, so I'm admittedly biased to seeing them in a positive light. But I think you may be reading his tone more negatively than necessary. What I see is him starting off by expressing gratitude and then switching voices to communicate very explicitly what the needs and desires of his stakeholders are. He's simply trying to reflect that as clearly as possible and discover the additional context. This was clearly effective, as you can see from the rest of the conversation that with all the information out there, everybody comes to a mutually acceptable consensus. Problem solved! What we've ultimately got here is a free service built on a free service. CocoaPods has nothing but the time and effort of volunteers. GitHub has input of resources from the commercial side of their business. Both sides clearly want to preserve the utility of this end-to-end workflow in a more sustainable way. "Falling over yourself" is a subjective amount of effort, but clearly CocoaPods has tried to minimize their impact on GitHub. As it turns out, the attempted optimization of shallow fetching backfired, but that's not from lack of regard for the resources they rely on. What was missing was exactly the context the Github employees provided. Honestly, I think people are offended second-hand by a perceived lack of groveling on CocoaPods part, and to me, that's way overblown.