Readit News logoReadit News
Posted by u/freemint 4 years ago
Ask HN: How to discourage use of code by totalitarians, militarists or fascists?
I know this could be accomplished using a license, however impossing additional restrictions raises issues with compatibility, hesitancy to use the software and finally makes the resulting license not free or not opensource. So I am looking for alternatives to a license based solutions, as they fail to be practical.

Do you have any ideas (or examples of something like this being done) how to discourage the use of code i own for military, collonialist, statist, ... purposes?

Edit:

I currently live in a sufficiently free country with a functioning state and I don't suspect that such interest are going to knock on my door soon.

retrac · 4 years ago
I think is not unlike asking how one could keep knowledge of nuclear physics out of the hands of terrorists, or countries that don't already have nuclear arms.

Ultimately, one cannot. Censorship and secrecy would slow down a recreation, of course. So would intentionally misleading tidbits. I recall, but cannot source now, reading about the Americans doing that back in the day, fudging numbers on isotope mass or something like that which they published. Though, I imagine it must have been hard to come up with both plausible numbers, that usefully misled, without derailing nuclear physics itself a bit as a science.

Maybe an odd thought, and I could be wrong -- but I don't believe the Cold War would have turned out any different, even if the USA had published complete plans of everything they built as they went. In the end, the danger is not the knowledge. Even a full set of plans with the manuals and whatever, would not let you do anything without least some personnel, and the resources, to build a weapon like that. That is where the problem is, the domain of people and politics and infrastructure.

You are not the first to ask this question, not by far. Sometimes the discussion is deep and thoughtful. But I have not run into a good answer yet for something practical one could do, to keep freely-available tools out of the hands of the misguided and malevolent.

oxinabox · 4 years ago
You can't do it with license. It causes more harm than it prevents. See how this played out with the JSON License https://lwn.net/Articles/707510/

We can assume: noone evil took heed -- because they are evil. The good on the other hand stood by their principles that even the evil should have free software; and so didn't use it. Thus causing suffering until it was reimplemented.

afarrell · 4 years ago
I still don’t understand how someone looked at that clause and did anything but giggle. I am always genuinely surprised when I encounter adults who think evil is well-defined enough for these purposes. Genuinely, I think this is a serious gap in my ability to empathize with other engineers and I am not sure what to do about it.

Deleted Comment

jka · 4 years ago
Well, first of all: people who claim that this isn't possible because "we're just developing tools" do have _some_ ground to stand on, but it's shaky.

What you can do is knowingly bias your software so that the functionality it provides, workflows it makes easy, messaging, and community all lean towards and encourage positive purpose. Ideally without artificially restricting anything, although it's a balance, and it's fine to ban and censor -- preferably with guidelines -- within your own project.

Additionally, where possible you can add friction and costs for bad actors by anticipating how they might want to misuse or bend your software (or community), and work to make that challenging for them.

Transparency helps a lot in both cases: it can illustrate your project's principles to the wide set of benevolent users, while making it more expensive for negative influences to gain a foothold (and more obvious in retrospect).

new_guy · 4 years ago
These people have zero hesitation in killing you and your family if you annoy them, they even take pleasure in it. Why would you think a 'license' would stop them?

oh noes!! a GPL license, our dastardly plot for world domination is foiled!!

Not to mention people will always work for a paycheck regardless.

freemint · 4 years ago
I never said a license would stop them.

However if they pick another software over mine due to soft choices I made when I creating it or building a community around I am less complicit.

If my software were to be inherently better compared to a politically non discriminatory software my software would put some weight on the social scales that decide where we end up as a society.

h2odragon · 4 years ago
If you're concerned your gifts will be misused (by the public); perhaps its better to withhold them entirely.

Also, couldn't the military use your stuff for humanitarian purposes? or is just being a member of a military organization enough to earn your disapproval? Can't trust someone who defers their judgement to "authority" voluntarily like that, yaknow.

freemint · 4 years ago
I have looked for license based solutions but beside the points i gave i above i found those efforts and the sorounding discussions entirely unimpressive. [1]

I could imagine community standards being a tool or bugs/tickets only being processed under conditions to such a a end but u have no idea how to go about something like this. Also i hope you have some different ideas.

[1] https://github.com/jamiebuilds/anti-fascist-mit-license

marto1 · 4 years ago
You can't really do that effectively. But I do believe you can keep their organizations (very) small by promoting and implementing decentralized solutions.
afarrell · 4 years ago
Option A) would be to not make the source of it available publicly but instead restrict access to it to those whom you trust.

Option B) Write a function to rigorously define military/colonialist/statist and then call that function and halt if it returns true. I am certain it would be easier to write a program that could tell ahead of time if your program would halt for any reason.