Hacker News new | ask | show | jobs
by sho 6142 days ago
That was pretty immature, to delete the repos as well. Sure, nuke your Twitter, who cares. But people might have been depending on the repos; it's a breach of trust IMO.

Not impressed.

8 comments

Have a little respect. Unlike most of us here, _why never profited directly on his online celebrity status. If he chose to remove himself from the 'net, it seems only reasonable that he would want to shut down public repositories he managed, if only to avoid the inevitable deluge of complaints about them going stale, requests for commit rights from other people, etc.

The fact that you would care more about his shepherding of repositories which have been available to everyone else all along speaks volumes to me about the kind of attitudes that probably helped to drive him offline in the first place.

> Unlike most of us here, _why never profited directly on his online celebrity status.

Most of us are online celebrities?

I would like to think I have utmost respect for _why. I have certainly never said or done anything against him in the past, nor ever felt anything besides quiet appreciation for his efforts.

If he wanted to quit, that's his right, of course. But at least give people a day's notice before he nukes everything, right?

"The fact that you would care more about his shepherding of repositories"

Care more about them than what? What else is there? I don't know what's going on. The repos were his work, they're all I know of him.

You seem to detect this entitled, callous attitude in my words but I assure you it's a false positive. I have, or had, nothing but positive feelings for the guy. Never met him, spoken to him, or anything else really. But I have relied on his code, and in my book, when you release open source code there's a kind of implied promise that you don't suddenly delete the master repo in a fit of internet pique.

if that's "the kind of attitudes that probably helped to drive him offline in the first place" then .. maybe he should be offline because I think it's pretty reasonable.

No, he shouldn't give people a day's notice.

He doesn't owe it to you, he doesn't owe it to me. That makes two of us. Let's imagine we're not unusual in that regard. Who does he owe a warning, then?

when you release open source code there's a kind of implied promise that you don't suddenly delete the master repo in a fit of internet pique.

You're making a lot of assumptions, not least among them _why's motivations (should they even exist) for dropping off your radar. Again, he doesn't owe you an explanation or a warning.

You were a user, not a co-owner of the projects, not an extensive financial donor (most likely), not an employer. The relationship is entirely one way. _why gives you things, you say "thank you", and move on. This is also the Internet we're talking about, if someone decides the content (repository or writing) should be made available again, it will happen.

http://github.com/raganwald/homoiconic/blob/master/2009-05-0...

why is awesome. he's one of the big reason I'm a ruby programmer. He's contributed so much to the community, and he doesn't owe anybody anything.

If he deleted all his repos, sites, etc with no notice, then that was a dick move. It doesn't mean he's an asshole, it means he did one asshole thing. That doesn't mark him as an asshole, but it wouldn't change the fact that it was an asshole thing to do.

If you're running for the elevator and I don't bother to hold it, that's an asshole thing to do. Maybe I saved your ass last week when you forgot to check in the fizbit and the client was pissed, whatever. That doesn't change the asshole-ness of my one action. And that's ok, we all do it. why's still awesome, even if possibly for an hour he was an asshole.

The elevator analogy doesn't really hold for me.

It's more along the lines of one person in the office bringing in bagels every week for a few years, then one Monday morning they aren't there.

The asshole isn't the one who stopped bringing in the bagels, it's the folks standing around the coffee machine empty handed, griping about not getting their weekly cinnamon crunch.

"I wish Mike would've told us he wasn't going to bring in bagels today. What a dick move." Nope, doesn't work.

But that's just the way I see what is happening here. I can understand the divide if you have a different perspective of what's going down.

I agree that failing to hold the elevator is inconsiderate, but I disagree that simply putting information on the web constitutes entry to a similar social contract.

Bringing in bagels every day is active. Leaving existing software up is passive.
I'm going to agree with sho on this matter. If you provide something and give the impression that you will continue to provide it, you are partly responsible when people become dependent. You are certainly not required to continue to provide it, but you should at least give warning that those who were dependent have a chance to adapt.

When you quit a job or end a contract you ordinarily give notice. It's the same principle, and a matter of courtesy. --- That said, I've no idea what's really going on here, so I'm loathe to pass judgement.

