diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 88ed202..d11c2b6 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -4,42 +4,61 @@ on:
tags:
- '*'
-jobs:
+permissions:
+ contents: write
+jobs:
convert_via_pandoc:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository and submodules
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
with:
submodules: recursive
- - run: sudo add-apt-repository -y ppa:sunderme/texstudio
-
- - run: sudo apt install texlive-latex-extra
- - run: echo $PWD
- - run: ls -al ./
- - run: ls -al ../
- - run: sed -i 's/VERSIONNUMBER/${{ github.ref_name }}/g' ZenCompetition.tex
- - run: pdflatex -jobname=ZenCompetition-${{ github.ref_name }} ZenCompetition.tex
- - run: ls -al .
- - name: release
- uses: actions/create-release@v1
- id: create_release
- with:
- draft: false
- prerelease: false
- release_name: ${{ steps.get_version.outputs.VERSION }}
- tag_name: ${{ github.ref }}
+
+ - name: Check if release exists
+ id: check_release
+ run: |
+ if gh release view ${{ github.ref_name }} > /dev/null 2>&1; then
+ echo "exists=true" >> $GITHUB_OUTPUT
+ echo "Release for tag ${{ github.ref_name }} already exists - will update it"
+ else
+ echo "exists=false" >> $GITHUB_OUTPUT
+ echo "Release for tag ${{ github.ref_name }} does not exist - will create it"
+ fi
env:
- GITHUB_TOKEN: ${{ github.token }}
-
-
- - name: Upload Keywords
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ github.token }}
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Install LaTeX dependencies
+ run: |
+ sudo add-apt-repository -y ppa:sunderme/texstudio
+ sudo apt install texlive-latex-extra bookletimposer
+
+ - name: Debug - Show current directory
+ run: |
+ echo $PWD
+ ls -al ./
+ ls -al ../
+
+ - name: Replace version in LaTeX file
+ run: sed -i 's/VERSIONNUMBER/${{ github.ref_name }}/g' ScopeSequencing.tex
+
+ - name: Generate PDF
+ run: pdflatex -jobname=HowToBuildACommons-${{ github.ref_name }} ScopeSequencing.tex
+
+ - name: Generate Booklet PDF
+ run: bookletimposer -b -a -f "Letter" -p "2x1" -o HowToBuildACommons-${{ github.ref_name }}-booklet.pdf HowToBuildACommons-${{ github.ref_name }}.pdf
+
+ - name: Debug - Show generated files
+ run: ls -al .
+
+ - name: Create or Update Release
+ uses: softprops/action-gh-release@v1
with:
- upload_url: ${{ steps.create_release.outputs.upload_url }}
- asset_path: ZenCompetition-${{ github.ref_name }}.pdf
- asset_name: ZenCompetition-${{ github.ref_name }}.pdf
- asset_content_type: application/binary
+ files: HowToBuildACommons-${{ github.ref_name }}.pdf,HowToBuildACommons-${{ github.ref_name }}-booklet.pdf,how-to-consensus-zine.svg
+ draft: false
+ prerelease: false
+ name: ${{ github.ref_name }}
+ # This action automatically handles existing releases by updating them
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.gitignore b/.gitignore
index 83d1e31..0ed4c87 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,7 @@
.DS_Store
-BancroftRobodogsNotebook.pdf
*.gz
*.aux
*.log
*.pdf
+*.out
diff --git a/.project b/.project
new file mode 100644
index 0000000..5eb29b7
--- /dev/null
+++ b/.project
@@ -0,0 +1,11 @@
+
+
+ Scope-Sequencing
+
+
+
+
+
+
+
+
diff --git a/CornerDetail.png b/CornerDetail.png
new file mode 100644
index 0000000..fe28750
Binary files /dev/null and b/CornerDetail.png differ
diff --git a/README.md b/README.md
index 861d6e8..34b5198 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,10 @@
-# Zen Robotics Pentatholon
-
-This repository hosts the central repository of competition documents.
+# How To Build a Commons
+This organization exists to teach a class in the present and document the process for the future.
+We recognize the existence of Common Pool Resources bequeathed to us all by our learning community - our shared pedagogical time and collaborative curriculum, both sustained by the precious attention and trust our students provide.
+## Scope & Sequencing
+This repository hosts the Scope & Sequencing document for the How To Build a Commons curriculum.
+## Governance Structure of Steering Committee
+TBD
diff --git a/ScopeSequencing.tex b/ScopeSequencing.tex
new file mode 100644
index 0000000..412152f
--- /dev/null
+++ b/ScopeSequencing.tex
@@ -0,0 +1,456 @@
+\documentclass{article}
+\usepackage{helvet}
+\renewcommand{\familydefault}{\sfdefault}
+\usepackage{enumitem,amssymb}
+\usepackage{lipsum} % for filler text
+\usepackage{geometry}
+\geometry{
+ paperwidth=5.5in,
+ paperheight=8.5in,
+ top=0.25in,
+ bottom=0.5in,
+ left=0.25in,
+ right=0.2in,
+ footskip=20pt % Reserve space for footer
+}
+\usepackage{qrcode}
+\newlist{todolist}{itemize}{2}
+\setlist[todolist]{label=$\square$}
+\usepackage{easylist}
+\usepackage{fancyhdr}
+
+\fancyfoot{} % clear all footer fields
+
+\fancyfoot[C]{How To Build A Common vVERSIONNUMBER} % other info in "inner" position of footer line
+\usepackage{hyperref}
+\usepackage{tikz}
+\usepackage{rotating}
+\usepackage{dashbox}
+\usepackage{graphicx}
+\usepackage{eso-pic} % allows background placement
+\pagestyle{fancy}
+\usepackage{sectsty}
+\sectionfont{\centering}
+
+% Set the value
+\newlength{\mylen}
+\setlength{\mylen}{0.25in}
+% --- Add corner image depending on odd/even page ---
+\newcommand{\AddCornerImage}{%
+ \AddToShipoutPictureBG{%
+ % === Bottom Corner ===
+ \AtPageLowerLeft{%
+ \ifodd\value{page}
+ % Odd pages: bottom-right corner (normal), moved up and in 1mm
+ \put(\LenToUnit{\paperwidth-1.5cm-\mylen},\LenToUnit{\mylen}){%
+ \includegraphics[width=1.5cm]{CornerDetail.png}%
+ }%
+ \else
+ % Even pages: bottom-left corner (mirrored), moved up and in 1mm
+ \put(\LenToUnit{\mylen},\LenToUnit{\mylen}){%
+ \reflectbox{\includegraphics[width=1.5cm]{CornerDetail.png}}%
+ }%
+ \fi
+ }%
+ % === Top Corner ===
+ \AtPageUpperLeft{%
+ \ifodd\value{page}
+ % Odd pages: top-right corner (mirrored and flipped), moved down and in 1mm
+ \put(\LenToUnit{\paperwidth-1.5cm-\mylen},-\LenToUnit{\mylen}){%
+ \scalebox{1}[-1]{\includegraphics[width=1.5cm]{CornerDetail.png}}%
+ }%
+ \else
+ % Even pages: top-left corner (flipped), moved down and in 1mm
+ \put(\LenToUnit{\mylen},-\LenToUnit{\mylen}){%
+ \reflectbox{\scalebox{1}[-1]{\includegraphics[width=1.5cm]{CornerDetail.png}}}%
+ }%
+ \fi
+ }%
+ }%
+}
+
+\newcommand{\linedpage}{%
+ \noindent
+ \foreach \n in {1,...,10}{%
+ \rule{\textwidth}{0.4pt}\\[\baselineskip]
+ }
+}
+
+\newcommand{\linedpagetwo}{%
+ \noindent
+ \foreach \n in {1,...,30}{%
+ \rule{\textwidth}{0.4pt}\\[\baselineskip]
+ }
+}
+
+\usepackage{multicol}
+
+
+\usepackage{atbegshi}
+\AtBeginShipout{\AddCornerImage}
+\begin{document}
+
+\fontsize{8}{9}\selectfont
+
+\vspace*{\fill}
+{\centering \huge \textbf{Building A Common}\par}
+\vspace*{\fill}
+
+\thispagestyle{empty} % put this right after \begin{document} or after your title page
+
+\pagebreak
+
+\vspace{1cm}
+
+{\centering \huge \textbf{Referenced Readings} \par}
+
+\begin{multicols}{2}
+\begin{enumerate}
+
+ \item \textbf{ Governing the Commons by Ellinor Ostrum (Specifically p90-p102) }
+
+ \qrcode[height=30mm]{https://archive.org/details/governingthecommons}
+
+ \item \textbf{The Democracy Project by David Graeber (Specifically Chapter 2) "Consensus"}
+
+ \qrcode[height=30mm]{https://theanarchistlibrary.org/library/david-graeber-the-democracy-project#toc21}
+
+ \item \textbf{Building Belonging by Yana Ludwig}
+
+ \qrcode[height=30mm]{https://github.com/How-To-Build-a-Commons/Scope-Sequencing/releases/download/0.0.11/Building-Belonging-FINAL-E-book-iwmkwg.epub}
+
+ \item \textbf{Debt: The First 5000 Years by David Graeber (Chapter 11)}
+
+ \qrcode[height=30mm]{https://files.libcom.org/files/__Debt__The_First_5_000_Years.pdf}
+
+ \item \textbf{"Violence Vouchers: a descriptive account of property" by Matt Bruenig}
+
+ \qrcode[height=30mm]{https://mattbruenig.com/2014/03/28/violence-vouchers-a-descriptive-account-of-property/}
+
+ \item \textbf{Source Of This Document}
+
+ \qrcode[height=30mm]{https://github.com/How-To-Build-a-Commons/Scope-Sequencing/releases/tag/VERSIONNUMBER}
+
+
+
+
+\end{enumerate}
+\end{multicols}
+
+\pagebreak
+
+\section{What is a Common}
+
+\vspace{0.2cm}
+
+As we live in a world that is entirely governed by markets, I find myself wondering, can we make some of the world different? It turns out that there is a type of managing resources that is different than the State ownership, and different than private ownership, it's commons ownership.
+
+A commons is some piece of the physical world that is managed by a community for the benefit of that community. A commons can be a shared resource that community members share time using in turn. A commons can also manage a consumed resource that is allocated to community members according to the agreements of the community. A community member that receives something from a commons is an "appropriator".
+
+A commons can be managed in a very large variety of ways. Members create the rules that are used to govern their own commons. Some commons are more and less stable over time, depending on what rules the community chooses to adopt.
+
+
+Lets review some design principals used by commons across the world for stable commons. These principals were derived by Ostrum from a datasets of commons that have been operating for at least 200 years.
+
+\begin{enumerate}
+
+\item {Clearly defined boundaries}
+
+Individuals or households who have rights to withdraw resource units from the commons must be clearly defined, as must the boundaries of the commons itself.
+
+
+\item{ Congruence between appropriation and provision rules and local conditions}
+
+ Appropriation rules restricting time, place, technology, and/or quantity of resource units are related to local conditions and to provision rules requiring labor, material, and/or money.
+
+
+\item{Collective-choice arrangements}
+
+community members can participate in modifying the operational rules.
+
+
+\item{Monitoring}
+
+Monitors, who actively audit commons conditions and appropriator behavior, are accountable to the appropriators or are the appropriators.
+
+
+\item{Graduated sanctions}
+
+Appropriators who violate operational rules are likely to be assessed graduated sanctions (depending on the seriousness and context of the offense) by other appropriators, by officials accountable to these appropriators, or by both. See the reading for many varied examples.
+
+
+\item{Conflict-resolution mechanisms}
+
+Appropriators and their officials have rapid access to low-cost local arenas to resolve conflicts among appropriators or between appropriators and officials.
+
+
+
+\item{Minimal recognition of rights to organize}
+
+The rights of appropriators to devise their own institutions are not challenged by external governmental authorities. Essentially property rights need to exist and be assigned to the commons itself.
+
+For commons that are parts of larger systems:
+
+\item{Nested enterprises}
+
+Appropriation, provision, monitoring, enforcement, conflict resolution, and governance activities are organized in multiple layers of nested enterprises.
+
+\end{enumerate}
+\vspace{0.2cm}
+Always remember that building a common is a step-by-step process. You will start with whatever resources and rules you have, and add to the framework over time. The whole idea is to have the rules reflect the needs of the members of the commons. We are all screw-ups some times, and that is ok! We can always evolve our systems over time and bring them in line with our shared values.
+
+
+
+
+\pagebreak
+
+\section{What is Consensus Process?}
+
+Consensus is a process where everyone should be able to weigh in equally on a decision, and no one should be bound by a decision they detest. This boils doing in practice to: Everyone who feels they have (something relevant to the commons) to say about a proposal ought to have their perspectives carefully considered. When making decision for the commons, every member should have the right to participate equally.
+
+Everyone who has strong concerns or objections should have those concerns or objections taken into account and, (if allowed by the commons structure), addressed in the final form of the proposal.
+
+Anyone who feels a proposal violates a fundamental principle shared by the group should have the opportunity to veto (“block”) that proposal.
+
+No one should be forced to go along with a decision to which they did not assent. Likewise, meetings should not be held when there is not a problem to be solved.
+
+A consensus meeting needs some structure to function. When running a meeting there are some roles that need to be filled. Someone needs to act as the facilitator. A facilitator keeps the notes on the meeting and keeps the current version of the proposal. Their role is to ensure that the proposals and objections are recorded accurately. A time keeper is needed to ensure that the agreed upon time limit for speaking is adhered to. Someone should also be keeping track of hands raised to keep the order of the discussion. If just one person is available, they could fulfill these roles themselves, but if the task is shared, then that is preferable.
+
+\begin{enumerate}[]
+ \item (A member of the common) makes a proposal for a certain course of action
+ \item The facilitator asks for clarifying questions to make sure everyone understands precisely what is being proposed
+ \item the facilitator asks for concerns
+ \begin{enumerate}
+ \item during the discussion those with concerns may suggest friendly amendments to the proposal to address the concern, which the person originally bringing the proposal may or may not adopt
+ \item there may or may not be a temperature check about the proposal, an amendment, or the seriousness of a concern
+ \item in the course of this the proposal might be scotched, reformulated, combined with other proposals, broken into pieces, or tabled for later discussion.
+ \end{enumerate}
+ \item the facilitator checks for consensus by:
+ \begin{enumerate}
+ \item asking if there are any stand-asides. By standing aside one is saying “I don’t like this idea, and wouldn’t take part in the action, but I’m not willing to stop others from doing so”. It is always important to allow all those who stand aside to have a chance to explain why they are doing so.
+
+ \item asking if there are any blocks. A block is not a “no” vote. It is much more like a veto. Perhaps the best way to think of it is that it allows anyone in the group to temporarily don the robes of a Supreme Court justice and strike down a piece of legislation they consider unconstitutional; or, in this casein violation of the fundamental principles of unity or purpose of being of the group\footnote{I should note that the usual language in Occupy Wall Street is that a block has to be based on a “moral, ethical, or safety concern that’s so strong you’d consider leaving the movement were the proposal to go forward”.}.,
+
+ \end{enumerate}
+\end{enumerate}
+\pagebreak
+
+
+
+\linedpagetwo
+
+\vspace{1cm}
+\pagebreak
+
+\section{Why Build a Common?}
+
+From the Yana Ludwig reading:
+
+
+\subsection{Spiritual or Religious}
+\subsection{Cultural Preservation}
+\subsection{Social Experimentation}
+\subsection{Service-based}
+\subsection{Economic Security}
+\subsection{Identity-based Safe Havens}
+\subsection{Lifestyle and Comfort Enhancement}
+\subsection{Ecological Sustainability}
+
+\pagebreak
+
+
+
+\linedpagetwo
+
+\vspace{1cm}
+
+\pagebreak
+
+\section{What is Property?}
+\subsection{ Legal Definitions}
+
+This category is referred to as "Private Property" and is a collection of a few distinct rights. These are the rights enforced by and recognized by law.
+
+\begin{enumerate}
+
+ \item \textbf{Usufruct} - the right use use and receive the value from a piece of the physical world
+
+ \item \textbf{Destruction} - the right to destroy a piece of the physical world
+
+ \item \textbf{Exclusion} - the right to exclude others
+
+ \item \textbf{Increase (rent)} - the right to receive rents
+\end{enumerate}
+
+
+
+\subsection{Categories in a Commons}
+
+Within a Commons, once the external entity has been assigned Private Property rights within the law, then that "bubble" can ascribe the rights according to its own rules. The commons can allocate areas of the pieces of the physical world that it manages (the clearly defined boundaries). The allocations can be for consumed aspects (the increase), it can be to assign use terms (Usufruct), and it can determine to what degree exclusion and destruction are used within the commons.
+
+
+\subsection{Personal Property} The items or space that is exclusively assigned along the legal definition. These can be either private property that came with someone into the commons, or can be the appropriators allocated share of some bounty.
+
+
+\subsection{Commons Space} This is the piece of the physical world that may have Usufruct allocated to members, or the public. These generally have the right of destruction held withing the commons (for repairs and upgrades). The right to exclude is also held by the commons itself to determine if and when people can or will be excluded.
+
+\subsection{Public Space} This is space held by the state that assigned property rights. Examples would be the roads, infrastructure and public lands such as parks.
+
+
+
+\pagebreak
+{\section{What We Owe to Each Other}}
+
+
+
+\begin{minipage}[t]{0.72\textwidth}
+ \vspace{0pt}
+ "In a typical village, the only people likely to pay cash were passing
+ travelers, and those considered riff-raff: paupers and ne'er-do-wells so
+ notoriously down on their luck that no one would extend credit to
+ them. Since everyone was involved in selling something, however just
+ about everyone was both creditor and debtor; most family income took
+ the form of promises from other families; everyone knew and kept
+ count of what their neighbors owed one another; and every six months
+ or year or so, communities would hold a general public " reckoning,"
+ cancelling debts out against each other in a great circle, with only those
+ differences then remaining when all was done being settled by use of
+ coin or goods." (Debt: The First 5000 Years Page 327)
+
+ \vspace{0.2cm}
+
+ While it is a nice idea that we all would simply start trusting each other and immediately support each other, it is unrealistic to imagine it would spontaneously occur. Here is a mechanism for boot-strapping such a system in a world where people are familiar with money exchange.
+
+{\centering \textbf{Maker Checks}\par}
+
+ A modern version of the village exchange loops would be the idea of Maker Checks. A way of ensuring the value of a check is the known products of the maker. The specialty of the maker can be specified in the notes, acting as a value-backing for the check. The back side has lines for signing over to whom the check is personally owed. When the check is passed, the name is signed on the back. A check can continue to circulate as a medium of exchange until it expires or it is redeemed by the signatory. The exchange rate of the individuals involved is determined when they compare their personal labor time against the time equivalence on the face value on the check.
+
+ Anyone has the ability to create credit, so long as they have the trust of their community. Exchange can be facilitated by communities trusting one another. By passing the promise around, a whole community of exchange can be facilitated. The basis for all exchange is to realize that we are always in each others debt, and that personalized debt is what creates society itself.
+
+
+
+%This generates the check
+\end{minipage}%
+\vspace{0.2cm}
+\begin{minipage}[t]{0.25\textwidth}
+\vspace{0pt}
+\centering
+\begin{turn}{90}
+ \dbox{%
+ \begin{minipage}[t]{5.2in} % Reduced from 5in
+ \vspace{0.3cm}
+ I \rule{1.5in}{0.4pt} promise to work for \rule{0.5in}{0.4pt} hours and \rule{0.5in}{0.4pt} minutes.
+
+ \noindent
+ \begin{minipage}[t]{0.6\textwidth}
+ \makebox[0.8in][l]{Signed On:} \shortstack{\small Year\\[0.4cm]\rule{0.5in}{0.4pt}} / \shortstack{\small Month\\[0.4cm]\rule{0.5in}{0.4pt}} / \shortstack{\small Day\\[0.4cm]\rule{0.5in}{0.4pt}}
+
+ \makebox[0.8in][l]{Expires On:} \shortstack{\small Year\\[0.4cm]\rule{0.5in}{0.4pt}} / \shortstack{\small Month\\[0.4cm]\rule{0.5in}{0.4pt}} / \shortstack{\small Day\\[0.4cm]\rule{0.5in}{0.4pt}}
+ \end{minipage}%
+ \vspace{0.2cm}
+ \begin{minipage}[t]{0.35\textwidth}
+ \shortstack{\small Notes\\[0.6cm]\rule{1.5in}{0.4pt}}
+ \shortstack{\small Signature\\[0.6cm]\rule{1.5in}{0.4pt}}
+ \end{minipage}
+
+ % --- Add this block at the end of the minipage ---
+ \vspace{0pt}
+ \hfill
+ \raisebox{0pt}[0pt][0pt]{%
+ \includegraphics[width=1.2cm]{CornerDetail.png}%
+ }%
+ \end{minipage}%
+ }
+\end{turn}
+
+\vspace{0.1cm}
+{\footnotesize Cut along the dotted line}
+\end{minipage}
+%End of the check
+
+
+\pagebreak
+
+\linedpagetwo
+
+
+\pagebreak
+
+\section{HOW-TO Build Common}
+
+
+Lets imagine we would actually like to put these ideas into practice.
+
+\begin{enumerate}
+
+ \item The first task is to gather together a group of your community to discuss what to organize. Using the stated principals in this pamphlet is an easy way to begin discussion. A group can change any and all frameworks laid out here, the important part is to agree on principals of decision making and intent as the starting point. Everything starts by talking to the people around you.
+
+ \item Define a piece of the physical world with clearly defined boundaries. A clearly defined boundary will be some piece or pieces of the physical world that can be assigned as property by the legal system in which you reside. The group that is gathering can use the consensus process to determine what piece of the physical world they with to manage. If it is a purchase of a property to manage, discuss the monthly input committed by each member, and compare that to the available real estate and financing terms. A trust is a legal structure that can be used with a charter of assigned property and access rights to bridge cooperative decision making internally with the legal structure external to the cooperative.
+
+ \item Establish problem solving strategies and conflict resolution forums. This can simply be that you agree to call a consensus meeting whenever there is a commons related decision that needs to be made. Ostrums book contains many different forms of problem solving systems if you need more examples.
+
+\end{enumerate}
+
+
+
+\pagebreak
+
+
+\section{A Call To Action}
+
+{\fontsize{11pt}{11pt}\selectfont
+I don't want to run a business. I don't want to manage or profit from
+anyone. I should like to help everyone - if possible - Man, Woman -
+young - old. We all want to help one another. Human beings are like
+that. We want to live by each other's happiness - not by each other's
+misery. We don't want to hate and despise one another. In this world
+there is room for everyone. And the good earth is rich and can provide
+for everyone. The way of life can be free and beautiful... but we have
+lost the way.
+
+Greed has poisoned our souls, has barricaded the world with hate, has
+drone-striked us into misery and bloodshed. We have developed speed, but
+we have shut ourselves in. The robotics that gives abundance has left us in
+want. Our knowledge has made us cynical. Our cleverness, hard and
+unkind. We think too much and feel too little. More than markets we need
+humanity. More than profitability we need kindness and gentleness.
+Without these qualities, life will be violent and all will be lost....
+
+The internet and the smartphone have brought us closer together. The
+very nature of these inventions cries out for the goodness in humanity -
+cries out for universal kinship - for the unity of us all. Even now my
+words could reach billions throughout the world - billions of
+despairing men, women, and little children - victims of a system that
+makes us torture and imprison each other in either the slavery of wage labor or the destitution of homelesness.
+
+To those who can hear me, I say - do not despair. The misery that is now
+upon us is but the passing of greed - the bitterness of those who fear
+the way of human progress. The rise of automation has taken so much away
+from so many, and the rewards, so far, given only to the few. As long as
+\textbf{we} have the ability to invent, \textbf{what which was taken} can
+\textbf{not} be kept for long....
+
+To the Makers among us, don't give your \textbf{time,} your
+\textbf{creativity,} your \emph{\textbf{life}} to a Corporation! An
+organization designed for the sole purpose of greed; Designed to take as
+much as possible for itself, to maximize shareholder value! Don't live
+for greed, \textbf{Design for Freedom!} We the Makers have the power to
+build Our Own automated production. \textbf{The power to create abundance!} We the Makers have the power to make this life Free and
+Beautiful, to make this life a wonderful adventure! In the name of
+Community and Free Information let us use this power, let us all unite
+towards a common project. Let us design a free and open source
+production system to provide \textbf{abundance for \emph{all}}\emph{.}
+By the promise of abundance corporations have risen to power. But they
+lie! They do not fulfill that promise. \textbf{They never will!} Free
+markets free Corporations, but they enslave the people! Now let us
+design a better world, a world of local sustainable automated abundance
+- to do away with greed, with hate and domination. Let us design for a
+world of reason, a world where science and progress will lead to all
+humanity's freedom. \textbf{Makers!} in the name of Freedom and
+Community, \textbf{let us all unite!}
+
+(Credit: Charlie Chaplin, Reworked by Kevin Harrington)
+
+}
+
+\end{document}
diff --git a/ZenCompetition.tex b/ZenCompetition.tex
deleted file mode 100644
index edb3d7c..0000000
--- a/ZenCompetition.tex
+++ /dev/null
@@ -1,220 +0,0 @@
-\documentclass{article}
-\usepackage{enumitem,amssymb}
-\usepackage{lipsum} % for filler text
-\usepackage{fancyhdr}
-\pagestyle{fancy}
-
-\newlist{todolist}{itemize}{2}
-\setlist[todolist]{label=$\square$}
-\usepackage{easylist}
-\fancyfoot{} % clear all footer fields
-\fancyfoot[LE,RO]{\thepage} % page number in "outer" position of footer line
-\fancyfoot[RE,LO]{Version VERSIONNUMBER} % other info in "inner" position of footer line
-
-
-\begin{document}
-
-{\huge \textbf{Zen Robotics Pentatholon}}
-
-\vspace{1cm}
-
-
-\vspace{1cm}
-
-{\huge \textbf{Purpose}}
-\vspace{1cm}
-
-The purpose of this Pentatholon is to encourage students to become good engineers. A good engineer is defined as someone who builds systems that accomplish tasks with accessible designs, give and receive aid among peers, and tries to push forward the edge of the known possible. In short, we intend to inject hope into the world through inspiring feats of engineering.
-
-Accessible designs means that the designs, tools and components are accessible to all competitors, and non competitors equally. Designs and code should be housed in public facing Git repository. Tools should be free and open source to all people. The intent is to prevent enclosure of students skills by companies. Components should be generic commodity components or be manufactured with open licenses for multi-vendor sourcing.
-
-To give and receive aid means that you use the tools and sources of others and assume that the tools and code you create will be used by others. This means being a responsible user of open source code. You should also be a responsible creator of open source code and documentation. The aid you receive, and the aid you give, should be balanced.
-
-To push forward the edge of the known possible means that we compete against physics, not against each other nor against the rules. The purpose of the rules is to ensure recognition of collaboration and an even playing field. Since there can be as many winners as there are teams that accomplish the task, there is no motivation to compete against another team of students. We want to see designs and software that can accomplish tasks, and to see how different folks choose and remix designs to push forward.
-
-
-This pentathlon is designed to foster a connection to these principles for each student. The intent of the rules and scoring structure is to encourage collaboration across teams, and across the world. Students compete against the course, not against each other. Each teams accomplishments are intended to be acknowledged on their own merits. We are all competing together against the edge of the known possible.
-\pagebreak
-
-
-
-{\huge \textbf{Overview}}
-\vspace{1cm}
-
-\textbf{Competition description:} The pentathlon will consist of a standard obstacle course in 5 stages, through which a robot will traverse. Robots will be constrained by the design and construction rules below. Obstacles will be added as needed to the end of the course to ensure balanced difficulty. Early sections of the course will be stable for an extended period of time.
-\begin{enumerate}
-\item Stage one is a performance to hype up and interact with the crowd.
-
-\item Stage two is the first stage of obstacle course.
-
-\item Stage three is the midpoint performance.
-
-\item Stage four is the last portion of obstacle course.
-
-\item Stage five is the final performance and celebration.
-\end{enumerate}
-
-Students will compete in independent categories for recognition awards. These awards will have a grading rubric and top teams will have the ability to get an award based on their individual contributions. Multiple awards are possible in any category. Likewise if no team in a competition scores high enough, the award will not be awarded to the highest point scorer.
-
-\begin{enumerate}
-
-\item Distance through the course
-
-\item Time of completion
-
-\item Mechanical design contribution
-
-\item Code contribution
-
- \item Build quality, adornment and animation
-
- \item Documentation award for writing and improving documentation
-
- \item Toolmaker award for making tools used in the creation of robots
-
-\end{enumerate}
-
- At the end of the course will be a button, which the robot must press to have completed the course. The time through the course is measured and compared for the completion time award. Separate awards will be given for each robot to accomplish the course. If no robot accomplishes the whole course, then the robots will be scored solely on total distance through the course.
-
- An award for contribution to code will be given to the team that contributes a code contribution that affects the control of the robot and accomplishes some aspect of the challenge, and is well documented and easily accessible for other teams.
-
- An award for build quality, adornment and animation will be given for the care given to the aesthetics of the robot and especially the attention paid to human robot interaction. Robots that are perceived well and interact well with judges will be eligible for this award.
-
- Teams that share source early, and over multiple years, will be eligible for the two design awards. Teams will provide authorship of all code submitted, and will need to describe the functionality of each piece of code contributed by other teams. Each team awards percentages of their own contributions and the contributions of other competitors. The percentages are totaled, like a ranked choice vote, to assign the winner of this years global design awards.
-
- Documentation awards recognize creation or improvement of the documentation of either a mechanical, code or tool contribution. Teams can take an existing submission, improve its documentation, and submit the improved stack as their submission. This documentation award recognizes the value of increasing accessibility of an existing design.
-
- Toolmaker awards are for the contribution of an IDE, CAD package, simulation package, assembly jig or any other hardware or software that is used for the creation of the robot, but is not in use at competition time. To be a tool, the contribution must not be active or in use during a competition run. If a contribution is active during a run, it would be considered either a mechanical or code design contribution.
-
- \pagebreak
-
-{\huge \textbf{Definitions}}
-\begin{enumerate}
- \item \textbf{Open Source:} When all of the files used to create an application or design are available.
- \item \textbf{Vitamins:} components generally available, preferable with multiple sources. A specific list will be provided with standard pricing.
- \item \textbf{Save-point:} A point in the course where your robot is expected to perform an animation for the crowd.
-\end{enumerate}
-
- \pagebreak
-{\huge \textbf{Rules}}
-
-\begin{enumerate}
-
-\item \textbf{Composition Of Robot:} A robot that competes in the competition must be composed of FFF printed parts made on an approved printer in an approved material with sources provided, Vitamins from the approved list with BoM provided. Using the posted price list, all vitamins in a submitted robot must not exceed \$500, or from a drag-knife cutter using paper, hardboard or cloth.
-
-\item \textbf{Open Source Requirement:} All of the sources for the design elements of the robot, the robots control code, all dependent libraries, and all software tools used must be open source at the time of competition.
-
-\item \textbf{Program execution:} Robots must communicate to the competition station using the provided protocol. A robots competition code is run by the judges based on the Git URl and tag associated with the competition.
-
-
-\item \textbf{Performance:} Before proceeding into the obstacle course, the robot will be judged on a 90 second animation intended to hype up the crowd. At each save-point through the course another 90 second animation will be required.
-
-\item \textbf{Eligibility:} High school and Jr High school students affiliated with public schools or not-for-profit private schools. Pay-to-play organizations are explicitly forbidden, all students must be able to join teams without a per student cost borne by the students or their families.
-
-
-\item \textbf{Team Composition:} Teams can be 1-6 students. Each team member registers an email address with the team submission for automatic contribution allocation. Teams must have at least one adult coach to register for events. Teams may consist of students from any eligible organization and need not all be from a single organization.
-
-
-\item \textbf{Attribution} Everything submitted for competition must be attributed accurately. This includes the students code. Big blocks of changes copy and pasted into a students repository will be flagged as a potential attribution violation. If work is done collaboratively then the email of each student that contributed must be included in the commit message. Work done by, or modified by, an ML model may not be claimed as a contribution of the student, and must be attributed to the model that created or modified it. (Note that according to the open source tools rule, only open weight ML models may be used)
-
-
-
-
-\end{enumerate}
-
- \pagebreak
-
-{\huge \textbf{Competition structure}}
-
-The competition will be held over the same weekend by all teams wishing to compete.
-
-Teams will register with the completion central ranking server and may submit early if they so choose. Early submissions with novel open source elements may be picked up by other teams, increasing the likelihood the team that posts early gets recognition for one of the design contributions awards.
-
-Each submission team must include an attribution document in the root of the software submission. This document will show clearly what aspect of the submission were done by the students on the team, and what elements were done by current competitors, and what portions are generic open source contributions. When a student submits a contribution it can be used by other teams and must be attributed. When a student graduates, or is not registered as a competitor in the competition year, their contributions are considered generic open source contributions thereafter. Attribution documents must be in the specified format to be machine readable for scoring purposes.
-
-Tool attribution is a separate document in the top level of the students submission repository. Tool attribution follows the rules for code contributions, but must document exactly which tools are used in the creation of each element of the robot. Every tool used by the students in planning, design, CAD and programming must be listed. Use of a tool must be attributed even if the tool's output is converted to another format and modified further. For instance, if a model is designed in OpenSCAD, then exported into Blender for aesthetic modification, both tools must be listed, even if the Blender file is the final version submitted. Using a closed-source tool in a pipeline of otherwise open source tools is not permitted.
-
-In the root of the students submission must be a BoM file that contains each and every vitamin used in the robot. The BoM must have the reference location of that vitamin in the approved vitamins list (Type and Size), its location within the robot, and unique name. No vitamins may be used unless they are in the approved vitamins list. Competitors may submit requests to add new vitamins via a Pull Request to the approved vitamins list with dual sourcing information, sizes and a parametric model in the BowlerStudio format.
-
-Each student, and their associated contributions, are associated to one and only one email address. This email address identifies the student with their contributions. It is very important that the Git Repository involved are configured to use the students email for each commit.
-
-All submissions from a student registered on a team apply to the entire team. If a team works collaboratively on contributions, but has a single "author" in the Git Repository, that is OK. Awards and contributions are applied to whole teams.
-
-All teams that compete in the code portion must have at least one hardware submission. Multiple code teams may use a single hardware entry. A code entry may be used on more than one hardware entry.
-
-Hardware only teams may compete for the design award. They must demonstrate that the design works with an existing software release, or that they have developed and released a working software stack by performing well in the obstacle course.
-
-Performance only teams may compete so long as the animations and costume can be demonstrated to still work within the obstacle course.
-
-All teams that wish to compete for top prizes must compete over the competition weekend. All robots source must be posted and tagged by the provided time, on the day before competition.
-
-Competition consists of the judges running the tagged code against the student provided robot, connected to the judges station's network. The judge will run the tagged code in a standard execution environment. Students code must work as a self contained system, or bootstrap components as they are needed. Judges station will have access to the internet during practice run to ensure bootstrapping. Student downloads are limited to 8gb of total used disk space. The student provided software will have a competition.sh file that will perform then entire task of animation, course navigation and stopping at the end to press the button. Animation audio will play through the station computer.
-
-Each team in the competition must perform some portion of the obstacle course to be counted for judging. All runs of the course are recorded for the instant runoff judging. Judging for objective measures such ad distance and time will be judged instantly. Performance and design contribution judging will be performed over the following weeks. Finalists will be invited to submit a new animation for second round judging at a central event. The finalists will be judged and awarded at that time.
-
-
-
- \pagebreak
-
-{\huge \textbf{Software}}
-
-\textbf{Competition Runtime:} The competition runtime is a Linux computer. Student code will consist of a launcher script that performs the entire course without further human interaction. The competition runtime computer will be Ubuntu LTS on x86\_64 processor with 32gb of ram. The competition station will be connected to a WiFi station. The robot will be connected to the same WiFi station. The station will have BowlerStudio, Docker and Java 8 installed.
-
-\textbf{Libraries:} Code and design libraries can be kept as shell scripts, or they my be distributed as binary released libraries. Teams are expected to provide authorship of all libraries used within a submission.
-
-\textbf{Design tools:} IDE's, CAD packages, Simulation tools, project planning and any other necessary piece of software used in the process of planning, design, or production of a submission must also be open source. BowlerStudio, FreeCAD, Blender, OpenSCAD, Inkscape are examples of CAD design tools that would be acceptable. Web based tools do not count.
-
-
-\vspace{1cm}
-
- \pagebreak
-
-{\huge \textbf{Judging}}
-
-\textbf{Distance through the course:} The judging for distance through the course will be measured as a distance from the start line to the point on the robot closest to the start line. If the robot splits into multiple pieces (intentionally or otherwise) the piece that is closest to the starting line will be measured. Any part that falls off during competition will mark the furthest point that can be judged for distance.
-
-\textbf{Time of completion:} Time through the obstacle portion will be timed. The performance time, since it is required to take a fixed amount of time, do not count towards completion time. Time for the 2 sections of obstacle course will be measured separately.
-
- \textbf{Mechanical design contribution:} Attribution documents will be used to determine the contributions for the mechanical design award. All the competitors submissions will act as a student-led vote for this award. The judges will assess the existence of the attribution documents and arbitrate any challenges to the distributions percentages. The judges will not qualitatively evaluate this award, instead it is voted on using the attribution documents.
-
-\textbf{Code contribution:} Attribution documents will be used to determine the contributions for the code award. All the competitors submissions will act as a student-led vote for this award. The judges will assess the existence of the attribution documents and arbitrate any challenges to the distributions percentages. The judges will not qualitatively evaluate this award, instead it is voted on using the attribution documents.
-
-\textbf{Build quality, adornment and animation:} This award will be judged qualitatively by the judges at each competition event site. A scoring rubric will be used to establish fair judging standards. The site competition winners will be featured on the main competition website for the following year.
-
-\textbf{Documentation award for writing and improving documentation:} Attribution documents will be used to determine the contributions for the aesthetics award. All the competitors submissions will act as a student-led vote for this award. The judges will assess the existence of the attribution documents and arbitrate any challenges to the distributions percentages. The judges will not qualitatively evaluate this award, instead it is voted on using the attribution documents.
-
-\textbf{Toolmaker award for making tools used in the creation of robots:} Attribution documents will be used to determine the contributions for the toolmaker design award. All the competitors submissions will act as a student-led vote for this award. The judges will assess the existence of the attribution documents and arbitrate any challenges to the distributions percentages. The judges will not qualitatively evaluate this award, instead it is voted on using the attribution documents.
-
-\textbf{Voting} Competitor voting will be allocated as percentages of the total, summed together. Each team has one submission for each: code, mechanical and tools. The total of the percentage allocation must sum to exactly 1. Fractional allocations must have no more than 3 significant figures. Voting will be run algorithmically on the day of competition after all the teams get judging sign off of the accuracy and completeness of the documents.
-
-
-\textbf{Championship} Each event's qualitative judging will award 3, unranked, winners. The winners of the qualitative judging will be offered to compete in a championship competition event following the general competition weekend. The championship event must be held in the city where Zen Robotics originated, Worcester MA. Championship will award 3 ranked winners.
-
-
-
-\vspace{1cm}
- \pagebreak
- {\huge \textbf{Appendix}}
-
- \pagebreak
- \vspace{1cm}
- {\huge \textbf{Justification of Decisions}}
-\vspace{1cm}
-
-This competition was inspired as an act of schismogenesis in response to FIRST and Vex competitions. The competition structure, team-on-team competition and my-win-requires-your-loss aspects are the motivations for a change. There are elements that are desirable, such as team collaboration, across-team collaboration and high school engineering.
-
-Why Linux as the runtime?
-\begin{enumerate}
-\item We want to encourage full-scale compute hardware as the runtime for robot programs.
-
-\item We want to see tight integration of Control Code, Robot Kinematics, Robot CAD and Robot Simulation.
-
-\item We want to see fully open source designs that can be composites of many repositories, with runtime self-bootstrapping on new systems.
-
-\item We want to have students able to open up the robot in an Integrated Robotics Development Environment.
-
-\item We want to encourage a distributed architecture of compute and edge devices.
-
-\end{enumerate}
-\vspace{1cm}
-\end{document}
diff --git a/how-to-consensus-zine.svg b/how-to-consensus-zine.svg
new file mode 100644
index 0000000..587060b
--- /dev/null
+++ b/how-to-consensus-zine.svg
@@ -0,0 +1,4691 @@
+
+
+
+