Bonum Certa Men Certa

Is Free Culture As Important As Free Software?

By figosdev

Letters of language



Summary: "If you have ever created a programming language specification before coding the actual language, then you've already written code for a language that doesn't exist yet."

Funny thing about the Free Software movement -- while many of us care about Free Culture as well, it's taken ages for the FSF to recognise its legitimacy.



The position of rms in the past (and likely the present) is that while software is a "practical" work -- this point has relevance for copyright eligibility (software was not even copyrightable in the United States until 1980) other "non-software" works are not practical in this sense -- they don't "do stuff."

"While rms has given some support to free licenses for other works (game assets for free games being one example) this division is sometimes considered less important by advocates of free culture."Code describes computer instructions -- and other works do not. While rms has given some support to free licenses for other works (game assets for free games being one example) this division is sometimes considered less important by advocates of free culture.

My own opinion -- and this is quite sincere, because I think some might interpret it as sarcasm or being cynical -- is that the brain is a sophisticated, self-rewiring biological computer, and culture helps to alter our programming as much as psychotropic drugs or traumatic experiences do. This idea that "culture is software too" isn't something I invented, but it's the way I've felt for many years.

There are simple programming languages and there are esoteric programming languages, but just today I wrote a simple -- rhetorical programming language to make this point:

    # % turn on/off printing
    # @ quit program
    # a, A cycle colour backwards
    # b, B cycle colour
    # c, C copy next variable value to following character variable
    # d, D move down most recent variable value
    # e, E toggle print default upper/lower (starts lower)
    # f, F move to 1, 1
    # g, G get next character variable value
    # h, H append next variable value to following character variable
    # i, I set next variable to empty string
    # j, J fi
    # k, K if most recent variable value is true, do the following
    # l, L move left most recent variable value
    # m, M convert most recent value to uppercase
    # n, N convert most recent value to lowercase
    # o, O set next variable to 0
    # p, P print most recent variable value
    # q, Q exit loop early (limited)
    # r, R move right most recent variable value
    # s, S turn off print default case
    # t, T set next variable to random number 0 to 99
    # u, U move up most recent variable value
    # v, V set next letter to following character
    # w, W loop most recent variable value times
    # x, X mark end of loop
    # y, Y wait next value seconds
    # z, Z clear screen





Behold, a language!

Plato once defined man as a "featherless biped" -- the response from Diogenes was to pluck a chicken for Plato and say "Behold, a man!" In this spirit, I have named this programming language Diogenes. Having written it, there seems to be a text-searching app of the same name. Not that I expect this language to catch on.

"Not that I expect this language to catch on."Diogenes compiles verbatim-copying-only essays by Richard Stallman into non-free software. The only thing that makes this software non-free, is that the source code (the essays) are non-free. Therefore if the essays were free, the resulting program code would be as well. I know this isn't really very clever, but I did start laughing when I had coded most of the functions.

I like Logo, and I like languages inspired by Logo, so I wanted Diogenes to have some very basic Logo functionality. You can move up, down, left, right -- it draws as you move, you can cycle forwards or backwards with 8 colours including black, you can write a Hello World program, set, clear and append variables, and it has a conditional, loop and limited loop breaking function.

"%" toggles print output, "@" quits the program, and the rest of the commands are single letters. So for example, if we want to create a nice Hello World program, VAH sets the Variable A to H, and P prints the most recent variable set:

    vahp





Will print h. We can cycle the colours with "b", we can set a variable to an empty string with "i", so by the time we have this little program:

    %bbvahpbvaepbvalpbvalpbvaopibap vawpbvaopbvarpbvalpbbvadp





This compiles to about 120 lines of Python code, and when you run it it looks like this:

Hello World

If we take the text of the recent essay, "Saying No to unjust computing even once is help" and we only use the body of the essay from "A misunderstanding" to "awareness of the issue", this essay is the first "program" ever compiled with Diogenes. Given that each letter is a command, it compiles to 16 KLOC and the output, while minimal, looks like this:

Saying

"The Right to Read," from the headline and byline to "one of its central aims" compiles to 29 KLOC of Python, and the output looks like this:

Right

If we remove 352 spaces of indentation from the last dozen lines or so, they look like this:

    if locolour < 0: locolour = 7
    colour(locolour, 0)
    xy(locx, locy, locolour)
    for loop747 in range(figure('r', vars, 'n')):
        if locx > 0: locx -= 1
        xy(locx, locy, locolour)
    locolour -= 1
    if locolour < 0: locolour = 7
    colour(locolour, 0)
    vars['r'] = ''
    lutog = 0
    colour(7, 0)


This is compiled from code that Stallman wrote, where he said "central aims". Those two words alone are not copyrightable, so we can compile that much of the essay for this article. The loop variable is named "loop747" because it is the 747th loop in the program, compiled from the letter "l" (for "move left").

