RFC: Una nuova strategia di versioning per Discourse

Questa discussione non sembra buona. Vedo una decisione del team di sviluppo di adottare un nuovo sistema di versioning che ha senso per loro, e altri che improvvisamente sembrano considerare che la versione di Discourse seguisse il versioning semantico… cosa che non era. È sempre stata una release continua, almeno da 1.0, o?

Ma gli argomenti da tutte le parti del dibattito sembrano errati:

  • “standard del settore”: Linux usa versioni pari per le stabili e dispari per lo sviluppo.
  • “la Terra orbita attorno al Sole”: beh, se ti converti all’Islam, avrai problemi perché abbandonerai le versioni e no, non corrisponderà più alla rivoluzione solare, ma ai cicli lunari. Qui, ora capisci che scegliendo lo schema di versioning YYYY.Y.Z invece di X.Y.Z, hai imposto una cultura dominante.
  • La release minore rimane poco chiara: menzioni “ipotizzando una cadenza mensile”, ma potrebbero anche essere 3 settimane o 7, a seconda della funzionalità, nel qual caso contare Y da 0 ha senso, o stai effettivamente puntando a rilasciare mensilmente, nel qual caso contare M da 1 avrebbe più senso?

Il cambiamento principale che vedo è che, adottando un ritmo mensile, il team di Discourse sta creando aspettative e si sta allontanando dagli obiettivi di rilascio, abbracciando invece rilasci regolari.

LTS per 8 mesi non suona davvero “lungo”. NodeJS si muove troppo velocemente, ma mantiene il supporto LTS per oltre 30 mesi e alcune versioni correnti contemporaneamente, mentre Ubuntu mantiene LTS per anni. Sebbene capisca che Discourse non è né un linguaggio né un sistema operativo, sembra annunciare che nuove funzionalità verranno rilasciate a un ritmo piuttosto veloce, il che porta in mente un altro problema: poiché vengono introdotte nuove impostazioni di amministrazione di tanto in tanto, presto finiremo nell’inferno di Wordpress con infinite opzioni e una complicazione incomprensibile per l’amministrazione del sito, alias bloatware: diventa quindi importante chiarire come si passa dalle release esistenti con obiettivi a rilasci regolari, e come si scelgono quali obiettivi abbandonare (o posticipare) per un rilascio, ecc. (il che potrebbe essere già documentato, ma mi è sfuggito.)

Saresti così gentile da condividere la tua logica tra il ritmo di sviluppo / versioning, e cosa hai in mente per evitare che gli amministratori anneghino sotto troppe impostazioni e una curva di apprendimento più ripida?

:heart: :discourse:

1 Mi Piace