DEV Community

Cover image for Github Must Be a Free Platform

Github Must Be a Free Platform

Milad Nekofar on July 26, 2019

Github was a free platform for everyone since many years ago, but it has decided to restrict Iranian accounts. We believe living in a country is no...
Collapse
 
kungtotte profile image
Thomas Landin

The problem isn't that GitHub isn't free, the problem is that for some reason the open source community collectively decided that all development must occur on GitHub: a proprietary platform.

There are several alternatives to GitHub that you are able to self-host that would not be subject to US law (hosted out of countries that don't sanction Iran), and even though it might be too much for a solo developer to do on their own the open source community should band together and fund efforts to spin up GitLab/Gogs/Gitea/Sourcehut instances in places that aren't subject to these sanctions.

This issue will happen with any service hosted out of the US, it's the laws that are broken in this case. Not GitHub.

Collapse
 
prahladyeri profile image
Prahlad Yeri • Edited

Totally this. A website isn't even necessary for collaborative development, all you need is git software and a group email!

For issue tracking, you can use something like self-hosted bugzilla (or one of the several free instances out there). And for discussions, there are always things like mailing lists, forums, IRC, social networks, reddit, etc. That's how it used to be in the good old days. I don't understand why one even needs a code hosting facility.

Collapse
 
voanhcuoc profile image
Khoa Che • Edited

That's a step back, Github and Gitlab did lower the barrier of accessing and then getting started to contribute to open source.

The old days is not that good. Mailing lists solve the problem of group communication, but with a twisting mental model. In my opinion, email should just be for announcements, doing public communication by email is like writing embedded software in JS, it works, but not great. Another fuss, we can't modify email that has been sent, it let people think more before posting, but people will be more afraid of posting. Forum is just better for every communication.

Bugzilla is ugly. I think issue tracker should just be a git repo with hooks to enforce its integrity. Then we can have many front-ends for it (GUI, CLI, web).

Github and Gitlab glue things up, they work on integrations so we developer have better experience, that's why we use them

Thread Thread
 
kungtotte profile image
Thomas Landin

GitLab, Gogs, and Gitea are all self-hostable and offer the same tools that GitHub does, if it's the convenient packaging you're after.

Sourcehut can also be self-hosted but they promote a mailing list based workflow, which I think is less of a problem than you make it out to be but then we don't have to agree on this point either :) That's the beauty of FOSS, we're free to choose for ourselves.

Collapse
 
thefern profile image
Fernando B 🚀

I spin my own git server with raspberry pi and I also use gitea. Github has nothing to do with this restrictions they're merely following US laws they don't have a say in that. All US companies have to comply with trade restrictions. Whatever you do please do not host all your code in one single point of failure.

Collapse
 
nekofar profile image
Milad Nekofar

In an ideal world, decentralization would be the best solution.
But as how as you know, GitHub is not a simple Git hosting these days.

Collapse
 
kungtotte profile image
Thomas Landin

All of the options I mentioned offer everything github does, and they're all open source too and you can self host them.

I know github isn't just git, but we don't need github to do exactly what we are doing today.

Thread Thread
 
knownasilya profile image
Ilya Radchenko

None of the solutions mentioned are decentralized. Git is decentralized but those services are not, even if self hosted. There are very early projects like codeonchain.network/ and others starting out that are.

Thread Thread
 
kungtotte profile image
Thomas Landin

Different instances of X can replicate between each other, so you're not siloing your development, and by decentralisation I was referring more to the fact that not all open source development has to happen on a single platform.

It's OK if some projects are on GitLab, some on Gitea, and others on Sourcehut.

True decentralisation can be a worthwhile goal down the road, but right now we can solve the problem using the tools we already have.

Thread Thread
 
knownasilya profile image
Ilya Radchenko

Then we agree 😄

Collapse
 
yaser profile image
Yaser Al-Najjar

IMHO, the problem ain't in GitHub; it is in the US.

Collapse
 
maxart2501 profile image
Massimo Artizzu

Or maybe just a bunch of persons in the US, who happen to take these decisions.

Collapse
 
yaser profile image
Yaser Al-Najjar

They don't happen, they were elected 😬

Thread Thread
 
maxart2501 profile image
Massimo Artizzu

Fair enough... But still, they haven't been voted by the whole population. Far from that, actually.

Thread Thread
 
voanhcuoc profile image
Khoa Che

Even if they are voted by the whole population of US, why on earth should they have control over a world-wide community!

Thread Thread
 
maxart2501 profile image
Massimo Artizzu

Technically, they don't. They have control over US-based companies like Microsoft, in the sense companies have to abide by the laws that prevent them to do any kind of business with embargoed countries. GitHub happened to be in the line of fire.

It's a grim game of international politics and I don't want to dive into that. But, as I said, it's a two-way route, as GitHub has been often blocked over local censorship laws. Not to mention Twitter, Facebook, Whatsapp, Telegram, Youtube, etc.

I'm sure you're aware of that. The point is that the community is affected, but not out of options. As other mentioned, there are alternatives - although not as good, I'm afraid 😟

Collapse
 
prahladyeri profile image
Prahlad Yeri

The problem isn't with Microsoft acquiring Github, the problem started when Git became centralized in the form of Github! The more centralized a system is, the easier it is for authoritarians to control.

Collapse
 
maciek134 profile image
Maciej Sopyło • Edited

Git cannot be centralized by design. I don't get how people can host all of their code on some company's servers without a backup and blame it when something goes wrong due to politics. And you have to really try to not have a backup when using git.

Thread Thread
 
ltngames profile image
LTN Games

One problem on GitHubs side of things was the sudden suspensions without warning or notice. GitHub could've at least gave them a heads-up to backup they're current repositories before being suspended. It does not affect me but man I'd be some pissed if it was sudden and without notice.

Thread Thread
 
voanhcuoc profile image
Khoa Che • Edited

P/S: why @maciek134 's post don't have reply button but a 'thread' word in that position instead?

@maciek134 That's the problem of identity, our repos, our projects is identified by URLs control by these hosting services anyway.

A solution is having our URLs redirecting to those URLs. But I don't feel so good about it.

Collapse
 
thefern profile image
Fernando B 🚀

Git is a software anyone can host in any server. People choose github for repository hosting but that's not git.

Thread Thread
 
udiudi profile image
Udi

I think he meant that these days, when so many developers and projects are on GitHub, this is the place to be to take part of the community.

Collapse
 
akashkava profile image
Akash Kava

Tomorrow it can be any country, it’s time to get out of Github and get a really free alternative that is not subjected to US’s proprietary laws.

Collapse
 
maxart2501 profile image
Massimo Artizzu • Edited

There is already a bunch of countries and territories that are subject to such sanctions, not just Iran.

But the opposite also applies, it's GitHub that's blocked by other countries...

Collapse
 
thefern profile image
Fernando B 🚀

There's has always been a solution. Host your own git server.

Collapse
 
akashkava profile image
Akash Kava

Well collaboration does not work easily with own git server, integration with many other tools and it is as good as doing private development.

Thread Thread
 
thefern profile image
Fernando B 🚀

Gitea is the closest thing to github. Obviously you'll need to point your team to the server to collaborate but you won't be dealing with nonsense government bans on github. Is just a solution not a perfect one, but a solution nevertheless.

Collapse
 
itachiuchiha profile image
Itachi Uchiha

Maybe the next country is Turkey (My country). Because our government bought S-400 missiles from Russia. That explains why software must be free and open source.

Gitlab, BitBucket, and GitHub is a dependency today. Maybe you can't use Jira tomorrow.

Iranian or Cuban people, they didn't have a chance to choose their nationality. Even if they have a chance, freedom can't be disallowed.

Collapse
 
udiudi profile image
Udi

I think in general, as the population of the world, we should make an effort to be beyond the politics, and not let few leaders to define our relationships.

The global world allows us to connect to each other directly, and it's awful when this connection is restricted.

Collapse
 
itachiuchiha profile image
Itachi Uchiha

I agree with you completely. You might know, our governments always fighting. This shouldn't be restricted us. I don't know why this happens. We're just a group of human. Like the others.

I hope everything will be fine.

Collapse
 
udiudi profile image
Udi

I wish a company with the size of Microsoft would've taken a stand against such measures.. this behavior doesn't promote dialog and peaceful way of living, very sad for you brother.
It isn't fair that several people in the US and Iran can cause these life altering crap for the masses =/

Sending love from Israel <3

Collapse
 
nekofar profile image
Milad Nekofar

I agree with you and thank you for your support. ❤️

Collapse
 
ssimontis profile image
Scott Simontis

It's the law. A stupid law, but it's still the law and when the US government enforces it; they don't really have a choice but to comply. Let's be careful about making this a constructive dialog; most of us in America are not proud of the way our government acts, ever. Offline backups and choice of a self-hosted platform could have prevented this.

Collapse
 
tallship profile image
Bradley D. Thornton

No, not at all - it's not a right, it's a privilege extended by a private, proprietary system (GitHub).

I feel your pain in losing access to your private repos, but best in mind that keeping anything in only one place defies the laws of redundancy.

What you might have done (and I realize that at this juncture that is woulda coulda shoulda) it's a little late to implement such redundancy, but you can easily mirror your GitHub and Gitlab.com repos on your own Gitea instances.

Gitlab is a service with free accounts just like GitHub, except that it's not proprietary software like GitHub's (they have a self-hosted community FOSS edition).

That gives you a convenient web frontend to git, and although you are correct that GitHub is still the defacto 'place' where people search for publicly archived projects, I fail to see the point in thinking it's, "the place" for private repos in anyway.

Most people out things up at GitHub so they can be found and have their repos mirrored elsewhere.

If you deploy a Gitea instance, you can also take advantage on Android of the Gitrex app which is available on F-Droid.

I hope that helps :)

