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

Slopwatch: Brian Fagioli, Google News, and Other LLM Slopfarms
Why does Google News keep promoting these fake articles?
Links 29/10/2025: Amazon Kept "Data Center Water Use Secret", "Abuse of Power" Against Media
Links for the day
Gemini Links 29/10/2025: "My Hardware Specs" and "Goodbye Debian…"
Links for the day
EPO Cocainegate: Feedback and Clarifications
Part III will come out soon
Links 29/10/2025: "US Military Is Destroying the Planet Beyond Imagination" and Boat Strikes Deemed Unlawful
Links for the day
Quality Comes First (Techrights Search)
It's generally working already, but we wish to polish it some more
Techrights Party Countdown
Late next week we'll be holding a party near our home
European Parliament and Council Directive on Privacy is Vanishing
"edited / censored some time more recently"
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Tuesday, October 28, 2025
IRC logs for Tuesday, October 28, 2025
Slopwatch: The March of Slopfarms, From UbuntuPIT to Linux Journal and to Various Fake Sites Still Promoted by Google News
It's so worrying to see what the Web has become
Links 29/10/2025: CISA, Ukraine, and Amazon Problems
Links for the day
[Teaser] The EPO's Spokesperson, a Cocaine User, Fancies Young Women
How's that for "optics" in the EU and Europe's second-largest institution?
How Will António Campinos Respond to the EPO's 'Cocainegate'?
That's the same thing we saw and still see when the press deals with enablers and partners of Jeffrey Epstein
Join Us Now and Share the News - Part IV: There Cannot be Free Software Without Free Press and Free Information
One day, one can hope, more people will recognise that for Software Freedom we need free press and free thinkers
Join Us Now and Share the News - Part III: Principled Stance Is Never Cheap
Protecting the truth and insisting that the general public is made aware of things that really happened isn't cheap
Join Us Now and Share the News - Part II: Because Scarcity of Accurate Information Breeds Collective Ignorance
we too will strive to share information that's aggressively suppressed
Gemini Links 28/10/2025: More New Arrivals at Geminispace, xkcd on "Document Forgery"
Links for the day
Join Us Now and Share the News - Part I: Defence of the Truth
This year we make a very strong, firm statement for truth, even if that means explaining our work to the top media judge in the country
Links 28/10/2025: Meta and Fentanylware (CheeTok) Age-Restricted Down Under, "Britain Needs China’s Money"
Links for the day
Links 28/10/2025: Mass Layoffs at Amazon and Charter to Cut 1,200 Jobs
Links for the day
The Cocaine Patent Office - Part II: The Person Who Planted Paid-for Fake News for the European Patent Office (EPO) is a Cocaine User, Friend of António Campinos, Now on Record as Having Been Arrested
Background: High-level manager at the European Patent Office caught in public with cocaine, arrested
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Monday, October 27, 2025
IRC logs for Monday, October 27, 2025
Google News Drowning in Slop (and Slopfarms That Hijack About Half the Results)
Google News seems to be drowning in this stuff
Gemini Links 28/10/2025: "How to Maximize Your Positive Impact" and ASCII Art and Artist Attribution
Links for the day
PETA and Activism
Being staff or volunteer in PETA isn't easy
Big Blue, Huge Debt
debt will soar again
Links 27/10/2025: Mass Surveillance Sold as "AI", People Reluctant to Lose Physical Media
Links for the day
Parties and Milestones Again
we've begun putting up about 40 balloons
Techrights' 19th Anniversary: Bronze
Time to go back to preparing for this anniversary
Our Latest European Patent Office (EPO) Series Will Last Several Weeks, Will Ask the EPO Management and the European Union (EU) Very Difficult Questions
If nobody loses a job (or jobs) over this, then the EU basically became no better than Colombia or Nicaragua
Slopwatch: LinuxSecurity, UbuntuPIT, Brian Fagioli, and Google News
We focus on stories that are fake or LLM slop that disguises itself as "news" about Linux
Links 27/10/2025: Wikipedia Vandalism, Bruce Perens Opens up on Childhood
Links for the day
This Site Could Not be Done by LLMs Even If It Wanted to (Because It's Not a Parrot of What Other Sites Say)
LLMs have no knowledge or deep understanding
Microsoft is Disloyal Towards Its Most Loyal Employees
Against its most faithful enablers
19 Years, No Censorship
No factual information is ever going to be removed, more so if it is in the public interest
We Are Not a Conventional Site, That's Why They Hate (or Love) Us
Throughout the week this week we'll be focusing on the EPO
Following the Line of Cocaine All the Way to the Top
Even a million denials and spin-doctoring won't distract from the core issue
The Cocaine Patent Office - Part I: António Campinos Brought Corruption and Nepotism to the EPO, Then Came the Cocaine
High-level manager at the European Patent Office (EPO) caught in public with cocaine, the Office has some answering to do
Purchasing/Possessing Computers Isn't the Same as Controlling Computers
Let's strive to put computers back under the control of their users, no matter who purchased these (usually the users)
Gemini Links 27/10/2025: Alhena 5.4.3 and Fixing Bash
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Sunday, October 26, 2025
IRC logs for Sunday, October 26, 2025
Thankfully We've Made Copies of More Interesting Data From statCounter
If statCounter (the Web site or the 'webapp') vanished overnight, we'd still have something left of it
More Silent Layoffs at IBM/Red Hat
when the media counts such layoffs or presents tallies the numbers are very incomplete