News for hackers. Stuff that matters.
Re:Dear GitHub by simoncion on Thursday January 14, 2016 @08:55PM (#10906533)
> I normally put a big "[DEPRECATED]" notice at the beginning of the README.

Aye. Some folks in the discussion linked to by krschultz complain that "People sometimes don't read the README and -thus- don't notice deprecation warnings.". To them I ask: "What makes you think that those sorts of people will notice anything less than an overlay that prevents them from interacting with the Github UI for that particular repo?".

Re:Dear GitHub by clinta on Thursday January 14, 2016 @09:26PM (#10906693)
One concern would be around tools that fetch from github automatically. go get for example would need some sort of structured metadata if it wanted to surface an error to a user that a library is deprecated.
Re:Dear GitHub by simoncion on Thursday January 14, 2016 @10:09PM (#10906874)
> One concern would be around tools that fetch from github automatically.

Sure. But... like... git doesn't know anything about deprecated repos. AFAIK, that's not a feature of git's repo fetch machinery. Anything Github would do to address this would have to modify the contents of the repo, right?

> ...go get for example would need some sort of structured metadata [to do reasonable repo deprecation warnings]

I mean, the JavaScript development community has -collectively- decided on a huge bundle of ad-hoc standards. I bet that it would be trivial for the signatories of the open letter to decide on a tagging mechanism to use in their README files to indicate repo deprecation. Do you disagree?

Re:Dear GitHub by clinta on Thursday January 14, 2016 @10:54PM (#10907060)
Go get does not start with a git clone. If you go get example.org/pkg/foo go fetches https://example.org/pkg/foo?go-get=1. So coordination between go and github could implement something for deprecated repositories without changing anything in git.

More details here: https://golang.org/cmd/go/#hdr-Remote_import_paths

Re:Dear GitHub by simoncion on Thursday January 14, 2016 @11:03PM (#10907094)
> Go get does not start with a git clone.

Fair enough. (I don't use go, so I'm unaware of pretty much all of its internals.) [0]

> ...coordination between go and github could implement something for deprecated repositories without changing anything in git.

A couple of things:

* This only fixes things for Golang. It doesn't fix it for the couple-thousand other tools that pull things from Github.

* I never suggested changing things in git. That would be freaking nuts. :) EDIT: Or did you mean "without changing anything in the git repo"? If you meant that, then I strike this bullet point and apologise for the noise. :)

* Frankly, having a well-known file in your Git repo that contains meaningful tags seems far more compatible than changing git, or altering the $BUILD_TOOL<->GitHub integration... for one thing, the convention could be trivially adopted by non-git users. :)

[0] Thanks for the documentation link, BTW! :D

Re:Dear GitHub by newjersey on Thursday January 14, 2016 @10:36PM (#10906996)
I am not your grand parent poster but I fully agree with you and I'd go further than that.

The people who ask for more proprietary features (or should I say anti-features) in Github are encouraging lock-in inside of Github. Github ought to be a hub. I'd like to emphasize on the hub part as it should be one hub out of many. It should not be the center of the software universe any more than AT&T/IBM/Microsoft/Google/Facebook/Uber.

Re:Dear GitHub by simoncion on Thursday January 14, 2016 @10:47PM (#10907040)
> Github ought to be a hub.

So, I heartily agree that vendor lock-in is bad. [0] However, git doesn't handle mailing lists, or issue trackers, or hands-off repo push access control, or.... So, if you're going to do more than just serving git repos, you're almost certainly going to have to do these things yourself, and you very well might end up doing them in a way that differs from how everyone else is doing them.

I mean, as long as you can get complete exports of the data in the important non-git bits, who cares, right?

[0] I'm STILL mad about how Hangouts turned out.

Re:Dear GitHub by newjersey on Friday January 15, 2016 @12:11AM (#10907341)
At the very least, we could try to create standard conventions for vendors like github to adopt
Re:Dear GitHub by kbart on Friday January 15, 2016 @02:33AM (#10907804)
Agree. I've had literary thousands of libs/tools/apps dependencies in one of my projects that was built using automatic tools (Bitbake + Yocto). It's simply impractical to go through all these README's manually, so a tool to detect depreciated projects is a must in such situations. Of course, one could implement some tool to scan all README files for keywords ('DEPRECIATED', 'UNMAINTAINABLE' etc.), but that's just a workaround and I'd like a proper, reliable way to do that.
Re:Dear GitHub by slavik81 on Friday January 15, 2016 @02:52AM (#10907850)
What if the maintainer never marks the library as deprecated? What if they're just hit by a bus?

I feel like if you have so many direct dependencies that you can't keep tabs on them, you simply have too many. Whoever decided it was OK to depend on that library should be able to follow it closely enough to say when it cannot be depended on.

Re:Dear GitHub by kbart on Friday January 15, 2016 @04:18AM (#10908118)
"What if the maintainer never marks the library as deprecated? What if they're just hit by a bus?"

There are a lot of "if's" and many things might go wrong -- there's almost never 100% guarantee, but every mean that makes end product more reliable is a good idea.

"I feel like if you have so many direct dependencies that you can't keep tabs on them, you simply have too many."

Such number of dependencies is common when building custom Kernel/OS + application. Also, I've never mentioned direct dependencies, some are just tools to build tools. It wasn't event that big of a project -- a relatively small (~150 Mb) custom OS with Qt application for an embedded device.