Caro Giacomo,

mi spiace essere prolissa ma credo proprio che quanto sostieni sia
drammaticamente fuorviante

Giacomo Tesio <giac...@tesio.it> writes:

> Ciao 380,
>
> Il 13 Marzo 2024 19:03:07 CET, "380°" <g...@biscuolo.net> ha scritto:
>>  sinceramente ho capito poco in merito alla richiesta della
>> persona offesa.
>
> Una persona ha cambiato nome e ha legittimamente richiesto l'aggiornamento 
> dei dati
> pubblicati da Sofware Heritage, esercitando un diritto riconosciutole
> dal GDPR.

A parte che *purtroppo* non abbiamo la trascrizione di _tutte_ le
comunicazioni avvenute in merito alla richiesta della persona ma solo un
suo sfogo sconclusionato, facciamo finta che quanto scrivi tu sia
l'interpretazione corretta di come sono andati i fatti.

Esercitando un diritto, ah sì?!?  Bene, parliamo (io che sono davvero
ignorante!) del diritto di rettifica previsto dal GDPR, allora.

https://www.altalex.com/documents/news/2018/04/12/articolo-16-gdpr-diritto-di-rettifica
--8<---------------cut here---------------start------------->8---

Di seguito riportiamo il Considerando collegato:

(65) Un interessato dovrebbe avere il diritto di ottenere la rettifica
dei dati personali che la riguardano [...]  Tale diritto è in
particolare rilevante se l'interessato ha prestato il proprio consenso
quando era minore, e quindi non pienamente consapevole dei rischi
derivanti dal trattamento, e vuole successivamente eliminare tale tipo
di dati personali, in particolare da internet.

--8<---------------cut here---------------end--------------->8---

SWH, svolgendo il proprio compito istituzionale di /biblioteca digitale/
di sorgenti del software _pubblicato_ (dagli aventi diritto) effettua un
trattamento dei dati personali pubblicati assieme al sorgente del
software e _quindi_ è necessario che acquisisca il consenso di *ogni*
persona nominata in tali sorgenti?  IANAL ma se fosse così sarebbe
davvero un bel *casino* cosmico per ogni organizzazione che si occupa di
(re)distribuire software libero, che _obbligatoriamente_ deve essere
messo a disposizione dal (re)distributore anche in forma di codice
sorgente.

...ma è la seconda parte del considerando 65 che forse è ancora più
interessante:

--8<---------------cut here---------------start------------->8---

[...]  Tuttavia, dovrebbe essere lecita l'ulteriore conservazione dei
dati personali qualora sia necessaria per esercitare il diritto alla
libertà di espressione e di informazione, per adempiere un obbligo
legale, per eseguire un compito di interesse pubblico [...], a fini di
archiviazione nel pubblico interesse, di ricerca scientifica o storica o
a fini statistici, ovvero per accertare, esercitare o difendere un
diritto in sede giudiziaria.

--8<---------------cut here---------------end--------------->8---

SWH si occupa _precisamente_ di archiviazione _sia_ nel pubblico
interesse che in quello della ricerca scientifica e *storica*: la
conservazione dei "vecchi" dati personali è lecita quindi, o no?!?

Pretendere di "riscrivere la storia" - per altro *pubblicata*
direttamente dalla persona interessata, manco dal suo datore di lavoro -
e spacciare quella pretesa come un diritto fa *estremamente* male alla
salute culturale di un'intera civiltà.

> SWH non ha risposto alla sua richiesta.

Così dice la persona offesa, sarei felice di leggere un comunicato
stampa ufficiale di SWH

>> la spiegazione tecnica relativa ai metadati come parte integrante della
>> "chain of trust" è tecnicamente chiara, no?
>
> SE fosse corretta (cosa di cui non sono certo), sarebbe comunque
> irrilevante.

Sulla correttezza tecnica torno tra poco, sul fatto che tu la ritenga
irrilevante invece mi permetto di osservare che è irrilevante solo per
chi se ne frega altamente del *faticoso* lavoro di molte altre persone
di archiviare, conservare, scrivere software derivato, effettuarne il
_build_ in modo riproducibile e che garantisca l'integrità della
software supply chaini e infine (re)distribuire il codice originale o
modificato.  É abbastanza chiaro di cosa stiamo parlando?... eh sì,
questo dipende anche dall'immutabilità nel tempo di un artefatto [2]
digitale come lo è un repositpory git (o altro DVCS).

