Non ero a conoscenza della compatibilità con discourse, quindi è qualcosa su cui dovrò informarmi.
Vorrei affrontare questo punto, perché sembra che ci sia un’enorme discrepanza tra il modo in cui il team di Discourse pensa allo stabile e il modo in cui il resto della community di discourse/la più ampia community di amministratori di forum pensa all’offerta stabile di Discourse.
Motivi chiave per cui lo stabile non soddisfa la definizione di LTS.
1) Lo stabile viene attivamente sconsigliato dallo staff ogni volta che viene menzionato
Non voglio necessariamente chiamare singoli utenti, ma ecco una selezione di post dello staff per mostrare il tema:
Si noti che per certi versi
tests-passedè più stabile distablein quanto è ciò che discourse.org esegue, quindi è il più testato.
Quindi Discourse è in uno stato di beta perpetua, il che significa che stiamo sempre lavorando su nuove funzionalità e miglioramenti. Nel nostro caso beta non significa instabile; ospitiamo siti con milioni di visualizzazioni di pagine mensili sulle nostre versioni
tests-passede beta.
Il canale stabile non è necessariamente più “stabile” di tests-passed. Si tratta più dell’idea che i bug sono noti e serve come punto di controllo per un determinato set di funzionalità e miglioramenti. Con tests-passed, potrebbero esserci nuovi bug introdotti, poi corretti qualche commit dopo.
Il messaggio è stato piuttosto coerente sul fatto che Discourse è in ‘beta perpetua’, che non è l’esperienza che gli utenti di produzione / non sviluppatori vogliono avere.
In una rapida ricerca su duckduckgo dei primi dieci link per discourse stable, nessuno di essi sembra effettivamente sostenere l’uso dello stabile. Quindi, indipendentemente dalla sua qualità effettiva, se lo staff guida universalmente le persone lontano dallo stabile, ciò crea un’impressione negativa nelle menti delle persone riguardo alla sua idoneità allo scopo.
Lo stabile potrebbe essere ottimo, ma se ci viene detto ripetutamente che è meglio non usarlo, non lo considereremo per implementazioni serie.
2. Un LTS riceve correzioni di bug oltre alle sole correzioni di bug di sicurezza
Un LTS è qualcosa che non riceve aggiornamenti di funzionalità, ma riceve correzioni di bug. Secondo i commenti dello staff, in Discourse non sembra esserci alcuno sforzo per riportare le correzioni di bug per problemi non di sicurezza. Forse non è vero, ma questo è ciò che ci è stato detto.
3. Un LTS ha passaggi di installazione semplici
La guida all’installazione non menziona nemmeno l’esistenza dello stabile.
4. Un LTS è ampiamente utilizzato
Prima del tuo post, non avevo sentito parlare di un uso diffuso del ramo stabile. Viene anche utilizzato ampiamente in produzione? Dato quanto è nascosto, ne dubito, ma non ho metriche per dirlo. Questo è un fattore importante perché dà alle persone la fiducia di utilizzare lo stabile per le loro implementazioni di produzione.
5. Un LTS ha un ciclo di rilascio chiaro e note di aggiornamento
Non vedo una posizione centrale in cui lo stabile sia chiaramente documentato. (Potrei semplicemente non trovarla!)
Le mie aspettative per un LTS sono una pagina che descriva:
- Versione di rilascio attiva corrente
- Note di rilascio includendo:
- Modifiche/funzionalità principali tra le versioni LTS
- Passaggi di migrazione dalla versione LTS precedente (soprattutto modifiche che rompono la compatibilità a cui prestare attenzione)
- Durata del supporto attivo pianificata per ciascuna versione
es: mediawiki, ma in realtà qualsiasi LTS open source importante ha pagine simili.
Questa documentazione mi aiuta a pianificare quando ci sarà una modifica che rompe la compatibilità e richiederà tempi di inattività e/o intervento manuale.
6. Un LTS non ha modifiche che rompono la compatibilità importanti all’interno di un ciclo di rilascio
Questo potrebbe benissimo essere il caso dello stabile, ma sono troppo abituato a premere il pulsante di aggiornamento e il forum va offline per saperlo con certezza. Immagino che quello che sto cercando qui siano avvisi più chiari quando si passa da versioni che rompono qualcosa.
7. Un LTS fornisce avvisi di deprecazione delle API per almeno un ciclo di rilascio LTS completo
Questi dovrebbero essere misurati con un ritmo di un anno o più, anziché di un mese o più.
8. Un LTS è pianificato / ha periodi di supporto sovrapposti
Qualsiasi LTS di grandi dimensioni avrà un periodo di supporto sovrapposto tra due versioni LTS. Lo stabile sembra semplicemente fare un’inversione binaria alla versione successiva. (La mia impressione potrebbe anche essere errata a causa della mancanza di una pagina di documentazione centrale)
9. È semplice aggiornare da non-LTS a LTS
Non è necessario supportare il ritorno indietro, ma quando è disponibile un LTS, non è chiaro come passare in modo pulito ai rami LTS. Sembra che ci siano alcuni post nel forum al riguardo, ma di nuovo, nessuna documentazione centralizzata che ho potuto trovare.
Sono un fan di Discourse, ma questo è un punto dolente comune sia per me che per molte altre persone. Quello che lo stabile è al momento è solo un ramo, non un LTS.