On 16/12/2018 21:46, Claudio Agosti wrote:
Vagamente inspirato dall'email di Giacomo Tesio, che diceva "/L'etica hacker che il software libero esprime si fonda sul valore della Curiosità, da cui derivano strumentalmente gli altri valori: Libertà, Condivisione, Onestà Intellettuale etc... sono funzionali a massimizzare la conoscenza tecnologica disponibile, verificandone la correttezza sperimentalmente, applicandola attraverso la creazione del software./", Voglio portvi un quesito non teorico che devo affrontare in questi giorni...
Scenario: https://twitter.com/WolfieChristl/status/1071473931784212480
Io lavoro in un progetto che vuole analizzare i dati di facebook; facebook ostacola attiviamente la sua analisi* Io mi sveglio alla mattina, vado a vedere i grafici, e se un parser dei miei è rotto, devo aggiornarlo. e questo task diventa la priorità su qualunque altra cosa. Non mi trovo in una posizione agevole. Ti capisco, facco lo stesso per un progetto che riguarda gli articoli di giornale. <https://gitlab.com/mmzz/hactar>
In questa situazione, pubblicare le logiche che usi, è un modo per rendere il lavoro di facebook più semplice. I poteri in gioco non sono per nulla comparabili. Fb ha dei team dedicati all'antiscraping;
In pratica svilupperesti i regression tests per il team di antiscraping di FB. :-) Se il tuo modulo è efficace, loro cambiano la struttura della pagina finché non si rompe di nuovo. E la cosa può essere automatizzata.
La soluzione dovrebbe essere una community solida, la quantità di creatività che potremmo metterci supererebbe quella della compagnia che investe.
La gara sarebbe comunque impari. Già mi immagino batterie di AI a escogitare pagine sempre più bizantine...
Ma al momento non siamo in questa condizione, e con che coraggio, quel componente, lo tengo free software (tutto il resto rimane free sw, ma su quel componente, ho dubbi).
Per il fatto che è free software la licenza ti obbliga a dare il sorgente al committente (che però può farne quello che vuole) ma non ti obbliga a distribuirlo a terzi. Il componente può essere free ma è necessario pubblicarlo universalmente. Tu lo sviluppi e lo mantieni, ma d'accordo con il committente non pubblichi il codice, o pubblichi quello vecchio di una release. Puoi comunque costruire una community trusted nella quale limitare la distribuzione dell'ultima versione del modulo. Se fosse indispensabile farlo girare fuori dalla community trusted puoi pensare ad un dual licensing, usando una licenza proprietaria per lo stesso codice e mantenere un controllo sulla sua diffusione e uso. Quello che non sempre è chiaro è che modello di licenza, modello di sviluppo, di distribuzione e di pricing sono ortogonali. Sono ammesse tutte le combinazioni o quasi. Puoi benissimo sviluppare free software in modalità "cattedrale" (con buona pace di Eric Raymond), per denaro e senza distribuirlo a terzi... Ciao, Alberto
Come si fa? ciao, Claudio
* Il tweet riporta di una una tecnica che hanno messo in atto 1 anno fa, ora ne hanno affiancate altre più subdole.
-- Claudio Agosti, https://facebook.tracking.exposed, @_vecna PGP keybase.io/vecna <http://keybase.io/vecna> - Research Associate - DATACTIVE University of Amsterdam https://data-activism.net
_______________________________________________ nexa mailing list nexa@server-nexa.polito.it https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa