Vai al contenuto
tumas.netApri una richiesta
Tav. 04 — open-source/Rev. 2026-09-15 · scala 1:1
open-source/

Aperto per definizione

Non «dove ha senso». Sempre, e si dimostra.

Molti studi dicono di usare l'open source. Di solito vuol dire che consumano software libero e restituiscono poco. Noi facciamo il contrario, e si vede da una cosa sola: cosa c'è pubblicato a nostro nome.

Aprire il sorgente non è un gesto di marketing, è un vincolo di progetto: sapendo che qualcuno leggerà, si scrivono cose più pulite. È anche la nostra assicurazione sulla vita.

Se domani chiudessimo
tumas.netQuello che hai in mano
oggionline✓ funziona
domanisparito✓ funziona
fig. 01 — quello che hai in mano continuerebbe a funzionare
§ 01Le licenze

La licenza, e perché

Per gli strumentiMIT

Prendila e usala come vuoi, anche in un prodotto chiuso. Uno strumento serve se non ha attriti.

  • usarlo e modificarlo
  • metterlo dentro un prodotto chiuso
  • condividere le modifiche: a tua scelta
Per i prodottiAGPL-3.0-or-later

Puoi usarlo e modificarlo, ma se lo offri agli altri condividi anche le tue modifiche. Il patto resta in piedi.

  • usarlo e modificarlo
  • chiuderlo e rivenderlo
  • se lo offri, anche in rete, condividi le modifiche
§ 02Contribuire

Il tuo primo contributo

Ogni repository ha una lista di cose piccole marcate good first issue, l'etichetta che GitHub mostra a chi cerca da dove cominciare. Non sono compiti finti: sono cose che servono davvero e che abbiamo lasciato lì apposta.

gh repo fork tumas-dev/starter --clonegit switch -c aggiusta-la-cosa… scrivi, rompi, riprova …make test38 test, 38 passati ✓gh pr createti rispondiamo entro 7 giorni, anche se è per dirti di no
numero dei test e tempi di risposta da confermare
§ 03Ottimizzazione

Le misure, in chiaro

Quando togliamo peso a qualcosa, pubblichiamo il diff e il numero. Così:

ottimizzazione.diffesempio di formato
- for (const r of righe) totale += calcola(r) // 340 ms
- // ricalcolava tutto a ogni render
+ const totale = memo(righe, calcola) // 12 ms
prima340 ms
dopo12 ms