.

Collapse
 
nekofar profile image
Milad Nekofar

Thanks for the explanation you gave. But unfortunately, this is not a simple issue that could be solved by a change in our hosting solution.

GitHub is a large part of the open-source community. Consider you are part of an international open-source project and you lost access to their repository.

This is what that happened to one of my fellow who works in the nuxt.js project.

Collapse
 
kungtotte profile image
Thomas Landin

How would changing your hosting not solve it? If the project is hosted on something that's not GitHub and outside US sanctions then all your contributors can access it just fine.

I'm not saying that moving the project is trivial, but it would solve the problems...

Collapse
 
dploeger profile image
Dennis Ploeger • Edited

Ah well, yup. That's a really bad thing. I'm sorry.

However, decentralization doesn't actually work. I saw the same arguments after Microsoft bought GitHub and everybody envisioned a proprietary disaster (which didn't come btw) and with WhatsApp being bought by Facebook and everybody tried to switch to Threema and the like.

Decentralization just doesn't offer the comfort and inclusiveness as a central platform like GitHub.

As sad as this may be.

So only a central platform on a full open source base without financial bounds led by a elected flock of people would be the only thing working.

You might see some problems in that statement. 😉

Collapse
 
kungtotte profile image
Thomas Landin

Decentralisation worked fine back when every project self-hosted their VCS/webpage/mailing list/bugtracker/build servers...

