Create an empty repository on Github with the same name as the Gitlab repository. Register Github (origin) and Gitlab (upstream) since you cloned the Gitlab repository, its origin is set to the Gitlab repository. This needs to be changed to Github.
You can fork a project in GitLab by going to the project and clicking on the Fork button. This will create a copy of the project in your own namespace. You're allowed to do whatever you want with this copy as it's is your own.
The TOS states you agree to allow viewing and forking. It doesn't state that you agree to allow redistribution or use. If the terms don't explicitly state that you allow those things, then unless your license allows them they aren't allowed.
If you just want to track changes, first make an empty repository in GitLab (or whatever else you may be using) and clone it to your computer.
Then add the GitHub project as the "upstream" remote with:
git remote add upstream https://github.com/user/repo
Now you can fetch and pull from the upstream should there be any changes. (You can also push or merge to it if you have access rights.)
git pull upstream master
Finally, push back to your own GitLab repository:
git push origin master
If you don't want to manually pull upstream/push origin, GitLab offers a mirroring ability in Settings => Repository => Mirroring repositories.
The browser-only way:
Instead of forking, you can import any publicly available GitHub repository using only the web interface:
Used this technique recently, and it works on any public repository even without a GitHub account. See this GitLab docs page for the source of info.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With