Eighth Circuit Rules Boycotts Don't Count As Speech, For Reasons

The US Court of Appeals for the Eighth Circuit yesterday upheld an Arkansas law that prohibits contractors from boycotting Israel, claiming that politically motivated boycotts don’t really count as speech because they’re only economic activity. Weirdly, a three-judge panel of the same court had ruled in 2021 that boycotts are constitutionally protected speech – as had the Supreme Court, but that was in a different time – but the full court voted to reverse that ruling Wednesday.

The plaintiff in the case, the alternative newspaper Arkansas Timessued to overturn the law, which requires contractors with the state to reduce their fees by 20 percent if they don’t sign a pledge not to boycott Israel during the time of their contracts. The University of Arkansas Pulaski Technical College demanded the Times sign the pledge in order to carry advertising for the college.

Arkansas is one of 30 states, plus the federal government, that have passed laws to blunt the “boycott, divestment and sanctions (BDS)” movement that seeks to use economic pressure to change Israel’s policy towards Palestinians. Now, with the anti-BDS legislation as a model, states are legislating that you can’t “discriminate” against fossil fuels, or gun manufacturers, by withholding investment dollars from them either. We imagine Florida will soon make it illegal to refuse to contribute to Republicans.

Previous federal court rulings have found most of those statutes unconstitutional, but states were able to get them upheld by narrowing them only to cover large contracts for more than $ 100,000. Arkansas’s law, with the mellifluous name “Act 710,” is far broader, applying to contracts worth $ 1,000 and up. It’s fairly typical of the kind of legislation other federal courts have rejected, but here’s an appeals court that thinks it’s just peachy.

Judge Jonathan Kobes wrote in his opinion in the case that the Arkansas law merely prohibits “purely commercial, nonexpressive conduct” and

does not ban Arkansas Times from publicly criticizing Israel, or even protesting the statute itself. It only prohibits economic decisions that discriminate against Israel. Because those commercial decisions are invisible to observers unless explained, they are not inherently expressive and do not implicate the First Amendment.

This seems like a fine place to mention that when Donald Trump appointed Judge Kobes to the federal bench, the American Bar Association gave him a “not qualified” rating.

The publisher of the Arkansas Times, Alan Leveritt, will meet with the American Civil Liberties Union, which has represented the Times in the case, to plan an appeal to the US Supreme Court, because get out of here, of course boycotts are political speech.

ACLU attorney Brian Hauss has already committed to taking the case to the Supremes; in a statement, Hauss said,

The court’s conclusion that politically-motivated consumer boycotts are not protected by the First Amendment misreads Supreme Court precedent and departs from this nation’s longstanding traditions. It ignores the fact that this country was founded on a boycott of British goods and that boycotts have been a fundamental part of American political discourse ever since.

Leveritt noted that while the Times hasn’t actually taken a position on boycotting Israeli products or investments, he opposes the Arkansas law because the state shouldn’t be able to compel anyone to take a political position as the price of doing business:

We are obviously disappointed and note that these laws, which were originally passed in over 30 states, have been overturned in every court except this one. We consider being banned from doing business with our state government for refusing to sign a pledge not to boycott Israel a ridiculous government overreach that has nothing to do with Arkansas. More importantly, in our particular case it requires the Arkansas Times to take a political position in return for advertising. We don’t do that.

Previous federal court rulings – and the 2021 decision that the Eighth Circuit threw out yesterday – have been based on a 1982 Supreme Court decision case, NAACP v. Claiborne Hardware Co. (1982), that involved civil rights supporters boycotting white-owned businesses in Mississippi. In that case, the Court held that while states do have the right to regulate businesses, that right “could not justify a complete prohibition against a nonviolent, politically motivated boycott.”

