Is it really open source if…?

I see this question asked (or stated as an accusation) with some regularity: “is it really open source if ___?” Fill in the blank with whatever. For example:

This conversation started with a criticism of GitHub restricting Iranian users in order to comply with US law. Like true Scotsmen, we all have a notion in our heads of what open source means, and the picture doesn’t always align from person to person.

Part of the problem is that there are two separate parts: the output and the input. The output is the legal part. The part that deals with licensing. That’s easy to deal with. Software is open source if it is presented under a license that meets the Open Source Initiative’s definition. Easy.

The hard part is that open source also has a cultural component to it. This is the input. There’s a community involved in the project. That’s often what people think of when they consider “open source”, but it also has no real definition. So we argue about it. A lot.

Is it really open source if you don’t allow it to be used by Iranians? No. That violates number 5 in the Open Source Definition. Is it really open source if you don’t allow Iranians to be in your community? Yes. Does that make it right? Well, that’s the real question we should be asking.

5 thoughts on “Is it really open source if…?

  1. > Is it really open source if you don’t allow it to be used by Iranians? No. That violates number 5 in the Open Source Definition.

    But who would write a license like that? I might be legally prohibited from _distributing_ my software to a country under an embargo, but that doesn’t mean I need to write it into my own terms. If I put an ad in the paper to sell a used car, I don’t add a line that the offer is not valid to embargoed countries. Similarly, if I share my code with a non-embargoed entity, and they share it further, that’s probably beyond my reasonable control.

    The cultural side I think this speaks more to the issue of centralization coming to dominate open source, and the problems that creates. If I don’t use Slack or GitHub, but host my own chat server and git repo, then I’m subject only to restrictions placed on me or my chosen host. Maybe I could even use a distributed system so that there’s no such thing as a single (national) point of failure.

    But, honestly, I don’t do that, so I’m a part of the problem. I use Slack and GitHub and Google * and many other services because they’re simply easier – both for me, and for (most) of the people I’m collaborating with. The cost of being easier for most people I collaborate with is that I’m also probably excluding someone. Is that okay? I’m not sure. I go back and forth on that question a lot. In general, though, I try to be flexible to accommodate the people I’m actually working with, as opposed to solving the hypothetical/academic/moral question.

    Thanks, as always, for making me think on a Monday morning. 🙂

  2. @Chris

    > if it’s illegal in my country for me to open it to your country, am I to break the law to meet a definition?

    That’s a decision you must come to on your own terms. I am not a lawyer. 🙂
    But in seriousness, I don’t think anyone would say you had to. You can’t restrict _by license_, who may use the software, but you can say “I am not legally allowed to give you this software, so I won’t.” So for example, U.S. law might prevent you from giving the software to someone from Iran, but you can give it to someone from Australia and they may be allowed to give it to an Iranian.

    And you’re certainly under no obligation to accept input from anyone, or prohibited from discriminating against contributions from anyone. This, I think, is the more apt scenario for what the tweet that prompted this post was talking about. It’s unreasonable to say “this project isn’t truly open source because I can’t get to the service used to develop it.”

  3. @Jason

    I apologize for making you think. :-p You’re right that no one would write that term into a license, but people have written in other things (e.g. can’t be used to make weapons) into licenses. Of course, I don’t think people should be writing licenses anyway.

    You’re right about the centralization issues. I think some degree of centralization is inevitable because projects want to develop their project, not run their infrastructure. And it lowers the barrier to entry when you’re on GitHub because so many people already have GitHub accounts. But there are costs associated with the convenience, too. Maybe that will be a future post.

  4. Pingback: Decentralization is more appealing in theory than in reality – Blog FiascoBlog Fiasco

Leave a Reply

Your email address will not be published. Required fields are marked *