Contribuire al software open source sviluppato da altri¶
Relazioni con i maintainer del software¶
Utilizzare, ed eventualmente, contribuire, al codice open source disponibile è una pratica molto frequente soprattutto in tutti i casi di riuso, fortemente agevolati dal modello di riuso descritto dal CAD.
Di fronte a un’esigenza di un componente o di un applicativo per la propria organizzazione, si agisce solitamente secondo questo schema:
analizzare l’esigenza dell’applicativo o del componente software di cui si ha bisogno
valutare se valga la pena svilupparlo internamente da zero o se possa convenire partire da qualche OSS già esistente
nel caso di sviluppo partendo da un OSS esistente, lavorare sul codice integrando e sviluppando la soluzione già rilasciata
a questo punto è possibile decidere se mantenere un fork con il codice modificato o se invece sia preferibile fare una pull request sul repository OSS di partenza
In seguito valuteremo il caso in cui si decida di partire da una soluzione OSS esistente e quindi si voglia effettuare una pull request con le evoluzioni realizzate. Questa soluzione rappresenta la via preferibile in quanto permette da un lato di abbattere (in termini di TCO) il futuro costo di manutenzione del software realizzato e dall’altro perché in questo modo si allargherà la user base della soluzione software customizzata.
Quando si prosegue al riuso di un software è bene contattare e segnalare il riutilizzo ai maintainer del software stesso che possono fornire suggerimenti e consigli su come implementare una soluzione che utilizzi il software e possono dare indicazioni circa la struttura architetturale e l’organizzazione del codice da seguire nel caso si vogliano effettuare dei contributi.
In caso di scoperta di un problema di sicurezza, in particolar modo, è importante effettuare una segnalazione tempestiva ai maintainer del codice in maniera privata per permettere loro di correggere la vulnerabilità in tempi brevi e informare gli altri utilizzatori del software della necessità di aggiornamento.
Riutilizzo¶
Il riutilizzo di una soluzione software open source, può avvenire liberamente per gli scopi e con le modalità descritte nella licenza applicata al software stesso. In caso di riutilizzo l’unico legame formale tra cedente e acquirente della soluzione è rappresentato dalla licenza software applicata alla soluzione.