Attualmente sto lavorando a un progetto che ha sia una "community edition" open-source che una serie di funzionalità closed-source per i clienti paganti. Uno dei punti critici in questo momento è capire come gestire la sincronizzazione dell'origine condivisa tra i progetti.
Usiamo Mercurial per il controllo del codice sorgente e il pezzo open-source viene inviato a CodePlex e Kiln, mentre il pezzo closed-source viene inviato solo a Kiln. Attualmente li stiamo mantenendo in repository separati con riferimenti di progetto nel repository open source dove applicabile.
Questo è davvero il modo migliore per gestire questo tipo di situazione, o se c'è qualcosa che mi manca (come l'utilizzo di un sottoreport nel repository closed-source per contenere la parte open-source) che potrebbe essere più facile e più pulito lavorare con?