Veniamo alla correttezza tecnica.

--8<---------------cut here---------------start------------->8---

The golden rule of rebasing 

Once you understand what rebasing is, the most important thing to learn
is when not to do it. The golden rule of git rebase is to never use it
on public branches.

For example, think about what would happen if you rebased main onto your
feature branch:

[...]

The rebase moves all of the commits in main onto the tip of feature. The
problem is that this only happened in your repository. All of the other
developers are still working with the original main. Since rebasing
results in brand new commits, Git will think that your main branch’s
history has diverged from everybody else’s.

The only way to synchronize the two main branches is to merge them back
together, resulting in an extra merge commit and two sets of commits
that contain the same changes (the original ones, and the ones from your
rebased branch). Needless to say, this is a very confusing situation.

So, before you run git rebase, always ask yourself, “Is anyone else
looking at this branch?” If the answer is yes, take your hands off the
keyboard and start thinking about a non-destructive way to make your
changes (e.g., the git revert command). Otherwise, you’re safe to
re-write history as much as you like.

--8<---------------cut here---------------end--------------->8---
(da
https://www.atlassian.com/git/tutorials/merging-vs-rebasing#the-golden-rule-of-rebasing)

Se non fosse abbastanza corretto, possiamo rivolgerci il più autorevole
(?) git-scm.com (enfasi mia):

--8<---------------cut here---------------start------------->8---

In this section, you’ll see how to accomplish these tasks so that you
can make your commit history look the way you want BEFORE you share it
with others.

[...]

One of the cardinal rules of Git is that, since so much work is local
within your clone, you have a great deal of freedom to **rewrite your
history locally**. However, once you push your work, it is a different
story entirely, and you should consider pushed work as final unless you
have good reason to change it. In short, you should **avoid pushing your
work until** you’re happy with it and ready to share it with the rest of
the world.

--8<---------------cut here---------------end--------------->8---
(https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History)

Ma ancora più grave è che "riscrivere la storia" di un repository
significa inevitabilmente buttare nel cestino anche tutte le firme
crittografiche GPG effettuate su ciascun commit [3], che è uno strumento
_fondamentale_ per verificare l'integrità del repository.

Quindi, usare "git-filter-repo" su software già pubblicato e distribuito
(ricordo che git è un DVCS, dove D sta per /distributed/) è *devastante*
per il lavoro di _molte_ altre persone.

Invece di riscrivere la storia, nel caso in specie il file README.md e
l'attribuzione di copyright AFAIU, di un intero repository dal commit 0
in poi, per cambiare il nome e l'email mostrati nei suoi log, git mette
a disposizione un meccanismo per /mappare/ i nomi degli autori o
committer: https://git-scm.com/docs/gitmailmap; in questo modo, senza
sabotare il lavoro degli altri, si possono cambiare quei due metadati
invece di /cambiare i dati/ del *passato*.

Inoltre, pensa se per una /sfortuna/ micidiale il "deadname" di quella
persona comparisse nei "credits" che molti software mostrano nelle
schermate "About": gli sviluppatori del software dovrebbero *ritirare*
le copie circolanti?!?

>> Tra l'altro, il rant è talmente sconclusionato che non ho capito bene
>> qual'è la precisa richiesta della persona nei confronti del progetto
>> SWH: mi spiego meglio...
>> 
>> La pagina di archivio del progetto è questa:
>> https://archive.softwareheritage.org/browse/origin/directory/?origin_url=https://github.com/rspeer/python-ftfy
>
> I nomi dell'autrice sono riportati in questo tweet
>  <https://twitter.com/r_speer/status/1570609220197969922>
>
> ```
> About my name: 
>
> My married name is Elia Robyn Lake. People who know me call me Elia. 
>
> My maiden name is Robyn Speer. 
>
> My papers are, and will continue to be, under my maiden name. It's not my 
> deadname. 
>
> Call me Robyn Speer if you're citing something I wrote. 
>
> Thanks!
> ```

E questo cosa avrebbe a che fare con quello che ho scritto io sopra?

[...]

>> Quale sarebbe il "deadname" che SWH dovrebbe modificare?
>
> Onestamente non lo so, ma ho l'impressione che dopo la scrittura
> dell'articolo, SWH abbia trovato il modo di modificarlo.

Onestamente non lo so... quindi di cosa stiamo parlando?!? :-)

