That sounds great, but it's a very fragile state of things.
While it certainly makes lives of Iranian developers easier, it does not make it a good idea to put their code there: laws change, and quickly sometimes.
Laws change and there are also a bunch of other ways to get banned from your code on GH. And once that happens, you have nowhere to go.
Much easier to migrate to a Gitlab instance. And they know this! Which is why it's so fun to see Github dancing around these issues lately. Finally some healthy competition.
I'd love to know how many times MS have tried to buy Gitlab. :D
Probably a naive question, but is there some way for all these elements to held in a git repo as well? Just move all your issues/trackers to another platform?
and users. GH, GL, BB are kind of dev social netwoks. Project assets can be archivised/mirrored easily with tools or API scripts, but there is no way to link them back to live users. Community needs to be rebuild at new place and thay is lot of effort.
On the other hand, hopefully the more contact Iranians have with the outside world, the more they will petition their government for peaceful relations with other countries. Obviously GitHub access isn't going to make the difference, but rather lots of these kinds of things in aggregate.
Unfortunately, github is 50% git, 50% proprietary code that you don't control and can't neatly export your data for other platforms. All these git hosts are walled Gardens. It's a sad state of affairs but not really limited to git (Gmail walled Garden despite email standard, messaging apps, etc).
Github has some great management tools for reviewing code and integrating with various integrations. But so does Gitlab, Bitbucket... and I'm sure there are more. They aren't 1 for 1 replacements, but they do exist. I'd personally recommend against using a ton of integrations that tightly bound you to any service.
Even more than that, as long as one person has the repo cloned you can bootstrap the entire project again, any single clone has the entire project history to the most recent point it was fetched. Git is neat that way.
That's not necessarily true. If your organization has tens of repositories with multiple important branches in each, all odds that at least some of those branches are lost.
Proper backups of all repos are an answer, of course.
The way we use git, master has everything that is production with short-lived feature branches for development work. Not needing to worry about git backups is perhaps the least of the benefits of this approach (and no real drawbacks as far as I can tell).
Yes, as answered in another branch, it's possible and reasonable to setup continuous / daily backups, if you're using a hosted Git service (Github or not). This will mitigate the risk of losing access to the code.
It's not advised for these Iranian developers to use any Github-specific features, such as issues, wiki, CI, because losing them will cause disruption / knowledge loss.
And then the reason to use Github specifically, instead of something else is quite low.
You don’t understand - there is no need to setup backups. Every user has a full “backup” of the repository (unless using sparse checkouts or other niche configs).
This is true for the source control aspects of Git, but not all of the project management aspects of GitHub. (wikis, gists, gh-pages: yes. issues, pull requests: no)
Does Iran not have it's own version of online git service after such a long time? I imagine it's not too difficult to set a barebone git hosting service up (without the hub functions, obviously).
I suspect to get the same level of availability and trust folks have in github 100% inside Iran using local hosting providers / infrastructure is actually a bit difficult.
I think it's kinda hard to compete with the big boys with limited resources / footprint even whit / perhaps because of sanctions.
While it certainly makes lives of Iranian developers easier, it does not make it a good idea to put their code there: laws change, and quickly sometimes.