Item C2 in the Free Software Foundation's Ethical Repository Criteria requires that a repository host, such as Savannah or GitLab, "not discriminate [...] against any country". How can this be done while complying with applicable foreign law?

Consider a takedown order issued by some country A to a service in a different country. The order may cite copyright, patent, trademark, defamation, decency, radio communication regulation, medical device regulation, or any other national law. The service's legal team reviews the order and finds it to be warranted pursuant to the laws of country A but unwarranted pursuant to the laws of the service's home country. The service can do one of a few things:

  • A. Do nothing, making its assets reachable in some way by country A subject to official confiscation and causing country A to block access by residents of country A to all repositories on the service.
  • B. Block the affected repository in all countries, which encourages an adversary to forum-shop the most ideologically intolerant countries in order to get a particular repository taken down.
  • C. Geoblock the affected repository, limiting the damage to just that (repository, country) pair but violating C2. GitHub has done this with respect to orders issued by the Russian Federation, which forms part of its basis for its F (unacceptable) rating from the FSF.
  • D. Something that I have not imagined but your answer explains.
  • 3
    I would expect that adhering to the takedown laws of a nation would not constitute "discriminating" against people of that nation, but your Russian Federation case indicates my assumption is wrong! (By the way, it would be great if you could add a link to the FSF's itemized evaluation of GitHub, if one exists.) Great question.
    – apsillers
    May 2 '18 at 23:58
  • 2
    This question seems to assume that the FSF defines what is ethical. It is not necessary to agree with those values. In fact, Savannah's solution seems to be that they perform strong gate-keeping for their community, so many projects that might be subject to censorship might never be hosted on Savannah in the first place.
    – amon
    May 3 '18 at 19:45
  • 2
    @amon: I think OP means "ethical under the definition given by the FSF." Anything else would be off topic as opinion based.
    – Kevin
    May 3 '18 at 20:24
  • 1
    @apsillers It makes you wonder, if a country were to restrict software for all people in that country (hypothetical, of course), or if they were say, change copyright laws such that open source software can no longer exist, then would that repository be declared unacceptable? At what point then does the definition of software freedom become an attack-ish thing on a country's laws? Arrgh...
    – Zizouz212
    May 3 '18 at 21:08
  • @amon Kevin is right that I indeed mean FSF-ethical, hence fsf. May 4 '18 at 14:57

I'm going to assume that your ethical criteria are the same as the FSF's. I observe in passing that the FSF is not just focussed on traditionally-repressive regimes; one of the two C2-class failures in GitHub's report relates to US export controls.

As has been noted, GNU Savannah seems to deal with this by not hosting projects that might run foul of US export controls or Russian government censorship, or that might engage in any other behaviour that would cause a takedown order. There doesn't seem to be anything in the FSF's guidelines that requires your ethical hosting service to accept all submitted sources, nor do the guidelines bar you from writing an Acceptable Use Policy that would allow you to remove any such content. You just can't host something that you give only to some people, and not to others.

Alternatively, you might wish to consider running your repository inside Tor, as a hidden service, which might give you the freedom to ignore national laws, at least until you accidentally de-anonymise yourself.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.