While I do agree that the author(s) of an open source project do not owe me or you anything, I'll have to disagree with you about what is an open source project. Once you've opened up your project it belongs to the community (and even if I'm not a lawyer I think that most of the OSS licenses speak in this direction). Anyways, I'm pretty sure we will hear soon about what happened and it will be easier to understand things.

./alex

_why isn't required to maintain his copy of the source forever. Other people have forked/mirrored his projects; deletion of his repos is an inconvenience, but something that can be recovered from.
Well, look, everything you say is technically correct. But my reaction remains the same. It's not about "rights" - I agree I have no "right" whatsoever to continue to benefit from _why's beneficence in perpetuity. No, _why hasn't breached any laws or contracts, but he has breached social norms.

For example, this site. I think all would agree that we have no "right" to its continued existence. None of us pay or contribute financially to this site in any way whatsoever. And yet if PG suddenly changed his mind and deleted it tomorrow, with no explanation or warning - I would consider that to be very poor form, and I'd wager most others here would, too.

Same deal. It's about basic respect for your audience, whether they were paying or not.

I think your point of social norms is an important one. You have the right to be rude, but people won't be happy with you if you exercise that right.
Did _why strike you as a guy who lived within the social norms? I mean, come on.

I would like to also point out that the people who "won't be happy with you if you exercise that right" don't actually care about you any way... so what's the loss?

I'm with you Sho. _why's writings are in large part what initially attracted me to Ruby. I have nothing but admiration for his work. If one releases open source code, I don't expect them to support it for free or at all, everyone's time is their own. But at least leave the existing code up there or at the very least, give some notice that it will be removed.

This of course assumes that he did do this intentionally and that he was not the victim of some kind of foul play.

That was pretty immature, to delete the repos as well.

They were git repos, right? I am new to git, but my understanding is you pretty much have to type

git clone --i-dont-want-a-full-copy-of-the-repository-please-screw-me-over-if-the-master-vanishes

to be in a position where you are "dependent" on the code (i.e. have looked at it, ever) and do not have a full copy of the entire project extending to the mists of prehistory.

[Edit: apparently the actual command is

git clone --depth (some number)

I like my version better.]

--depth does have some benefits... one of my friends tried to do a 'git svn clone' of his work's svn repo... he gave up after the process had been running for a full 3 or 4 weeks.

That said --depth doesn't have too much use when it comes to native git repos though. Unless you have a ton of binary files in the repo and don't want the full history of all of them...

If you want to git-svn clone such a massive repository (and either it was truly massive, or your friend's net connection sucked, or he was using an old version of git that had the bug where git-svn slowed down over time), you should copy it to your local computer. git-svn runs significantly faster when it doesn't have to deal with network latency.

Edit: Also, --depth does have a use with git repos, namely if the git repo is accessible only over http, as downloading packs over http is kind of slow.

I'll defer to my friend on this one. He's really heavily into the internals of git and keeping up with the mailinglist. This was about a year ago, and if there was any way to speed up the process I'm sure he tried it. I think that he said it had something to do with the number of branches that have existed over the years in the repo and trying to resolve all of them into git branches.
I think if he tried today he'd be much more successful. I remember using git-svn a year ago, and it had the problem where it would re-checkout every single file for every branch point, because SVN doesn't really keep track of branch points; a branch is just a "svn copy" of the root dir.

These days, git-svn is much smarter about recognizing a SVN branch, so it doesn't have to re-checkout the whole world.

I recently (less than a month ago) used git-svn to do a conversion of https://svn.dev.java.net/svn/hudson and discovered a few things.

The git-svn clone was not made from the canonical hudson repository, but rather from a svnsync clone hosted on localhost accessed through the svn:// protocol. Nevertheless, the conversion took about three weeks on a 2.6 GHz Core2.

There seems to be a memory leak in git-svn. The size of the git-svn process grew slowly and after about two weeks it was at 1.2 GB resident size, at which point the OS refused to let it fork. Thing is, this was a blessing in disguise. I was able to resume the interrupted clone with a simple "git svn fetch", and it ran much faster with the now radically smaller heap. This, worked so well, in fact, that I got into the habit of interrupting and restarting the process every evening and every morning. A few days later it was done.

The problem seems to be the structure of the Hudson repository. All modules are in a single huge maven-style multi-module build under /trunk, but the branches and tags are not complete copies of trunk, but rather of individual sub-trees of trunk. This does not mesh well with how git sees the world. For git tags and branches are always for the whole repository. This mean,s that git has to work extra hard to figure out what's going in in a repository like Hudson.

Because of the oddball structure of the Hudson repository, its history is not as browsable in git as I might have hoped. Still, it's proved to be an interesting experiment.

Size: the complete history works out to 203MiB (.git/objects) in git, though 754 MiB including all the cruft in .git/svn. In Subversion 1.6 FSFS format the repository is 795 MiB.

None of _why's projects were that big, so in this case it's kind of a moot point.
Right, but the parent post didn't seem limited to only _why's repos.
Not true. Hpricot and Syck are in heavy use.
I meant big in the lines-of-code sense, not in how much they're used. (looks like I missed the edit window.)
True - I use hpricot every day.
Even without git, everyone has a local copy of the source on their machines, at worst we can get Hpricot back up without the commit history... but that's not the issue.

The problem is GH was hosting all the Hpricot wiki HOWTO docs, which frankly, were invaluable resources to anybody using the library.

It's perfectly fair to leave the community. Destroying the ability for others to use your past work, however, is pretty lame. I'm hoping this was a hack for the benefit of my respect for him.

The wiki is still there, probably because they are jeckylled static files:

http://wiki.github.com/why/hpricot

Let's wait for the circumstances before passing judgement.
Name some circumstances which justify pulling down a broadly-used open source project like Hpricot. At a certain point it must be admitted that a project has a life beyond its author.
He could have had his computer, or email hacked.. have to wait to see if we hear from him before we assume he actually cleared all the accounts himself.
Sure, well of course if he got hacked then I am not gonna hold it against him. I just can't imagine anyone targeting _why.
I can, but only because I'm a cynic.
That explanation seems highly unlikely, especially considering the lack of any messages saying as such.

update: I assume I'm being downvoted because people do consider it a likely explanation? It would be utterly unprecedented AFAIK.

No, you're being down-voted because you're a selfish arse. Is the primary concern the slight inconvenience his disappearance will cause you?? ... to us, the answer is No.
He hosted it on git, the source is still out there: http://github.com/defunkt/hpricot/tree/master
It could be a dead man's switch. (But I'm really hoping it's not.)
How exactly do you implement a dead man's switch for your online accounts? Do you just leave your account info for your estate's executor, lawyer, friend, or whatever and he manually deletes them? Or do you have some script that will automatically run and delete your accounts if you don't tell it not to every week or so?

I've often what happens to people's free email addresses after they die. (I suppose nothing in most cases.)

These (dead mans switches) are online services which can terminate accounts for you and send emails on your behalf. Some of them work by sending you an email once a month or so to check up on you, if you don't reply, the switch is triggered.
Really hope that email doesn't get caught in a spam filter...
Interesting point. I wonder how many people actually implement such things?
An acquaintance of mine did. I had moved to a different state. We kept in occasional email contact. And one day I noticed he had deleted his LinkedIn account. Found him in the obituaries, he had passed on a couple of months before. RIP.
Isn't it more likely that a relative simply requested LinkedIn to delete the account? A LinkedIn account doesn't seem relevant to keep online at all after the person has passed away. Facebook, on the other hand, leaves pages up but with most features disabled except for the wall and photos - something I'm unfortunately familiar with.
Wow. Thanks for the story. I hadn't heard any concrete examples of people actually doing that.

Well yeah. Let's hope it wasn't that.

With all due respect, they were hosted with git, which is by nature distributed. If it's broadly-used, no single person can destroy a repository. Copies of the hpricot repo are all over the internets.

I don't disagree that it's inconvenient, but it's not like he nuked a SVN master repository or something.

That's why we have DVCS these days.
The fact that Hpricot used a DVCS is a godsend in cases like this, but we still confront the fact that the software's canonical source, including its documentation, is gone. That Sucks, DVCS or not.
He got owned?
You know, I've been mulling over this "was it an immature/douchebaggy thing to do?" question, and my gut was with the "leave this guy alone, he doesn't owe you anything, it's open source" camp initially.

Then I thought - what if, e.g., Zed Shaw had done this? I have a feeling we'd all be calling for his head and claiming it was the biggest douchebag move he could make. So does _why get a free pass? Because he's so likable and has a special pedestal in the Ruby world?

I honestly don't know the answer to that, but it made me reconsider my gut knee-jerk reaction.

Yeah I think so too. My initial reaction was that this is his right, which technically I'm sure it is. It does call into question an unspoken rule of open source though, which is you can abandon your stuff if you want, but don't try to remove all traces, even if that is ultimately a futile act.
assuming that this is a tantrum, yes. not impressed, only really detrimental. at least have the courtesy to leave your stuff as it is for the people who have and will benefit from it, instead of scrubbing it all clean.

on the other hand, if this is a case of someone managing to crack/guess/etc his passwords and just wants to do some malicious damage, that would be too bad.

OTOH, I have to believe there are many people with copies of that code.
Agreed; it's really childish.