You probably don't want to say that unintentionally writing non-free program code is unethical, when the author isn't aware that it's program code. But if anything can be program code, where do we draw the line? The fact is, this language compiles non-free works into software that I'm not free to publish. If you think that's a joke, look up "de minimis" and the 1990s Supreme Court decision on sampling music.

For me to publish the program I compiled today as free software would be impossible; it certainly uses too much of the source essay to be protected by a "fair use" argument -- and you could almost certainly "decompile" the source back into all or most of the essay.

"The line between written work and program code is probably thinner than most free software advocates would like to admit."Stallman's essays were not written for a computer to run, but for a person to put in their mind -- what they do with it is largely up to the person. On the other hand, POW camps have used forced written and forced spoken confessions in part to get the prisoners to convince themselves that they are guilty of the crimes they are accused of. The line between written work and program code is probably thinner than most free software advocates would like to admit.

Like with "real" software, you can "scan" this writing and it may not "run" in your own mind. You may find it is simply incompatible with your environment and setup. I've written plenty of things that did not convince the audience of anything at all. Maybe it was just too much work to "port" to their platform, or they decided to reject part of it and put the rest in mental quarantine.

All the same, these essays will compile to program code. If you have ever created a programming language specification before coding the actual language, then you've already written code for a language that doesn't exist yet. If we are all doing that, hopefully these programs can be released under a free license before they are turned into code -- or at least after someone turns them into code.

"If you have ever created a programming language specification before coding the actual language, then you've already written code for a language that doesn't exist yet."How would that work?

Some of the arguments made here are a little bit silly, though they are still inspired by a serious argument -- our culture needs to be free-as-in-freedom.

YOU WILL NOW CONCEDE THAT WORKS OF OPINION ARE ACTUALLY PROGRAM SOURCE AND SHOULD BE FREE.

Hey, it was worth a try.

Long live rms, and appthis = vars['a'] \n vars['p'] = app(vars['p'], appthis) \n if togprint: print lu(vars['p'], lutog) \n sleep(figure('h', vars, 'n')) \n locolour -= 1 \n if locolour < 0: locolour = 7 \n colour(locolour, 0) \n copythis = vars['k'] \n vars['i'] = copythis \n if type(vars['i']) == str: vars['i'] = vars['i'].lower() Licence: Creative Commons CC0 1.0 (public domain)

Recent Techrights' Posts

Microsoft Under Investigation for Breaches of Law in the UK
Just like the Microsofters
GAFAM is Connected to Misogyny, Almost All Founders Divorced
They're not good people, even if they pay the media to pretend otherwise
SLAPP Censorship - Part 83 Out of 200: Religion is Still Alive, But for Many This Religion is Monetary (Greed, Monopolies, Corporate Power)
If all you keep boasting about is being able to afford a hotel room and some domestic flight, then maybe you have no real accomplishments and are more like a "Facebook serf" with a credit card
 