Collapse
 
dploeger profile image
Dennis Ploeger

I wouldn't call that "fine". It was just like that back in the days but platforms like GitHub really gave open source projects and the complete community a major lift imho by providing visibility, simplicity and a lot of features that made organizing the projects a lot better.

And do we really want to go back to Bugzilla and mailing lists? Brrrr! 😉

Thread Thread
 
kungtotte profile image
Thomas Landin

There are other bugtrackers than bugzilla, and there are three providers of GitHub-like tooling that you can self-host anywhere (GitLab, Gogs, Gitea). No need to involve yourself with mailing lists if it's such a bother.

We've put too many eggs in the GitHub basket and we're paying the price now.

Imagine what happens when Rust crates are orphaned because of something like this, since they tied their infrastructure to GitHub.

Thread Thread
 
dploeger profile image
Dennis Ploeger

Or Homebrew.

Collapse
 
hadigolkarian profile image
Hadi Golkarian

what's the point of limiting access to services like google cloud for a developer that knows how to change his ip address with a click of a button?
as a developer currently working from iran i have my vpn connection open all the time to bypass restrictions both from inside and outside. 😫

Collapse
 
thefern profile image
Fernando B 🚀

Based on the comments here tons of devs don't know about vpn or ip spoofing. Github has nothing to do with freedom as this post talks about. Is just politics and tradition restrictions laws which github has no control over.

Collapse
 
fsalehpour profile image
Faramarz Salehpour

Almost all of the Iranians use a VPN on a daily basis. GitHub has blocked Iranian users based on their nationality, not their location, so using a VPN doesn't solve the problem in this case.

Thread Thread
 
thefern profile image
Fernando B 🚀

yeah just read on the other comment about this, I know is difficult dealing with politics and all that, I don't follow none of it.

So no chances of bypassing, some other way? I can't remember but was nationality asked when the account was created?

Collapse
 
nekofar profile image
Milad Nekofar • Edited

