| Legal and/or Non-Violation of Terms | Illegal and/or Violation of Terms |
|---|---|
Addressing violence online
What can states do to prevent or reduce political violence? Describe several options and discuss advantages and disadvantages.
–2. (a) economic factors are not reliable predictors of terrorist activity; (b) social factors help drive right-wing terrorism (Piazza 2017)
–3. (a) paths of radicalisation: ideological, instrumental, solidaristic - (della Porta 2018; Bosi and Porta 2012); (b) 5 barriers to mass violence: i. viewed as counterproductive, ii. preference for interpersonal violence, iii. changes in focus availability, iv. internal org. conflict, v. moral apprehension (Simi and Windisch 2020)
–5. post-conflict radical milieu can be key factor in mobilising for political violence (Metodieva 2022)
–7. common profile of ISIS foreign fighters: male, well-educated, urban, unmarried, and young (Morris 2023)
–8. violence decreases turnout but that the effect is larger for anti-systemic violence; intra-systemic violence appears intended to selectively depress turnout among opposition supporters (Harbers, Richetta, and van Wingerden 2022); non-violent more than twice as likely to achieve full or partial success compared to violent cases (Chenoweth and Stephan 2011), nonviolent campaigns are better at eliciting broad and diverse support, nonviolent campaigns create more defections among the opposition, nonviolent campaigns have a broader set of tactics at their disposal, nonviolent campaigns often maintain discipline even in the face of escalating oppression; violence complementing already and continuing high mobilisation is effective in making regime more sensitive to protest costs (Kudelia 2018)
–10. people may shift their attitudes about political violence… when a different movement poses a new situational variation (Setter and Nepstad 2022); extremists (esp. Islamists) gain more discursive space after attacks, politicians from right-wing parties were more visible than politicians from left-wing parties in political debates after extreme right and Islamist attacks, the content of public debates after terrorist attacks was related to the ideological motive behind the attack, Terrorist attacks reduce the public legitimacy of extremist actors and their political agenda in public debates, legitimacy of Islam decreases to a greater extent after Islamist attacks than the legitimacy of nationalism does after extreme right attacks (issues) (Völker 2023)
–12. bans: attitude towards violence not a clearly important factor, two key conditions: veto player agreement and (especially) securitization (Bourne and Veugelers 2022); bans can be motivated by social pressure mechanisms, (specific) visibility is important for bans, German government applies instrumental logic rather than legal logic in banning decisions
review class slides
reread your notes from readings
think through cases you know of
think through other cases we discussed (through readings or your peers’ expertise)
don’t panic
financing
training
financing
coordinating
training
financing
recruitment
coordinating
training
financing
‘agitprop’
recruitment
coordinating
training
financing
‘agitprop’
‘agitprop’
recruitment
coordinating
training
financing
recruitment
‘agitprop’
recruitment
coordinating
training
financing
coordinating
‘agitprop’
recruitment
coordinating
training
financing
training
‘agitprop’
recruitment
coordinating
training
financing
financing
Legality and/or Terms of Service Compliance
|
|
|---|---|
| Legal and/or Non-Violation of Terms | Illegal and/or Violation of Terms |
financing
Legality and/or Terms of Service Compliance
|
|
|---|---|
| Legal and/or Non-Violation of Terms | Illegal and/or Violation of Terms |
| 1. Donations/self-funding | |
financing
Legality and/or Terms of Service Compliance
|
|
|---|---|
| Legal and/or Non-Violation of Terms | Illegal and/or Violation of Terms |
| 1. Donations/self-funding | |
| 2a. Sale of goods (merchandise, music, real estate, etc) | |
financing
Legality and/or Terms of Service Compliance
|
|
|---|---|
| Legal and/or Non-Violation of Terms | Illegal and/or Violation of Terms |
| 1. Donations/self-funding | |
| 2a. Sale of goods (merchandise, music, real estate, etc) | |
| 2b. Sale of services (memberships, events, etc) | |
financing
Legality and/or Terms of Service Compliance
|
|
|---|---|
| Legal and/or Non-Violation of Terms | Illegal and/or Violation of Terms |
| 1. Donations/self-funding | |
| 2a. Sale of goods (merchandise, music, real estate, etc) | |
| 2b. Sale of services (memberships, events, etc) | |
| 3. Criminal activities | |
‘agitprop’
recruitment
coordinating
training
financing
RQs:
Beyond measuring the basic metrics of reach and engagement, can [online intervention programmes] show behavioral change and/or sentiment shift in the intended target audience exposed to this content? Could exposure to counterspeech in at-risk or radicalized audiences perhaps have the unintended consequence of further radicalization, or act as a catalyst to the radicalization process? How best can private tech companies work with non-governmental organizations (NGOs) and experts in the PVE/ CVE space?
A/B mode
Redirect mode
(Authors are writing about right-wing extremism—but their points apply more broadly.)
Counter-speech has become the most important form of action for projects against right-wing extremism on the Internet.
Take the survey at https://forms.gle/91eNe9j9fPzkqRVz5
CasaPound
Extreme right, Islamist, Drug cartel, Extreme left, Buddhist nationalist, Separatist
CasaPound (e.g., Froio et al. 2020): (neo-)‘fascist’ organisation in Italy, highly active on digital media
9.9.2019: Facebook deactivates CasaPound page (and representatives), arguing the content is ‘hate speech’ and ‘incitement to violence’, violating Facebook’s Terms of Use
CP argues (before Court of Rome) ‘it proposed an update of historical fascism that exclusively values its social policies, and that it has publicly condemned racial laws’; that it does not violate Facebook’s terms of service — and that CP protected by article 21 of the Italian constitution
see further at: https://globalfreedomofexpression.columbia.edu/cases/casapound-v-facebook/
import { liveGoogleSheet } from "@jimjamslam/live-google-sheet";
import { aq, op } from "@uwdata/arquero";
// UPDATE THE LINK FOR A NEW POLL
surveyResults = liveGoogleSheet(
"https://docs.google.com/spreadsheets/d/e/" +
"2PACX-1vRCCNFiUVI8VclRPb-6-teUiMvqZyDKKGIeCZOQYU7JhYwrLPBPKH337eqnrb6YiaVzCSraYw7CeRBC/" +
"pub?gid=920297838&single=true&output=csv",
10000, 1, 6); // adjust the last number to select all relevant columns
respondentCount = surveyResults.length;define what is impermissible
defineCounts = aq.from(surveyResults)
.select("define")
.groupby("define")
.count()
.derive({ measure: d => "" })
// Calculate the maximum count from your dataset
define_maxCountRE = Math.max(...defineCounts.objects().map(d => d.count));
plot_define = Plot.plot({
marks: [
Plot.barY(defineCounts, {
x: "define",
y: "count",
fill: "define",
stroke: "black",
strokeWidth: 1
}),
Plot.ruleY([respondentCount], { stroke: "#ffffff99" })
],
color: {
domain: [
"state actors",
"platform companies",
"independent regulator",
"other"
],
range: [
"teal",
"indigo",
"forestgreen",
"violet"
]
},
marginBottom: 200,
x: { label: "", tickSize: 2, tickRotate: -30, padding: 0.2,
domain: ["state actors", "platform companies", "independent regulator", "other"]
},
y: {
label: "",
tickSize: 10,
tickFormat: d => d,
tickValues: Array.from(
new Set(defineCounts.objects().map(d => d.count))
).sort((a, b) => a - b),
domain: [0, define_maxCountRE]
},
facet: { data: defineCounts, x: "measure", label: "" },
marginLeft: 80,
style: {
width: 1600,
height: 500,
fontSize: 40,
},
});make policy responses
policyCounts = aq.from(surveyResults)
.select("policy")
.groupby("policy")
.count()
.derive({ measure: d => "" })
// Calculate the maximum count from your dataset
policy_maxCountRE = Math.max(...policyCounts.objects().map(d => d.count));
plot_policy = Plot.plot({
marks: [
Plot.barY(policyCounts, {
x: "policy",
y: "count",
fill: "policy",
stroke: "black",
strokeWidth: 1
}),
Plot.ruleY([respondentCount], { stroke: "#ffffff99" })
],
color: {
domain: [
"state actors",
"platform companies",
"independent regulator",
"other"
],
range: [
"teal",
"indigo",
"forestgreen",
"violet"
]
},
marginBottom: 200,
x: { label: "", tickSize: 2, tickRotate: -30, padding: 0.2,
domain: ["state actors", "platform companies", "independent regulator", "other"]
},
y: {
label: "",
tickSize: 10,
tickFormat: d => d,
tickValues: Array.from(
new Set(policyCounts.objects().map(d => d.count))
).sort((a, b) => a - b),
domain: [0, policy_maxCountRE]
},
facet: { data: policyCounts, x: "measure", label: "" },
marginLeft: 80,
style: {
width: 1600,
height: 500,
fontSize: 40,
},
});the order had erroneously attributed a special nature to the contract between the social network and the user, when it was instead an ordinary contract under civil law. In the absence of any legal basis, according to Facebook, it is not possible to attribute public service obligations to private sector players such as the protection of freedom of association and expression. Likewise, Facebook argued that it is not required to ensure special protection to some users such as organizations engaged in political activities by virtue of their role in the political debate.
should be predominant approach
approachCounts = aq.from(surveyResults)
.select("approach")
.groupby("approach")
.count()
.derive({ measure: d => "" })
// Calculate the maximum count from your dataset
approach_maxCountRE = Math.max(...approachCounts.objects().map(d => d.count));
plot_approach = Plot.plot({
marks: [
Plot.barY(approachCounts, {
x: "approach",
y: "count",
fill: "approach",
stroke: "black",
strokeWidth: 1
}),
Plot.ruleY([respondentCount], { stroke: "#ffffff99" })
],
color: {
domain: [
"do nothing",
"attach warning",
"reduce possible views",
"permanently remove post",
"suspend poster's account"
],
range: [
"teal",
"goldenrod",
"darkorange",
"darkolivegreen",
"darkred"
]
},
marginBottom: 260,
x: { label: "", tickSize: 2, tickRotate: -30, padding: 0.2,
domain: ["do nothing", "attach warning", "reduce possible views", "permanently remove post", "suspend poster's account"]
},
y: {
label: "",
tickSize: 10,
tickFormat: d => d,
tickValues: Array.from(
new Set(approachCounts.objects().map(d => d.count))
).sort((a, b) => a - b),
domain: [0, approach_maxCountRE]
},
facet: { data: approachCounts, x: "measure", label: "" },
marginLeft: 80,
style: {
width: 1600,
height: 500,
fontSize: 40,
},
});deplatforming effective?
deplatformingCounts = aq.from(surveyResults)
.select("deplatforming")
.groupby("deplatforming")
.count()
.derive({ measure: d => "" })
// Calculate the maximum count from your dataset
deplatforming_maxCountRE = Math.max(...deplatformingCounts.objects().map(d => d.count));
plot_deplatforming = Plot.plot({
marks: [
Plot.barY(deplatformingCounts, {
x: "deplatforming",
y: "count",
fill: "deplatforming",
stroke: "black",
strokeWidth: 1
}),
Plot.ruleY([respondentCount], { stroke: "#ffffff99" })
],
color: {
domain: [
"Strongly disagree",
"Disagree",
"Neutral",
"Agree",
"Strongly agree"
],
range: [
"red",
"pink",
"lightgrey",
"lightgreen",
"forestgreen"
]
},
marginBottom: 180,
x: { label: "", tickSize: 2, tickRotate: -45,
domain: ["Strongly disagree", "Disagree", "Neutral", "Agree", "Strongly agree"]
},
y: {
label: "",
tickSize: 10,
tickFormat: d => d,
tickValues: Array.from(
new Set(deplatformingCounts.objects().map(d => d.count))
).sort((a, b) => a - b),
domain: [0, deplatforming_maxCountRE]
},
facet: { data: deplatformingCounts, x: "measure", label: "" },
marginLeft: 140,
style: {
width: 1350,
height: 500,
fontSize: 30,
}
});The results suggest that strategies of targeted removals, such as leadership removal and network degradation efforts, can reduce the ability of hate organizations to successfully operate online.
Should criminal penalties exist for spreading disinformation?
disinformationCounts = aq.from(surveyResults)
.select("disinformation")
.groupby("disinformation")
.count()
.derive({ measure: d => "" })
// Calculate the maximum count from your dataset
disinformation_maxCountRE = Math.max(...disinformationCounts.objects().map(d => d.count));
plot_disinformation = Plot.plot({
marks: [
Plot.barY(disinformationCounts, {
x: "disinformation",
y: "count",
fill: "disinformation",
stroke: "black",
strokeWidth: 1
}),
Plot.ruleY([respondentCount], { stroke: "#ffffff99" })
],
color: {
domain: [
"Yes",
"No",
"Maybe"
],
range: [
"forestgreen",
"darkred",
"goldenrod"
]
},
marginBottom: 80,
x: { label: "", tickSize: 2, tickRotate: -1, padding: 0.2,
domain: ["Yes", "No", "Maybe"]
},
y: {
label: "",
tickSize: 10,
tickFormat: d => d,
tickValues: Array.from(
new Set(disinformationCounts.objects().map(d => d.count))
).sort((a, b) => a - b),
domain: [0, disinformation_maxCountRE]
},
facet: { data: disinformationCounts, x: "measure", label: "" },
marginLeft: 60,
style: {
width: 1600,
height: 500,
fontSize: 40,
},
});Anonymous feedback here: https://forms.gle/NfF1pCfYMbkAT3WP6
Alternatively, please send me an email: m.zeller@lmu.de