site banner

Culture War Roundup for the week of December 5, 2022

This weekly roundup thread is intended for all culture war posts. 'Culture war' is vaguely defined, but it basically means controversial issues that fall along set tribal lines. Arguments over culture war issues generate a lot of heat and little light, and few deeply entrenched people ever change their minds. This thread is for voicing opinions and analyzing the state of the discussion while trying to optimize for light over heat.

Optimistically, we think that engaging with people you disagree with is worth your time, and so is being nice! Pessimistically, there are many dynamics that can lead discussions on Culture War topics to become unproductive. There's a human tendency to divide along tribal lines, praising your ingroup and vilifying your outgroup - and if you think you find it easy to criticize your ingroup, then it may be that your outgroup is not who you think it is. Extremists with opposing positions can feed off each other, highlighting each other's worst points to justify their own angry rhetoric, which becomes in turn a new example of bad behavior for the other side to highlight.

We would like to avoid these negative dynamics. Accordingly, we ask that you do not use this thread for waging the Culture War. Examples of waging the Culture War:

  • Shaming.

  • Attempting to 'build consensus' or enforce ideological conformity.

  • Making sweeping generalizations to vilify a group you dislike.

  • Recruiting for a cause.

  • Posting links that could be summarized as 'Boo outgroup!' Basically, if your content is 'Can you believe what Those People did this week?' then you should either refrain from posting, or do some very patient work to contextualize and/or steel-man the relevant viewpoint.

In general, you should argue to understand, not to win. This thread is not territory to be claimed by one group or another; indeed, the aim is to have many different viewpoints represented here. Thus, we also ask that you follow some guidelines:

  • Speak plainly. Avoid sarcasm and mockery. When disagreeing with someone, state your objections explicitly.

  • Be as precise and charitable as you can. Don't paraphrase unflatteringly.

  • Don't imply that someone said something they did not say, even if you think it follows from what they said.

  • Write like everyone is reading and you want them to be included in the discussion.

On an ad hoc basis, the mods will try to compile a list of the best posts/comments from the previous week, posted in Quality Contribution threads and archived at /r/TheThread. You may nominate a comment for this list by clicking on 'report' at the bottom of the post and typing 'Actually a quality contribution' as the report reason.

9
Jump in the discussion.

No email address required.

Update on the "Code is Speech" Front

Organizations like FFTF/EFF have long argued from a principle that "Code is Speech". Most recently, they applied their reasoning to maximum extent on behalf of Tornado Cash. I have long argued that while they are pointing at the barest kernel of a Motte (there is one case where pseudocode was being used in a textbook to provide an example in order to illustrate the ideas contained in the text, and that was deemed protected speech), examples like Tornado Cash are the Bailey, with the argument seeming to be something along the lines of, "Anything that you choose to do with code (...something, something, maybe as long as you open source it... something...) is protected speech." Ergo things like: Tornado Cash was open source code, therefore protected speech.

Matthew Green, a prof at Johns Hopkins, notable for being part of the Keys Under Doormats group and partnering with the EFF on Tornado Cash, joined with Andrew Huang, an inventor/engineer, to apply this principle in challenging the DMCA. They wanted to write code to bypass digital content restrictions, disseminate the ideas/methods of that code, and create/sell a device that implements it and allows the purchaser to just use that code to bypass said restrictions. They knew that there was a good chance of getting dinged by the gov't on DMCA grounds, so they filed a pre-enforcement challenge to see if the courts would bless their "Code is Speech" position and give them an assurance that they could not be prosecuted for those actions. This week, the DC Circuit weighed in.

The court split the case pretty much exactly between the Motte and the Bailey. That is, instead of treating the pair of individuals (and their respective proposed actions) as one in the same, the court recognized that the two individuals were proposing different actions - Green wanted to publish a book that describes ideas/methods for circumventing digital content restrictions (with example code), while Huang wanted to build/sell a device that actually implements that code and performs the actual action of bypassing such restrictions in the real world. The government had already conceded that Green's publishing of a book would not violate the DMCA, and so they could simply peel his part of the challenge off and ignore it (he's effectively already protected by the government's concession, so there's nothing else the court need do). Separately, Huang's device does not communicate any speech/expressive content. People would be buying it to use it, not to learn about how algorithms work. Therefore, Huang would not receive First Amendment protection.

