commit
600d10585d
3 changed files with 477 additions and 0 deletions
@ -0,0 +1,277 @@ |
|||||
|
Part of the Unbound Libraries Documentation |
||||
|
|
||||
|
CC4R* COLLECTIVE CONDITIONS FOR RE-USE |
||||
|
|
||||
|
COPYLEFT ATTITUDE WITH A DIFFERENCE - VERSION 1.0 |
||||
|
|
||||
|
------------------------------------------------------------------------ |
||||
|
|
||||
|
REMINDER TO CURRENT AND FUTURE AUTHORS: |
||||
|
|
||||
|
The authored work released under the CC4r was never yours to begin with. |
||||
|
The CC4r considers authorship to be part of a collective cultural effort |
||||
|
and rejects authorship as ownership derived from individual genius. This |
||||
|
means to recognize that it is situated in social and historical |
||||
|
conditions and that there may be reasons to refrain from release and |
||||
|
re-use. |
||||
|
|
||||
|
------------------------------------------------------------------------ |
||||
|
|
||||
|
PREAMBLE |
||||
|
|
||||
|
The CC4r articulates conditions for re-using authored materials. This |
||||
|
document is inspired by the principles of Free Culture – with a few |
||||
|
differences. You are invited to copy, distribute, and transform the |
||||
|
materials published under these conditions, and to take the implications |
||||
|
of (re-)use into account. |
||||
|
The CC4r understands authorship as inherently collaborative and |
||||
|
already-collective. It applies to hybrid practices such as human-machine |
||||
|
collaborations and other-than-human contributions. The legal framework |
||||
|
of copyright ties authorship firmly in property and individual human |
||||
|
creation, and prevents more fluid modes of authorial becoming from |
||||
|
flourishing. Free Culture and intersectional, feminist, anti-colonial |
||||
|
work reminds us that there is no tabula rasa, no original or single |
||||
|
author; that authorial practice exists within a web of references. |
||||
|
The CC4r favours re-use and generous access conditions. It considers |
||||
|
hands-on circulation as a necessary and generative activation of |
||||
|
current, historical and future authored materials. While you are free to |
||||
|
(re-)use them, you are not free from taking the implications from |
||||
|
(re-)use into account. |
||||
|
The CC4r troubles the binary approach that declares authored works |
||||
|
either ‘open’ or ‘closed’. It tries to address how a universalist |
||||
|
approach to openness such as the one that Free licenses maintain, has |
||||
|
historically meant the appropriation of marginalised knowledges. It is |
||||
|
concerned with the way Free Culture, Free Licenses and Open Access do |
||||
|
not account for the complexity and porosity of knowledge practices and |
||||
|
their circulation, nor for the power structures active around it. This |
||||
|
includes extractive use by software giants and commercial on-line |
||||
|
platforms that increasingly invest into and absorb Free Culture. |
||||
|
The CC4r asks CURRENT and FUTURE AUTHORS, as a collective, to care |
||||
|
together for the implications of appropriation. To be attentive to the |
||||
|
way re-use of materials might support or oppress others, even if this |
||||
|
will never be easy to gauge This implies to consider the collective |
||||
|
conditions of authorship. |
||||
|
The CC4r asks you to be courageous with the use of materials that are |
||||
|
being licensed under the CC4r. To discuss them, to doubt, to let go, to |
||||
|
change your mind, to experiment with them, to give back to them and to |
||||
|
take responsibility when things might go wrong. |
||||
|
Considering the Collective Conditions for (re-)use involves inclusive |
||||
|
crediting and speculative practices for referencing and resourcing. To |
||||
|
consider the circulation of materials on commercial platforms as |
||||
|
participating in extractive data practices; platform capitalism |
||||
|
appropriates and abuses collective authorial practice. To take into |
||||
|
account that the defaults of openness and transparency have different |
||||
|
consequences in different contexts. To consider the potential necessity |
||||
|
for opacity when accessing and transmitting knowledge, especially when |
||||
|
it involves materials that matter to marginalized communities. |
||||
|
This document was written in response to the Free Art License (FAL) in a |
||||
|
process of coming to terms with the colonial structuring of knowledge |
||||
|
production. It emerged out of concerns with the way Open Access and Free |
||||
|
Culture ideologies foregrounding openness and freedom as universal |
||||
|
principles might replicate some of the problems with conventional |
||||
|
copyright. |
||||
|
|
||||
|
DEFINITIONS |
||||
|
|
||||
|
« LEGAL AUTHOR » In the CC4r, LEGAL AUTHOR is used for the individual |
||||
|
that is assigned as “author” by conventional copyright. Even if the |
||||
|
authored work was never theirs to begin with, he or she is the only one |
||||
|
that is legally permitted to license a work under a CC4r. This license |
||||
|
is therefore not about liability, or legal implications. It cares about |
||||
|
the ways copyright contributes to structural inequalities. |
||||
|
« CURRENT AUTHOR » can be used for individuals and collectives. It is |
||||
|
the person, collective or other that was involved in generating the work |
||||
|
created under a CC4r license. CURRENT and FUTURE AUTHOR are used to |
||||
|
avoid designations that overly rely on concepts of ‘originality’ and |
||||
|
insist on linear orders of creation. |
||||
|
« FUTURE AUTHOR » can be used for individuals and collectives. They want |
||||
|
to use the work under CC4r license and are held to its conditions. All |
||||
|
future authors are considered coauthors, or anauthors. They are |
||||
|
anauthorized because this license provides them with an unauthorized |
||||
|
authorization. |
||||
|
« LICENSE » due to its conditional character, this document might |
||||
|
actually not qualify as a license. It is for sure not a Free Culture |
||||
|
License. see also: UNIVERSALIST OPENNESS. |
||||
|
« (RE-)USE » the CC4r opted for bracketing “RE” out of necessity to mess |
||||
|
up the time-space linearity of the original.« OPEN <-> CLOSED » the CC4r |
||||
|
operates like rotating doors… it is a swinging license, or a hinged |
||||
|
license. |
||||
|
« UNIVERSALIST OPENNESS » the CC4r tries to propose an alternative to |
||||
|
universalist openness. A coming to terms with the fact that universal |
||||
|
openness is “safe” only for some. |
||||
|
|
||||
|
0. CONDITIONS |
||||
|
|
||||
|
The invitation to (re-)use the work licenced under CC4r applies as long |
||||
|
as the FUTURE AUTHOR is convinced that this does not contribute to |
||||
|
oppressive arrangements of power, privilege and difference. These may be |
||||
|
reasons to refrain from release and re-use. |
||||
|
If it feels paralyzing to decide whether or not these conditions apply, |
||||
|
it might point at the need to find alternative ways to activate the |
||||
|
work. In case of doubt, consult for example |
||||
|
https://constantvzw.org/wefts/orientationspourcollaboration.en.html. |
||||
|
|
||||
|
1. OBJECT |
||||
|
|
||||
|
The aim of this license is to articulate collective conditions for |
||||
|
re-use. |
||||
|
|
||||
|
2. SCOPE |
||||
|
|
||||
|
The work licensed under the CC4r is reluctantly subject to copyright |
||||
|
law. By applying CC4r, the legal author extends its rights and invites |
||||
|
others to copy, distribute, and modify the work. |
||||
|
|
||||
|
2.1 INVITATION TO COPY (OR TO MAKE REPRODUCTIONS) |
||||
|
|
||||
|
When the conditions under 0. apply, you are invited to copy this work, |
||||
|
for whatever reason and with whatever technique. |
||||
|
|
||||
|
2.2 INVITATION TO DISTRIBUTE, TO PERFORM IN PUBLIC |
||||
|
|
||||
|
As long as the conditions under 0. apply, you are invited to distribute |
||||
|
copies of this work; modified or not, whatever the medium and the place, |
||||
|
with or without any charge, provided that you: |
||||
|
|
||||
|
- attach this license to each of the copies of this work or indicate |
||||
|
where the license can be found; |
||||
|
- make an effort to account for the collective conditions of the work, |
||||
|
for example what contributions were made to the modified work and by |
||||
|
whom, or how the work could continue; |
||||
|
- specify where to access other versions of the work. |
||||
|
|
||||
|
2.3 INVITATION TO MODIFY |
||||
|
|
||||
|
As long as the conditions under 0. apply, you are invited to make future |
||||
|
works based on the current work, provided that you: |
||||
|
|
||||
|
- observe all conditions in article 2.2 above, if you distribute |
||||
|
future works; |
||||
|
- indicate that the work has been modified and, if possible, what kind |
||||
|
of modifications have been made. |
||||
|
- distribute future works under the same license or any compatible |
||||
|
license. |
||||
|
|
||||
|
3. INCORPORATION OF THE WORK |
||||
|
|
||||
|
Incorporating this work into a larger work (i.e., database, anthology, |
||||
|
compendium, etc.) is possible. If as a result of its incorporation, the |
||||
|
work can no longer be accessed apart from its appearance within the |
||||
|
larger work, incorporation can only happen under the condition that the |
||||
|
larger work is as well subject to the CC4r or to a compatible license. |
||||
|
|
||||
|
4. COMPATIBILITY |
||||
|
|
||||
|
A license is compatible with the CC4r provided that: |
||||
|
|
||||
|
- it invites users to take the implications of their appropriation |
||||
|
into account; |
||||
|
- it invites to copy, distribute, and modify copies of the work |
||||
|
including for commercial purposes and without any other restrictions |
||||
|
tha |
||||
|
n those required by the other compatibility criteria; |
||||
|
- it ensures that the collective conditions under which the work was |
||||
|
authored are attributed unless not desirable, and access to previous |
||||
|
versions of the work is provided when possible; |
||||
|
- it recognizes the CC4r as compatible (reciprocity); |
||||
|
- it requires that changes made to the work will be subject to the |
||||
|
same license or to a license which also meets these compatibility |
||||
|
criteria. |
||||
|
|
||||
|
5. LEGAL FRAMEWORK |
||||
|
|
||||
|
Because of the conditions mentioned under 0., this is not a Free |
||||
|
License. It is reluctantly formulated within the framework of both the |
||||
|
Belgian law and the Berne Convention for the Protection of Literary and |
||||
|
Artistic Works. |
||||
|
“We recognize that private ownership over media, ideas, and technology |
||||
|
is rooted in European conceptions of property and the history of |
||||
|
colonialism from which they formed. These systems of privatization and |
||||
|
monopolization, namely copyright and patent law, enforce the systems of |
||||
|
punishment and reward which benefit a privileged minority at the cost of |
||||
|
others’ creative expression, political discourse, and cultural survival. |
||||
|
The private and public institutions, legal frameworks, and social values |
||||
|
which uphold these systems are inseparable from broader forms of |
||||
|
oppression. Indigenous people, people of color, queer people, trans |
||||
|
people, and women are particularly exploited for their creative and |
||||
|
cultural resources while hardly receiving any of the personal gains or |
||||
|
legal protections for their work. We also recognize that the public |
||||
|
domain has jointly functioned to compliment the private, as works in the |
||||
|
public domain may be appropriated for use in proprietary works. |
||||
|
Therefore, we use copyleft not only to circumvent the monopoly granted |
||||
|
by copyright, but also to protect against that appropriation.” |
||||
|
[Decolonial Media License] |
||||
|
|
||||
|
6. YOUR RESPONSIBILITIES |
||||
|
|
||||
|
The invitation to use the work as defined by the CC4r (invitation to |
||||
|
copy, distribute, modify) implies to take the implications of the |
||||
|
appropriation of the materials into account. |
||||
|
|
||||
|
7. DURATION OF THE LICENSE |
||||
|
|
||||
|
This license takes effect as of the moment that the FUTURE AUTHOR |
||||
|
accepts the invitation of the CURRENT AUTHOR. The act of copying, |
||||
|
distributing, or modifying the work constitutes a tacit agreement. This |
||||
|
license will remain in effect for the duration of the copyright which is |
||||
|
attached to the work. If you do not respect the terms of this license, |
||||
|
the invitation that it confers is void. If the legal status or |
||||
|
legislation to which you are subject makes it impossible for you to |
||||
|
respect the terms of this license, you may not make use of the rights |
||||
|
which it confers. |
||||
|
|
||||
|
8. VARIOUS VERSIONS OF THE LICENSE |
||||
|
|
||||
|
You are invited to reformulate this license by way of new, renamed |
||||
|
versions. Link to license on gitlab. You can of course make |
||||
|
reproductions and distribute this license verbatim (without any |
||||
|
changes). |
||||
|
|
||||
|
9. USER GUIDE |
||||
|
|
||||
|
– How to use the CC4r? |
||||
|
|
||||
|
To apply the CC4r, you need to mention the following elements: |
||||
|
[Name of the legal author, title, date of the work. When applicable, |
||||
|
names of authors of the common work and, if possible, where to find |
||||
|
other versions of the work]. |
||||
|
Copyleft with a difference: This is a collective work, you are invited |
||||
|
to copy, distribute, and modify it under the terms of the CC4r [link to |
||||
|
license]. |
||||
|
Short version: Legal author=name, date of work. CC4r [link to license] |
||||
|
|
||||
|
– Why use the CC4r? |
||||
|
|
||||
|
1. To remind yourself and others that you do not own authored works; |
||||
|
2. To not allow copyright to hinder works to evolve, to be extended, to |
||||
|
be transformed; |
||||
|
3. To allow materials to circulate as much as they need to; |
||||
|
4. Because the CC4r offers a legal framework to disallow |
||||
|
mis-appropriation by insisting on inclusive attribution. Nobody can |
||||
|
take hold of the work as one’s exclusive possession. |
||||
|
|
||||
|
– When to use the CC4r? |
||||
|
|
||||
|
Any time you want to invite others to copy, distribute and transform |
||||
|
authored works without exclusive appropriation but with considering the |
||||
|
implications of (re-)use, you can use the CC4r. You can for example |
||||
|
apply it to collective documentation, hybrid productions, artistic |
||||
|
collaborations or educational projects. |
||||
|
|
||||
|
– What kinds of works can be subject to the CC4r? |
||||
|
|
||||
|
The Collective Conditions for re-use can be applied to digital as well |
||||
|
as physical works.You can choose to apply the CC4r for any text, |
||||
|
picture, sound, gesture, or whatever material as long as you have legal |
||||
|
author’s rights. |
||||
|
|
||||
|
– Background of this license: |
||||
|
|
||||
|
The CC4r was developed for the Constant worksession Unbound libraries |
||||
|
(spring 2020) and followed from discussions during and contributions to |
||||
|
the study day Authors of the future (Fall 2019). It is based on the Free |
||||
|
Art License and inspired by other licensing projects such as the |
||||
|
(Cooperative) Non-Violent Public License and the Decolonial Media |
||||
|
license. Copyleft Attitude with a difference, 6 October 2020. Read more |
||||
|
about CC4r in: “Collectively Setting Conditions for Re-Use” (Elodie |
||||
|
Mugrefya & Femke Snelting, MARCH, spring 2022) |
@ -0,0 +1,120 @@ |
|||||
|
# Presentation |
||||
|
Signet.sh est un script shell qui transforme une base de donnée de liens |
||||
|
en une page html. La conversion est faite par une commande awk au sein |
||||
|
d'une déclaration here-doc qui est redirigé dans une page html. |
||||
|
|
||||
|
J'ai créé ce script car je trouve le gestionnaire de marque-page de |
||||
|
firefox instatsifant, autant dans sa forme que dans le format utilisé |
||||
|
(sqlite). Ce script et les utilitaires autours proposent une une |
||||
|
alternative pour archiver ses navigations internet. |
||||
|
|
||||
|
## Format de la base de donné |
||||
|
Seule une Url est requise, le reste des champs sont |
||||
|
facultatifs, on compte les champs suivants : |
||||
|
URL : |
||||
|
Name : Par défaut la balise </title> de la page |
||||
|
Description |
||||
|
Tags : mots-clés séparés d'une virgule |
||||
|
Date : heure posix de l'ajout du lien |
||||
|
Color : couleur css (nom, hex, rgb etc...) |
||||
|
|
||||
|
Par exemple, dans un fichier qui s'appelle par défaut BOOKMARKS : |
||||
|
... |
||||
|
URL: https://rosettacode.org/wiki/Rosetta_Code |
||||
|
Name: Rosetta Code |
||||
|
Description: |
||||
|
Tags: literacy, read |
||||
|
Date: 1704675057 |
||||
|
|
||||
|
URL: https://www.emigre.com/TypeSpecimens |
||||
|
Name: Emigre: Type Specimens |
||||
|
Description: |
||||
|
Tags: emigre, type |
||||
|
Date: 1704680644 |
||||
|
Color: Purple |
||||
|
|
||||
|
URL: https://web.archive.org/web/20211025182257/http://len.falken.ink/ |
||||
|
Name: Wayback Machine |
||||
|
Description: |
||||
|
Tags: read |
||||
|
Date: 1704712747 |
||||
|
... |
||||
|
|
||||
|
|
||||
|
# Autres gestionnaires de signets de favoris : |
||||
|
- nb https://xwmx.github.io/nb/ (AGPL-3.0) |
||||
|
- ?? |
||||
|
|
||||
|
|
||||
|
# Dependances : |
||||
|
Pour ajouter un lien via l'interface proposée, on aura besoin |
||||
|
d'installer dmenu ~~et htmlq~~. |
||||
|
- dmenu https://tools.suckless.org/dmenu/ (MIT/X) |
||||
|
- ~~htmlq https://github.com/mgdm/htmlq (MIT)~~ remplacé par une |
||||
|
commande awk |
||||
|
## dmenu |
||||
|
Dmenu est un menu interactif qui permet de sélectionner et d'écrire des |
||||
|
valeurs dans un menu. Ces valeurs peuvent provenir d'un programme |
||||
|
fournit en entrée un *pipe* "|", par exemple : |
||||
|
ls | dmenu |
||||
|
affiche un menu déroulant avec les fichiers de mon répertoire. Dans |
||||
|
notre script, pour stocker le choix dans une variable, on peut faire : |
||||
|
tags=$(echo "" | dmenu -p "Enter comma-separated tags:") |
||||
|
## ~~htmlq~~ |
||||
|
Htmlq est un parseur d'html écrit en go. Peu importe quel parseur on |
||||
|
utilise, on dirait que chaque langage a le sien. |
||||
|
Il s'agit ici de fournir au programme une chaîne de caractère en entrée |
||||
|
et d'en filtrer des éléments html |
||||
|
Si en javascript pour récupérer tous les <h1> enfants d'une <section> on |
||||
|
peut faire |
||||
|
document.querySelectorAll('section h1') |
||||
|
En shell, c'est plus compliqué, htmlq est fait pour ça : |
||||
|
cat fichier.html | htmlq 'section h1' |
||||
|
Et pour récurer seulement le texte -- l'équivalent en javascript de |
||||
|
.innerHTML : |
||||
|
cat fichier.html | htmlq 'section h1' --text |
||||
|
On s'en sert pour récupérer la balise titre de la page à ajouter : |
||||
|
curl page.html | htmlq 'title' --text |
||||
|
Patch pré-sortie : |
||||
|
|
||||
|
|
||||
|
|
||||
|
C'est quelque chose qu'il faudra changer, pour l'instant cette étape est |
||||
|
bloquante. Pour peu que la connection internet coupe lors de l'ajout |
||||
|
d'un lien, il faudra attendre la fin de la tentative de curl pour passer |
||||
|
au prochain champs du script :/ sorry ! |
||||
|
|
||||
|
# Usage : (faites les votre) |
||||
|
Pour ajouter un lien, je séléctionne l'url de la page avec Ctrl + l, la |
||||
|
copie et lance add.sh avec Super + i. _Si quelqu'un sait récupérer l'url |
||||
|
de la page courante du navigateur sans avoir à la copier, ça |
||||
|
économiserait deux étapes._ |
||||
|
En résumé : Ctrl + l, Ctrl + c, Super + i |
||||
|
(ou plus court : Ctrl + l + i, Super + i) |
||||
|
|
||||
|
Super + i car dans le fichier de configuration de mon gestionnaire de |
||||
|
fenêtre situé dans ~/.config/awesome/rc.lua j'ai les lignes suivantes : |
||||
|
|
||||
|
awful.key({modkey}, "i", function() |
||||
|
awful.util.spawn_with_shell("add.sh") end, |
||||
|
{description = "Enregistre le lien copié dans signet.sh"}), |
||||
|
|
||||
|
# Structure du répertoire |
||||
|
|
||||
|
BOOKMARKS → Une base de donnée de liens |
||||
|
add.sh → Un script pour rajouter un lien dans la base de donné |
||||
|
- dmenu |
||||
|
- ./signet.sh |
||||
|
signet.sh → Le script shell en lui-même |
||||
|
- Il génère une nouvelle page html à partir de la base |
||||
|
de donnés de liens (par défaut index.html) |
||||
|
style.css → La feuille de style pour styliser index.html |
||||
|
script.js → Un peu de javascript pour: |
||||
|
- rechercher dans la </textarea> |
||||
|
- ajouter les couleurs de fond aux entrées qui en ont |
||||
|
- si le champs de description est vide, ne pas |
||||
|
l'afficher |
||||
|
- formater les dates du temps posix au format AA-MM-JJ |
||||
|
/!\ Prochainement /!\ |
||||
|
starred.sh → Un curl des repos de l'api github https://api.github.com/users/[user]/starred , formaté de json à une liste html sans jq ! |
||||
|
|
@ -0,0 +1,80 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
DEST=index.html |
||||
|
|
||||
|
# I thought about using recutils db from GNU but went back to plain text |
||||
|
#DB=BOOKMARKS.rec |
||||
|
DB=BOOKMARKS |
||||
|
|
||||
|
cat <<- EOF > $DEST |
||||
|
<!DOCTYPE html> |
||||
|
<html> |
||||
|
<head> |
||||
|
<title>⛵ → $(date "+%g-%m-%d, %H:%M")</title> |
||||
|
<script defer src="jquery-3.6.4.js"></script> |
||||
|
<script defer src="script.js"></script> |
||||
|
<link rel="stylesheet" href="style.css"> |
||||
|
<meta charset="utf-8" /> |
||||
|
</head> |
||||
|
<body> |
||||
|
<div id="cc"></div> |
||||
|
<textarea autofocus id=""></textarea> |
||||
|
<nav> |
||||
|
$( |
||||
|
awk '/Tags: ./ {print tolower($0)}' $DB |\ |
||||
|
sed -e 's/tags: //' -e 's/,/\n/g' | sed 's/^ //g' |\ |
||||
|
sort | uniq -c | sort -nr |\ |
||||
|
awk '{print "<p count=\"" $1 "\">" $2 "</p>"}' |
||||
|
) |
||||
|
</nav> |
||||
|
<ol> |
||||
|
$( |
||||
|
awk -v RS= '!/Tags: .*hide/ {print $0 "\n"}' $DB | \ |
||||
|
awk -v RS= ' |
||||
|
{ |
||||
|
if ($0 != "") { |
||||
|
split($0, lines, "\n") |
||||
|
color = "" |
||||
|
for (i in lines) { |
||||
|
split(lines[i], parts, ": ") |
||||
|
field = parts[1] |
||||
|
value = parts[2] |
||||
|
if (field == "Color") { |
||||
|
color = value |
||||
|
} |
||||
|
vals[i] = value |
||||
|
} |
||||
|
URL=vals[1] |
||||
|
NAME=vals[2] |
||||
|
DESC=vals[3] |
||||
|
TAGS=vals[4] |
||||
|
DATE=vals[5] |
||||
|
|
||||
|
print "<li>" |
||||
|
print "<a href=\"" URL "\">" |
||||
|
|
||||
|
if (color != "") { |
||||
|
print "<section color=\"" color "\">" |
||||
|
} |
||||
|
else { |
||||
|
print "<section>" |
||||
|
} |
||||
|
|
||||
|
print "<h5>" URL "</h5>" \ |
||||
|
"<h1>" NAME "</h1>" \ |
||||
|
"<h2>" DESC "</h2>" \ |
||||
|
"<h3>" TAGS "</h3>" \ |
||||
|
"<h4>" DATE "</h4>" |
||||
|
|
||||
|
print "</section>" |
||||
|
print "</a>" |
||||
|
print "</li>" |
||||
|
} |
||||
|
} ' |
||||
|
) |
||||
|
</ol> |
||||
|
</body> |
||||
|
</html> |
||||
|
EOF |
||||
|
|
||||
|
|
Loading…
Reference in new issue