> Che bastasse (come ipotizzavo) ri-clonare il repository?

Buttando in /dev/null tutto quello che esisteva fino al minuto prima del
cambio di nome; considerando quanto vedo qui:
https://archive.softwareheritage.org/browse/revision/3a21d20e353f81be7820e31efc8451808b6194d1/
è esattamente quello che hanno fatto in SWH

>> SWH dovrebbe riscrivere la storia di (tutti?!?) i repository che
>> contengono il "deadname" di quella persona?
>
> A quanto ho capito, lei l'ha richiesto solo per il proprio repository,
> non per i fork.

A quanto ho capito, lei si è sentita in dovere di offendere SWH mentre
si guarda bene da fare la stessa cosa con GitHub e tutti gli altri
/archivi/ sparsi per il globo che contengono copie del suo repository
con il suo "deadname".

Pensa se una situazione del genere succedesse con qualcosa di stampato
:-D...  Aggià, ma _succede_! (come spiega Marco [1])

>> > I pointed out that you can just change a citation if it's wrong, and
>> > that I've gotten citations that deadname me changed. I pointed out
>> > that people cite my code under my correct name through Zenodo,
>> 
>> sì certo, anche coloro che hanno effettuato una citazione 5 anni fa
>> tengono aggiornate le citazioni con un "live URL" che punta al Database
>> Universale Eterno delle Sacre Citazioni
>
> Non capisco quale sia il problema: a meno che non stia mentendo (cosa
> che al momento non ho ragione di credere) l'autrice ha ottenuto
> l'aggiornamento delle citazioni di coloro cui ha richiesto di
> correggerle.

No, l'autrcice ha riscritto la storia del repository archiviato anche in
SWH e ha preteso, solo da SWH a quanto pare, che SWH buttasse via il
vecchio per sostituirlo con quello nuovo.

> Ha ancora la libertà di decidere quando esercitare un proprio diritto?

Se vuoi spacciare come diritto un capriccio fai pure, io all'inizio di
questa email ho riportato l'estratto del considerato 65 che spiega bene
la differenza tra diritti e capricci.

>> > not through whatever cryptographic bullshit SWH was dreaming up.
>> 
>> Oh sì certo, riscrivere la storia è un giochino da bambini dell'asilo,
>> no?!?
>
> Beh, non stiamo parlando della storia ma di uno specifico repository
> GIT.

Questo ti pare poco solo perché non ti importa del lavoro degli altri
(sfortunati) basato su quello specifico repository.

> Poi, secondo me serve almeno la terza media, ma il comando da usare è qui
> <https://github.com/newren/git-filter-repo>

Mentre serve un po' di maturità per comprendere i danni di una
operazione del genere all'intera comunità del software libero.

Consiglio a chi fosse interessato la lettura di
https://fossil-scm.org/home/doc/trunk/www/rebaseharm.md
«Rebase Considered Harmful»

La parte filosofica che ritengo rilevante in questa discussione è
questa:

--8<---------------cut here---------------start------------->8---

Weinberg [4] argues programming should be "egoless." That is to say,
programmers should avoid linking their code with their sense of self, as
that makes it more difficult for them to find and respond to bugs, and
hence makes them less productive. [...] It is humbling to display your
stupid mistake to the whole world on an Internet that never forgets. And
yet, humble programmers generate better code.

--8<---------------cut here---------------end--------------->8---

[...]

Saluti, Wanda.


[1] quando racconta dei microfilm del Arctic World Archive 
(id:dade46b8ef45640ba6e1bb87c216fdb3e0b13d28.ca...@marcoc.it)

[2] si veda ad esempio: https://guix.gnu.org/en/blog/2020/securing-updates/

[3] https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work

[4] «The Psychology of Computer Programming» (1971)
https://geraldmweinberg.com/Site/Programming_Psychology.html

-- 
380° (Giovanni Biscuolo public alter ego)

«Noi, incompetenti come siamo,
 non abbiamo alcun titolo per suggerire alcunché»

Disinformation flourishes because many people care deeply about injustice
but very few check the facts.  Ask me about <https://stallmansupport.org>.

Attachment: signature.asc
Description: PGP signature

_______________________________________________
nexa mailing list
nexa@server-nexa.polito.it
https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa

Reply via email to