I think this line is in about the right place, both as a theoretical matter and as a practical one. Practically-speaking, most people aren't going to be buying Green's book, then sitting down and coding up their own implementation to bypass content restrictions. So, to the extent that one thinks that reducing copyright violations is a worthwhile goal, this line probably does most of the job. I can already hear the rejoinder coming, "But isn't that pointless, because some people can still just go implement that code!? Once it's out there, it's pointless!" But it's not. Practically, there's still a big barrier to implementing it; the vast majority of people won't bother. No other law ever has ever been judged by its ability to 100% stop 100% of possible violations; that would be absurd; but it's somehow still commonly thrown out there in tech law arguments. Instead, if we embrace this speech/implementation divide, these cases are easy, and they usually come out the right way as a practical matter.

Tornado Cash: sure, it's fine for people to abstractly know how to use code to launder money; most people won't do it; maybe some small number will somewhere; if you actually do it, especially if you actually do it in a way designed to make law-breaking maximally-convenient for the masses (and you actually help the North Koreans launder money when you do it), you're going to get sanctioned.

Apple v. FBI: Recall, the FBI attempted to force Apple to help it break into the San Bernadino shooter's phone. Some tried to claim that writing code for the FBI to use would have been compelled speech. This case is another indication that if a follow-on to Apple v. FBI actually worked its way through the courts, 'compelled speech' would not likely be the grounds on which the gov't would lose.

I've posted about this idea before, but it's still relevant: someone should create a code-to-book encoder/decoder. Imagine if you had the following Python code:

def bubbleSort(arr):

    n = len(arr)

    for i in range(n-1):

        for j in range(n-i-1):

            if arr[j] > arr[j + 1]:

                arr[j], arr[j + 1] = arr[j + 1], arr[j]


You could rewrite it in a human-readable, deterministic and rigorous way as something like:

Create a new function named "bubbleSort" which has "arr" as a parameter.

Within that, assign the variable "n" to the value returned by the function "len" when it is passed "arr" as an argument.

Make a for loop with index "i" and the iterable returned by "range" when it is passed "n-1" as an argument.

Within that, make a for loop with index "j" and the iterable returned by "range" when it is passed "n-i-1" as an argument.

Within that, make a check testing the truth of the following statement:

the "j"th index of sequence "arr" is greater than the "j+1"th index of the sequence "arr"

If the previous statement is true, assign the variables "j"th index of sequence "arr", and "j+1"th index of the sequence "arr" to the value of the "j+1"th index of sequence "arr" and the "j"th index of the sequence "arr", respectively.

This concludes the if check initiated three paragraphs ago, the for loop initiated four paragraphs ago, the for loop initiated five paragraphs ago, and the function definition initiated seven paragraphs ago.

You could then publish it in .epub format and (hopefully) gain First Amendment protections because it's human-readable instructions. Someone else could download it and pass it to a program that knows "Create a new function named" translates to "def" and all the rest.

Here's a very trivial and absolutely unclear case: literate programming.

Consider the style of Jupyter notebook in which one produces a document, intended for human consumption (i.e. full of explanatory markdown cells) but which also has executable code cells.

If you publish the notebook under the belief that people will execute it, then you would not be protected. Intent doesn't really care about how direct or indirect you make the implementation; all that changes is the difficulty of proving it.

There's no bright line here at all. Give the right programmer a bunch of machine code (just hex numbers), and they can read it and tell you what it does. Perhaps laboriously, but the same is true of Ancient Greek.

Literate programming is also executable.

Take any jupyter notebook, click "restart run all" and it re-executes the code cells.