Latest Example of Widespread Fake Assertions (False News) About "Hey Hi"
The false narrative of "Hey Hi layoffs"
Links 21/05/2026: Facebook Rewarded With Tax Breaks to Destroy the Environment and Cause Global Warming, Shortages, Pollution; SpaceX (SPCX) Continues Losing Billions of Dollars
Links for the day
Codecs and Software Patents - Part VIII - GNU Audio/Video Team Has Chosen the AV1 Video Codec and It Explains Why (They've Researched Their Options)
AV1 video codec will be used to encode and share GNU videos online
Dr. Stallman Helps Establish Free Software Advocacy Outside the Free Software Foundation (FSF) as Well
The ideals or principles of Free Software needn't be centralised or monopolised; they can be federated
22 Years of Tux Machines and a Community Stronger Than Ever Before
We've already received some feedback from the community and improved it accordingly
More Microsoft Layoffs on the Way (June and July 2026)
with or without PIPs
LWN Sponsored by the Linux Foundation (Monopolies)
We must be able to casually point this out
The Corrupt Lecture the Non-Corrupt - Part XXIX - European Patent Office (EPO) Tells Staff "Speaking up" is Good, But Not When the "Brother-in-law" of EPO's President Does Cocaine
Do we still have a functioning democracy and potent press?
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Wednesday, May 20, 2026
IRC logs for Wednesday, May 20, 2026
Gemini Links 21/05/2026: Immigration, Slop, and Slop 'Code' Suggestions Infesting Code Repositories
Links for the dayGemini Links 21/05/2026: Immigration, Slop, and Slop 'Code' Suggestions Infesting Code Repositories
Oracle Seems to Have Popularised Overnight Layoffs, Now GAFAM Does the Same
layoff emails at 4 a.m. local time
A Lot of Fake News About Microsoft's LinkedIn Today, Some Comes From Slopfarms, Some Relies on Those Slopfarms
As usual, slopfarms make the Web a huge pile of garbage
IBM's Kyndryl is Circling Down the Drain, Say Kyndryl Insiders
"IBM Dinosaurs who were recycled and catapulted into the orange trash heap by IBM"
A Lot of Coverage Adding Hype Factor to Slop Bug Reports... is Made by LLM Slop
Local Privilege Escalation [...] the slop motivates some actual people to keep writing about it
Links 20/05/2026: Mass Layoffs at NPR (Bought by the Ballmers and Bill Epsteingate), Starbucks Korea CEO Fired Over ‘Tank Day’ Ad
Links for the day
Gemini Links 20/05/2026: Advantage of CD Collections, Geminaut's View of Nostr, and SSL / TLS Certificates
Links for the day
IBM is Becoming a Pile of Expired Patents and Abandoned Buildings, Assets of Little Actual Value
Having laid off a ton of people, borrowed lots of money to fake growth (by acquisition), and sent some jobs to low-paid regions where innovation isn't done
Links 20/05/2026: Looting of Americans for "White Grievance Reparations Fund"; "Mark Zuckerberg Used Shell Companies to Bully Native Hawaiians"
Links for the day
Web Browsers Are for Rendering Web Page, They Shouldn't Become PDF Editors
Linus Torvalds is quickly learning and speaking about this
SLAPP Censorship - Part 82 Out of 200: British Government Intervenes in the SLAPPs by Brett Wilson LLP
At this stage our matters are dealt with by a layer below that of the Prime Minister (adjacent to it)
LinkedIn Communications Reveal That LinkedIn - Like GitHub - Will Vanish Inside the Belly of Microsoft
This is definitely going to happen.
In Wall Street, Financial Difficulties Drive Shares Up
Wall Street doesn't work that way
The Corrupt Lecture the Non-Corrupt - Part XXVIII - European Patent Office (EPO) Guidebook Says Report Crimes Committed on EPO Premises. Some Did, But President Campinos Covers up for the Culprits.
The staff has long been on strike and the union (SUEPO) organised an enhanced day of action just two days ago
Gemini Links 20/05/2026: Fall of an Empire, "High Tech is a Social Exercise", and Big Cameras
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Tuesday, May 19, 2026
IRC logs for Tuesday, May 19, 2026
LinkedIn Layoffs at Microsoft: Probably Well More Than 5% of Staff
In short, it's difficult to believe only 5% are impacted
It's Not Just a Widespread Theory, It's Apparently a Verified Fact: Home Appliances Not Made to Last Long
Washing machine repair man asserts that the machines sold a decade ago could maybe last a decade; now they last barely 5 years.
Torvalds Capitulated on Rust and Slop, Now He's Paying the Price
they are pushing Microsoft and slop for grifters and scammers
Whistleblowers Needed: We Are Seeing Many Layoffs in Red Hat (Not Just in China), We Want to Know More
Last week we learned about some people who said they had left Red Hat or are leaving Red Hat
Links 19/05/2026: More Obituaries for Peter G. Neumann, Taiwan Abandoned by Cheeto House for Don's Personal Gain
Links for the day
Links 19/05/2026: Online 'Storage' (Surveillance) Accounts Lower Thresholds (Gmail, Google Drive, and Google Photos), Slop Debacles Expand (False Promises Made to Staff Regarding Compensation)
Links for the day
SLAPP Censorship - Part 81 Out of 200: SLAPP Censorship Does Not Work If Your Sole Strategy is Revenge (and You Attack the Family)
Both yours and others'
Techrights at 20 (Soon)
It does not seek popularity or affirmation from "Establishment" outlets
We Pay More for Less, for Things That Last Less Time and Are Almost Impossible to Repair
Ever noticed how "modern" or "smart" TVs come with dumber and dumber (worse) controllers?
Vista 11 Turns 5 in a Couple of Months. Not Many People Use It.
It is the only supported version of Windows; many people move elsewhere
Head of GitHub Recently Left, Microsoft Need No Longer Report Mass Layoffs There (User Activity is Declining)
We've long said that LinkedIn and GitHub, which Microsoft bought, would likely end up like Skype
The Slop Bubble is Already Bursting
Slop is not desirable and the general public is growingly impatient, seeing that slop has improved nothing for them
Gemini Links 19/05/2026: Reliable Old Tech, Collection of Essays
Links for the day
The Corrupt Lecture the Non-Corrupt - Part XXVII - European Patent Office (EPO) Became a "Toxic Work Environment" When Cocaine Addicts Put in Charge
They are putting at risk colleagues by abusing them
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Monday, May 18, 2026
IRC logs for Monday, May 18, 2026