Hacker News new | ask | show | jobs
by alastairp 53 days ago
> What GitHub Gave Us

To me one of the clear things that GitHub gave us was a structure around a person rather than a project. To me it felt liberating to quickly create a repository attached to my name than it was to go through the (what felt to me) very serious process of coming up with a project name and reserving it on sourceforge just to get a cvs or svn repository (along with website, mailing lists, issue tracking(?), etc, etc...). It felt like the mental load of "oh this is just a quick thing" was a lot easier with github.

> It gave projects issue trackers, pull requests, release pages, wikis, organization pages, API access, webhooks, and later CI.

Although it didn't give us this all at once. I still remember when we created a new user account in order to simulate an organisation, before they existed. I distinctly recall discussing with friends if we wanted to set up a bug tracker software for our project with the assumption that "GitHub will probably release one in a few months anyway". In the end we just kept a text file committed in the repository. Issues were announced a few months later.

2 comments

>To me it felt liberating to quickly create a repository attached to my name

If I remember correctly, it was also one of the few places sticking to the now-standard passing of the parameters via path rather than the '?' URL query part.

It might not seem like much now, but then the ease and simple beauty of having just github.com/user/repo - not only for web access but also cloning - was definitely some freshness factor.

That was just a byproduct of how Rails did routing based on the URL
Definitely not. That's been a thing for at least as long as mod_rewrite has existed (and I'm sure there's prior art). It was common long before GitHub.
It happened, but not as often as you'd think. In 2017 I was arguing with someone that the back button should work and URLs should be obvious in a fairly large project and they said "people are used to the back button not working - like a bank website".
i've seen people argue about how the back button should work this year on HN
Path parameters has nothing to do with history replacement breaking the back button, did you mean to respond to someone else?
That was the "URLs should be obvious" bit - sorry, it was a bit buried.
GitHub was one of the first popular places to

1. not use query params for key entities in the URL

2. to stick user identifiers at the root path! totally unheard of to occupy such an important path at that point!

Taken together, this was entirely novel. Next to nobody did this. Twitter was the one other notable example, and that's literally all I can think of.

The URL bar was so different back then. It wasn't search by default. The average tech savviness of internet users was higher. People cared about URLs despite the fact most websites had garbage cgi-bin query string slop. Lots of folks had personal domain names. People typed URLs and shared them a lot - so this was a big deal, because they were memorable, unlike the other slop URLs at the time.

To give more character - HN's urls would have been considered exceptionally nice back then. The average URL was way worse and was littered with hundreds of query parameters.

A great deal of websites put your session token in the query params. PHP had first class ways of spending "sessions" to all urls. Essentially a cookie. It was disgusting.

GitHub revolutionized urls as a product. Even today, not many companies followed suit.

They're still the gold standard.

Reddit did it, linked in, most social media really, this is all just a throwback to /~user/ paths from apache and other early webservers. I think slashdot used the same convention.
Reddit doesn't have users at top level (point 2 of the parent post). This is I think a very distinctive factor, at least at that time.
Top level would be your name is the tld.

2nd level would be yourname.com.

3rd level would be yourname.site.com, like LiveJournal and Blogspot had a long time ago.

4th level would be site.com/yourname, like Myspace had a long time ago, and Facebook had after that, and Github had after that.

Once you sink all the way down to the obscure depths of 4th level, there's not much difference between site.com/yourname and site.com/whatever/yourname

I enjoy speculating on what could come from revisiting the first principles with our new tech stack.

The Fediverse makes it much easier to broadcast updates in a truly decentralized fashion. Maybe this can be the discovery layer instead of requiring a centralized social network in GitHub?

Git itself has many of the primitives needed, but issue tracking and CI/CD seem the main pieces still lacking. Seems likely that issues can be solved satisfactorily both natively in git, or in the fediverse. I bet that agents can pass branches/patches amongst themselves just fine, maybe native git (pulling from each others’ remotes on a crontab, or sharing patches by listserv) is actually completely viable now.

I also wonder if agents will cause a shift from forking and contributing back upstream, to more like horizontal gene transfer where people or tight teams broadcast their repos and other projects borrow/steal whatever may be useful. You see this with the Claws where maintainers are simply swamped with contributions and no way to verify whether they are correct/positive. (Things like “first time install on a Mac mini breaks at step 7, due to some iMessage issue” are fiendishly difficult to automate”)