Hacker News new | ask | show | jobs
by ddtaylor 1737 days ago
> This project is a fork of the official QEMU repository

Why isn't it _actually_ a fork though? I don't like when projects do this and don't actually make it a fork.

4 comments

> Why isn't it _actually_ a fork though? I don't like when projects do this and don't actually make it a fork.

From Wikipedia:

In software development, a project fork happens when developers take a copy of source code from one software package and start independent development on it, creating a distinct and separate piece of software.

This seems exactly what happened here.

Are you asking why they didn't use Github's "fork" mechanism?

Github's "fork" mechanism creates a relationship between the two repositories that the developers of this software may not want. For example if the "upstream" ever becomes unavailable, all Github "forks" are auto-deleted. This is surprising to some people and definitely not what an independent separate development would want.

At first glance that sounds awful, but presumably if it was remaining active, it would simply exist again (just not as a labelled 'fork') on next push?

Bit weird/worrying as a user or whatever looking for the repo on Github between deletion and push, but probably not a big deal in the grand scheme of things?

This is _actually_ a fork. A fork is a separate repository sharing history with another.

The GitHub UI's concept of a "fork" is unrelated to Git. GitHub doesn't detect you made a proper fork if you don't use its API or UI to do so, and requires contacting customer support to change it.

Not worth the hazzle as it provides no benefit.

Also, QEMU upstream isn't on Github, so the notion is even more pointless.
QEMU does have an official mirror on github (https://github.com/qemu/qemu) so I don't think it is that unreasonable
I read a blog post a few years back discussing some issues with Github's fork feature (as opposed to just creating a new repo that isn't explicitly linked to the original within Github's UI). From a quick search, I believe this[1] was it, and I remember finding it fairly compelling.

[1]: https://zbowling.github.io/blog/2011/11/25/github/

I recently found this article, which probably repeats the same points, but with a very concrete example (Linux kernel development): https://blog.ffwll.ch/2017/08/github-why-cant-host-the-kerne...

It was an interesting read because Linus has repeatedly dismissed github for kernel development, and he never explains why in detail (as a consequence most news reporting his soundbites are not very informative either)

What do you mean?
I'm assuming they mean it wasn't forked by clicking the "fork" button in GitHub, which creates a link at the top of the new forked repository page connecting it to the parent repository.

It is a true fork though, both projects have the same commit history.

It wasn’t created as a GitHub fork