← Back to context

Comment by gnosis

13 years ago

That my work may be used for highly unethical purposes such as waging war is one reason that makes me think twice before releasing software.

I think about this sometimes, and I think it ultimately comes down to how society acts as a whole, which is mostly out of our direct control. Society can use any tool for good or evil; just as a knife can cut bread or hurt a person, so too can Apache serve Wikipedia or serve the MPAA/RIAA's intranet.

There's definitely a cutoff point (if you're designing a nuclear-tipped rocket, there's usually just one reason for that) but stressing about whether or not the general-purpose software we create will be used for evil will only frustrate the cause of good.

  • > a nuclear-tipped rocket

    What if your nuclear arms are never meant to actually be used, but the implicit threat of having that capability will keep your country from being bullied by other countries?

    Not even nuclear weapons are entirely black-and-white.

    • > the implicit threat of having that capability will keep your country from being bullied by other countries?

      A state arms itself with the most terrible weapons, and the best soliders, with that very idea in mind.

      Nuclear weapons are nothing new, in that regard.

      However - the existence of a weapon implies that it will be used, if the bluff fails.

      Shorter: no such thing as a weapon not meant to be used. You just hope real hard they won't be.

    • A nuclear tipped rocket is indeed not a great example.

      On the other hand, say you had someone with a passion for rocketry and space, who found that the best way to pursue their dreams at the time was to build conventional bomb tipped rockets with slave labor...

      Still not exactly black and white, but a good deal less fuzzy I think.

    • Frankly, I find that about as black as black gets.

      Playing chicken with the future of the whole world in order to gain a little bit of negotiating leverage? Pure evil.

      3 replies →

I wouldn't be able to view it so black-and-white. For example, what about waging war for independence against a tyrant or waging a war to prevent genocide? What is considered highly unethical is also highly subjective.

  • Nit-picking: Wars are not waged to prevent genocide. Countries are left alone to kill their own people, and afterward we may punish the perpetrators, but no action is ever taken before or during a genocide. Also, waging a war for independence is typically called an "insurgency" or "terrorism", sometimes with a more heroic title such as "revolution" or "uprising".

    What's not subjective is that war is (almost) always fought for the wrong reasons. As far as ethics, "Just War" is pretty ridiculous; that the highest officials in power think it's a good idea to murder people, but only in specific ways, is just a joke.

    • > What's not subjective is that war is (almost) always fought for the wrong reasons.

      But that is subjective.

What about TOR? It's used for war and child porn but it also has a thousand other use-cases where it's helping fight repression and supports free speech, privacy, etc.

You could add a clause that states that your software can't be used for certain purposes. That might not stop its use in some cases, but large corporations that supply the military would likely think twice.

That said, in (almost) whatever country you're in, there are people out there putting their lives at risk to defend your freedom. Sometimes they probably end up bullying people for no good reason (perhaps even over the course of years) and engaging in self-sacrificial operations, but that's not their _only_ function.

  • > You could add a clause that states that your software can't be used for certain purposes.

    At which point it ceases to be considered "open source" software under the usual definitions. So you might as well just leave it closed source and refuse to sell licences to people you don't like.

If your software works people will use it for something ethical or something unethical. If it works well unethical people will use it and ethical people won't touch it, because it isn't approved by the establishment of ethical people, it isn't the status quo etc.

This really happened with nginx. A group of people in 2003 or so wouldn't use nginx because youporn used it.

I can understand not wanting to be involved. but unless you're building something designed for war or violence, you are not participating.