How does GitHub work ?