Arkansas argued that the applicable precedent should be a 2006 case in which the Court said the federal government could withhold some funds from universities that did not allow military recruiters on campus, in protest of the military’s “Don’t Ask, Don’t Tell” policy against LGBTQ service members. In that case, the Court held that banning recruiters was not “expressive conduct” under the First Amendment, since the actual expression was accomplished “not by the conduct but by the speech that accompanies it.” Gosh, that’s pretty much the model for Kobes’s ruling!

Yr Doktor Zoom is not an attorney, but it sure seems to us that maybe the 1982 case is a lot more relevant since it involves actual boycotts based in a political position, not military recruiters on campus, but we could be missing something brilliant there.

Also too, at least one judge on the Eighth Circuit, Judge Jane Kelly, dissented, writing that the law really could go beyond boycotts and chill other free speech:

One could imagine a company posting anti-Israel signs, donating to causes that promote a boycott of Israel, encouraging others to boycott Israel, or even publicly criticizing the act with the intent to “limit commercial relations with Israel” as a general matter. […] And any of that conduct would arguably fall within the prohibition.

And while this case involves an anti-BDS law, if it’s upheld by the Supremes, that could have some serious implications for speech on a variety of matters, as filmmaker Julia Bacha points out on the Twitters (her company has produced a documentary on anti-boycott laws).

When we started production, the risk that the anti-BDS bill would be used as a template was still theoretical. By the time we locked-picture, it was a reality. There are now anti-boycott bills targeting your right to protest the fossil fuels industry.

There are also anti-boycott laws targeting your right to protest the gun industry.

Again, not a lawyer, but it seems to me that similar arguments could be made to support things like Ron DeSantis’s attempts to economically harm Disney because the company supports LGBTQ rights. Presto: Florida isn’t using state funds to punish companies that don’t like the state’s policies, because suddenly it’s only economic activity, and the only speech is what DeSantis might say about Disney.

As several smartasses on Twitter have pointed out, Judge Kobes and other Republican jurists have an odd idea of ​​what counts as free speech. Corporations, which are people my friend, can always be sure that spending money is a form of free speech. But apparently Americans aren’t also allowed to not spend money as a way of expressing opinions, because then it’s merely economic activity.

[Editrix’s note: We all agree here that the West Bank settlements are SOME SHIT, but this is a post about boycotts, free speech, and batshit judicial rulings, and is not license to go crazy in the comments, because y’all have been known to slide easily from criticism of Israel to some actual gross antisemitism, yes, even here, so don’t do that I fuckin mean it, the end.]

[AP / Arkansas Times / Al Jazeera / WaPo / Lawfare]

Yr Wonkette is funded entirely by reader donations. If you can, please help us with a monthly $ 5 or $ 10 donation. Speech is free, but servers and writers’ salaries and taxes are strangely not.

Do your Amazon shopping through this link, for reasons.


