init
This commit is contained in:
commit
600d10585d
277
LICENSE
Normal file
277
LICENSE
Normal file
@ -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)
|
120
README.md
Normal file
120
README.md
Normal file
@ -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 !
|
||||
|
80
signet.sh
Executable file
80
signet.sh
Executable file
@ -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
Block a user