Thursday, 3 September 2020

My PR was denied by Iranian Law

Contributing to the Laravel ecosystem

This morning I discovered a useful Laravel package for generating download links for files, that has some useful features, like expiry time, restricted IP addresses.

One thing was missing: assigning the DownloadLink for a specific user, so for example when somebody purchases a digital product we can generate a DownloadLink that will only allow him to download the file, and nobody else.

So I thought this is a good opportunity to contribute to the Laravel ecosystem 💡. I went ahead and forked the repo, added the functionality to assign a DownloadLink to a user, & submitted a pull-request (PR) to the owner of the repo, with a detailed explanation what I'm doing.

The owner of the repo was very fast, and within an hour already added some more features (assigning DownloadLinks to a list of users) and added tests. This is unlike some other PRs I opened, that are currently waiting for months...

Tehran, Iran

Some time later I checked back on the PR, and I was surprised to see that it has been closed, and not merged 😕. I opened it up, and this is what greeted me:

Hi, Thanks for your great idea. I'm SO SORRY to tell you that I cannot merge this PR. There is a law in my country that we MUST NOT have any relationship with people from Israel or the Israel government. I hope you understand this, and again thanks for your time.

Turns out he's from Tehran, Iran; and he saw on my GitHub profile that I'm from Jerusalem, Israel.

I was very surprised and also hurt. This is the first time I experienced the conflict between Israel & Iran first hand. I also never thought that Iran would have has such laws.

But hey, maybe I'm a Palestinian living in Jerusalem? Or does Iranian law not differentiate?! 🙃 [...aaahhh, my profile name is yiddishe-kop 😉]

I thought for a moment how to respond, and this is how I replied:

That's very sad, @armancodes. I hope one day your country removes this restriction, just like my country has never put such restrictions. However I'm sure that your governments restrictions don't represent your views 🤷‍♂️ . Good luck anyway! 😃

A friend later suggested that I should've responded like so 😅:

Hi, I'm from the IRGC secret intelligence 🕵️‍♂️, we just wanted to test your loyalty to the regime, therefore we create fake accounts. You can merge the PR without any problem

💡 🙃

OpenSource, Earth

Meanwhile, a few days later somebody posted this on Hackernews, and it was trending on the top of the list. People were discussing if the Iranian violated GitHub's TOS, and how an Iranian is using GitHub when Iran is currently under US sanctions.

Another interesting development - Behdad Esfahbod, an Iranian/Canadian open-source programmer, well known for his very large open source projects like HarfBuzz, (who recently had an ordeal with the IRGC) commented on the repo: Just merge it. Soon after that, the PR was suddenly locked for conversation by the owner.

What's with the code?

I'll probably just have to continue working on my fork of the repo for my own needs, but without being able to collaborate together, it is a loss for the open source community.

We all hope that the Iranian people will be freed from their ayatollahs, and be able to collaborate with whoever they want.