GitLab hosts on Google Cloud servers and, Google blocked access of Iranians IPs over Google Cloud servers since a couple of years ago.
Also as I mentioned before, GitHub centralized Open Source, and Software Development worlds these days, just think about all that services that depend on GitHub. Also, GitHub is the largest developers social network as we know.

Collapse
 
solarliner profile image
🇨🇵️ Nathan Graule

I think this can be the starting point for a true companion to Fit; one that is as decentralized as Git is. A project that has the likes of Mastodon, but for code sharing. Spin up instances for groups of repos and also general purpose ones. Should an instance go down for whatever reason, the others are still there.

Collapse
 
areahints profile image
Areahints • Edited

i remember not too long ago when freecodecamp changed something relating to content and @ben (the founder) and a lot of people made so much fuss that they reversed it, i hope we can see a similar rally here

the move really stinks tbh.

Collapse
 
gabgab2003 profile image
DownloadPizza

Yeah, no, not possible, this is out of MSs hand. This is the US government. The only way to fix this is that the US rolls back, or we do everything to hold the status quo until the new elections. I really wish this wasn't a political issue, but it is.

Collapse
 
hyperpress profile image
John Teague

So the point that's overlooked is if you have repos on GitHub you have a backup of that repo as a Gift repo. That's how it works. GitHub has brought together more freely available software than any other service. There's a reason they're so popular.

The other issue is about GitHub and American company being forced to follow laws of the US.

I have never been a believer in economic sanctions. I have Iranian friend just as I have friends from other countries.And I hate these sanctions, but I don't blame GitHub for following the law, even the dumbest ones.

Collapse
 
hkh12 profile image
Hosein Khansari

Being a dev in Iran is a sad story :(

Collapse
 
oygen87 profile image
Eugen Cazacu • Edited

what other alternatives do the persian devs have besides Github?

Collapse
 
nekofar profile image
Milad Nekofar

Perhaps self-hosting, but as you know GitHub is not just a git hosting anymore. GitHub is the infrastructure of many things these days.🤷‍♂️

Collapse
 
kungtotte profile image
Thomas Landin

And that's the problem.

We shouldn't let it be part of our infrastructure, we should be building things to be platform agnostic.

Collapse
 
syntaxseed profile image
SyntaxSeed (Sherri W)

Did GitHub obey this law BEFORE it was bought by Microsoft? Or is this a new thing?

And if not, what has changed that GitHub claims to now 'have' to obey this law?

Collapse
 
alexdavos profile image
Alex

I could be mistaken but I believe this sanction was only recently re-enacted after a treaty between the US and Iran was broken by the US.

Collapse
 
syntaxseed profile image
SyntaxSeed (Sherri W)

I wonder if other countries were being blocked before?

Collapse
 
mohammadne profile image
mohammadne

It is Shuthub than GitHub.
Also I restricted yesterday.

Collapse
 
mohammadne profile image
mohammadne

Focus that many alternatives restricted Iranians people, for example Gitlab and...

Collapse
 
peter279k profile image
peter279k • Edited

That's right, and I think the GitHub platform should not effected by the political issues.

Collapse
 
nekofar profile image
Milad Nekofar

The tragedy of being a Software Developer in Iran, and now add GitHub sanctions to the list.

shahinsorkh.ir/2019/07/20/how-is-i...

Collapse
 
marvinschopf profile image
Marvin

Totally agree.

Collapse
 
prestongarno profile image
Preston

"but it has decided to restrict Iranian accounts."

No, it has not decided anything. International law is the cause, not GitHub. It's more than what you are saying.

Collapse
 
nekofar profile image
Milad Nekofar

In the sanctions laws, sanctions have been introduced that, if there is no financial transaction account, there is no problem and the server should not restrict access to your personal account. But as we can see GitHub decides to restrict all accounts.

Collapse
 
darthwalsh profile image
Carl Walsh

Isn't gitlab.com already just the base software? It seems that most of these projects just need to move to a non-US GitLab instance.

Collapse
 
agronick profile image
Kyle Agronick

Theres a simple solution. Use a proxy. There's nothing Github can do.

Collapse
 
nekofar profile image
Milad Nekofar

It is not a simple IP restriction, they blocked every account that logged in from one of the sanctioned countries in the past year.

Collapse
 
misagh90 profile image
Misagh Ghasemzadeh

Hosting companies, Slack & now the GitHub :(

 
thefern profile image
Fernando B 🚀

I have gitea setup on a raspberry pi and works great.