s.parentNode.insertBefore(t,s)}(window, document,’script’,
fbq(‘init’, ‘482172895483293’);
fbq(‘track’, ‘PageView’);



/*! getClosest.js | (c) 2017 Chris Ferdinandi | MIT License | http://github.com/cferdinandi/getClosest */
* Get the closest parent element that matches a selector.
* @param {Element} elem Starting element
* @param {String} selector Selector to match against
* @return {Boolean|Element} Returns null if not match found
var getClosest = function(elem, selector) {

// Element.matches() polyfill
if (!Element.prototype.matches) {
Element.prototype.matches =
Element.prototype.matchesSelector ||
Element.prototype.mozMatchesSelector ||
Element.prototype.msMatchesSelector ||
Element.prototype.oMatchesSelector ||
Element.prototype.webkitMatchesSelector ||
function(s) {
var matches = (this.document || this.ownerDocument).querySelectorAll(s),
i = matches.length;
while (–i >= 0 && matches.item(i) !== this) {}
return i > -1;

// Get closest match
for (; elem && elem !== document; elem = elem.parentNode) {
if (elem.matches(selector)) return elem;

return null;


// Vanilla JS

var className=”active”;

// getting current URL and adding a class on the current menu item

var path = location.pathname.split(“https://www.wonkette.com/”)[1];
var link = document.querySelectorAll(‘.menubar a[href=”https://www.wonkette.com/” + path + ‘”]’);
if (link[0]) {
if (link[0].classList) {
} else {
link[0].className += ‘ ‘ + className;

// remove class from home-link
var home = document.getElementsByClassName(‘home__item’);
if (home[0]) {
if (home[0].classList) {
} else {
home[0].className = home[0].className.replace(new RegExp(‘(^|b)’ + className.split(‘ ‘).join(‘|’) + ‘(b|$)’, ‘gi’), ‘ ‘);

// search the closest parent and adding an active class on it too

var closestParent = getClosest(link[0], ‘.menubar_item-dropdown’);

if (closestParent) {
if (closestParent.classList) {

} else {
closestParent.className += ‘ ‘ + className;

var socials = document.getElementsByClassName(‘social-links’)[0];
var cloneSocials = socials.cloneNode(true);

var menu = document.getElementById(“menubar”);
var cloneMenu = menu.cloneNode(true);

var mobileMenu = document.getElementsByClassName(‘main-menu-wrapper’)[0];
var beforeEl = document.getElementsByClassName(‘menu-global__search-form’)[0];

mobileMenu.insertBefore(cloneSocials, beforeEl);
mobileMenu.insertBefore(cloneMenu, beforeEl);

if (!document.body.classList.contains(‘logged-out-user’)) {
var existCondition = setInterval(function() {
var userLink = document.querySelectorAll(‘.main-menu-item–my_page .link’);
if (userLink.length) {
var membersLink = document.querySelectorAll(‘#membersLink’);
var userUrl = userLink[0].href;
Array.prototype.forEach.call(membersLink, function(el) {
el.href = userUrl;

if (document.querySelector(‘.main-menu-item–designer_editor’)) {
}, 500);
} else {
var existCondition = setInterval(function() {
var userLink = document.querySelector(‘.main-menu-item–login .link’);
if (userLink) {
}, 500)


function copyValue(el) {
var thisVal = el.options[el.selectedIndex].text;
var closestForm = getClosest(el, ‘form’);
var paypalAmount = closestForm.nextSibling.querySelector(‘.paypal-amount’);
paypalAmount.value = thisVal;

document.addEventListener(“scroll”, createIdleScrollListener(() => {
if (window.scrollY > 0) {
} else {

function createIdleScrollListener(callback) {
let ticking = false;

return function onScrollIdle() {
if (ticking) {
ticking = true;
requestAnimationFrame(() => {
ticking = false;



window.addEventListener(“scroll”, () => {
if(this.scrollY > 50 ) {
document.querySelector(“.rebelbar.rebelbar–fixed.skin-simple”).style.display = ‘none’
else document.querySelector(“.rebelbar.rebelbar–fixed.skin-simple”).style.display = ‘block’



window.REBELMOUSE_STDLIB.loadExternalScript(“https://checkout.stripe.com/checkout.js”, function() {

if (!Element.prototype.matches)
Element.prototype.matches = Element.prototype.msMatchesSelector ||

if (!Element.prototype.closest)
Element.prototype.closest = function(s) {
var el = this;
if (!document.documentElement.contains(el)) return null;
do {
if (el.matches(s)) return el;
el = el.parentElement || el.parentNode;
} while (el !== null && el.nodeType === 1);
return null;

function formsHandling() {
var formDonate = document.querySelectorAll(‘.donation-form:not(.processed)’);

formDonate.forEach(function(formEl) {
var formEl = formEl;


formEl.addEventListener(“submit”, function(event) {

var donationBtns = formEl.querySelectorAll(‘.donate-button’);

donationBtns.forEach(function(el) {
el.addEventListener(“click”, function(event) {

function formProcessing(el) {
var btn = el;
var payment = btn.getAttribute(‘data-payment’);
var planType = formEl.querySelector(‘input[name=”plan_type”]:checked’).value;
var checkedOption = formEl.querySelector(‘input[name=”amount”]:checked’);
var amount = checkedOption.value * 1;
var amountOptional = checkedOption.getAttribute(‘data-amount’);
var dataValue = checkedOption.getAttribute(‘data-value’);
var action;

if ( formEl.contains(formEl.querySelector(‘.remove-me’)) ) {

if ( payment == “paypal” ) {
formEl.action = “https://www.paypal.com/cgi-bin/webscr”;
formEl.setAttribute(‘target’, ‘_blank’);

addHidden( ‘currency_code’, ‘USD’);
addHidden( ‘cmd’, ”);
addHidden( ‘return’, “https://www.wonkette.com/st/Wonkettes_Hero”);
addHidden( ‘cancel_return’, window.location.href);

if ( planType == “once” ) {
checkedOption.value = dataValue;
addHidden( ‘business’, ‘[email protected]’);
addHidden( ‘item_name’, ‘Wonkette Donation’);
addHidden( ‘item_number’, ‘Just Once’);

//add new params
addHidden( ‘a3’, dataValue);
addHidden( ‘p3’, 1);
addHidden( ‘t3’, ‘D’);

} else if ( planType == “monthly” ) {
addHidden( ‘business’, ‘[email protected]’);
addHidden( ‘item_name’, ‘Wonkette Recurring Donation’);
addHidden( ‘item_number’, ‘wonkette_recurring’);

//add new params
addHidden( ‘a3’, dataValue);
addHidden( ‘p3’, 1);
addHidden( ‘t3’, ‘M’);
addHidden( ‘src’, 1);
addHidden( ‘srt’, 52);
} else if ( payment == “strip” ) {
addHidden( ‘entity_type’, 1);
addHidden( ‘plan_type’, 1);
addHidden(‘entity_id’, getSiteId() );
checkedOption.value = dataValue * 100;

if ( planType == “once” ) {
formEl.action = “/core/payment/single_donation”;
addHidden( ‘plan_name’, ‘One Time Donation’);
stripInit(amount, ‘One Time Donation’);

} else if ( planType == “monthly” ) {
formEl.action = “/core/payment/recurring_donation”;
addHidden( ‘plan_name’, ‘Monthly Donation’);
addHidden( ‘plan’, ‘donation_’ + amount);
stripInit(amount, ‘Monthly Donation’);


function addHidden(key, value) {
// Create a hidden input element, and append it to the form:
var input = document.createElement(‘input’);
input.name = key;
input.value = value;
input.className += ‘remove-me’;

function stripInit(amount, description) {
var token = function(res){
addHidden(‘stripeToken’, res.id);
addHidden(‘stripeEmail’, res.email);

if (amount) {
key: ‘pk_live_7dJjNGbMgTkHfEasr9FsLcjF’, // real
//key: ‘pk_test_zbMpaIyMyHJ7TLUEheC7q2iS’, //test
amount: amount,
name: ‘Wonkette’,
image: ‘https://assets.rbl.ms/16950638/origin.png’,
description: description,
panelLabel: ‘Donate’,
token: token,
locale: ‘auto’
} else {
window.alert(‘Select donation amount first’)

function getSiteId() {
var site_id = null;
var inner = document.querySelector(‘html’).innerHTML
var str = inner.split(‘”site_id”: ‘);
if( str[1] != undefined ){
site_id = str[1].split(‘,’)[0];
return !isNaN(site_id) ? site_id : false;


REBELMOUSE_STDLIB.createElementChangeListener(“.show-more.js-expand:not(.processed)”, (el) => {
const keepReading = el;
keepReading.addEventListener(“click”, function() {
setTimeout(formsHandling, 500)




window.disqus_config = function () {
this.page.identifier = “2657547047”,
this.page.url = “https://www.wonkette.com/eighth-circuit-rules-boycotts-don-t-count-as-speech-for-reasons”;
var disqusCt = document.createElement(‘div’),
disqusCt.id = ‘disqus_thread’;
(function () {
var d = document,
s = d.createElement(‘script’);
s.setAttribute(‘data-timestamp’, +new Date());
(d.head || d.body).appendChild(s);

function loadCountScript(callback) {
var s = document.createElement(‘script’);
s.async = true;
s.id = ‘dsq-count-scr’;
s.src = “//wonkettecom.disqus.com/count.js”;
var x = document.getElementsByTagName(‘script’)[0];
x.parentNode.insertBefore(s, x);
s.onload = () => callback(s);
loadCountScript(script => {
/*Add comment Button to all articles*/
REBELMOUSE_STDLIB.createElementChangeListener(“.share-panel:not(.js–has-comments)”, (el) => {
let sharesPanel = el;
if (sharesPanel.closest(‘.article__shares’)) {
let postId = window.REBELMOUSE_BOOTSTRAP_DATA.post.id,
postURL = location.protocol + ‘//’ + location.host + location.pathname;
addButton(postURL, postId, sharesPanel);
} else if (sharesPanel.closest(‘.widget’)) {
let thisPost = sharesPanel.closest(‘.widget’),
postId = thisPost.getAttribute(‘elid’),
postURL = thisPost.querySelector(‘.widget__headline-text’).getAttribute(‘href’);
addButton(postURL, postId, sharesPanel);

function addButton(url, id, el) {
var commentBtn = document.createElement(‘span’);
//commentBtn.href = url;
commentBtn.setAttribute(‘data-disqus-url’, url);
commentBtn.setAttribute(‘data-postid’, id);
//commentBtn.setAttribute(‘data-disqus-identifier’, id);
reset: true
//console.log(url, id);
REBELMOUSE_STDLIB.createElementChangeListener(“.js–toggleDisqus:not(.js–callDisqus-processed), .show-more:not(.js–callDisqus-processed)”, (el) => {
console.log(‘run callDisqus()’);
var timeOut = 10;
if (el.classList.contains(“show-more”)) {
timeOut = 1000;
el.addEventListener(‘click’, function () {
setTimeout(function () {
let t = el,
thisPost = t.closest(‘article’) || t.closest(‘.js-section-loader-feature-container’),
postId = t.getAttribute(‘data-postid’),
postURL = t.getAttribute(‘data-disqus-url’);
document.querySelector(‘#disqus_thread’) && document.querySelector(‘#disqus_thread’).remove();
if (t.closest(‘.article__shares’)) {
let postWrap = document.querySelector(‘.mobile-post-wrapper’);
} else {
let afterEl = t.closest(‘.widget’);
if (afterEl) {
afterEl.parentNode.insertBefore(disqusCt, afterEl.nextElementSibling);
console.log(‘DISQUS.reset’, postId, postURL);
reload: true,
config: function () {
this.page.identifier = postId;
this.page.url = postURL;
if (t.classList.contains(‘js–toggleDisqus’)) {
let disqus = document.getElementById(“disqus_thread”);
// disqus.scrollIntoView();
}, timeOut)
// Hide hidden tip-jar, idk why
window.REBELMOUSE_STDLIB.createElementChangeListener(“.js-keep-reading:not(.js-processed)”, (el) => {
let keepReading = el;


Original Article reposted fromSource link

Disclaimer: The website autopost contents from credible news sources and we are not the original creators. If we Have added some content that belongs to you or your organization by mistake, We are sorry for that. We apologize for that and assure you that this won’t be repeated in future. If you are the rightful owner of the content used in our Website, please mail us with your Name, Organization Name, Contact Details, Copyright infringing URL and Copyright Proof (URL or Legal Document) aT spacksdigital @ gmail.com

I assure you that, I will remove the infringing content Within 48 Hours.

Leave a Reply

Your email address will not be published.

Follow by Email