Sfondo
Il nostro progetto, scritto in Java, sta ora cercando di eliminare le dipendenze esterne poco chiare introdotte durante lo sviluppo del prototipo. Ci sentiamo tranquilli quando uccidiamo semplici metodi di utilità statica, in seguito abbiamo un problema. Il nostro progetto utilizza pesantemente LazyInitializer
da apache common-lang3 per implementare Singleton Pattern. ( link ) Sembra che possiamo elimare la dipendenza di commons-lang3 solo sollevando quella classe, o potremmo aver bisogno di creare più di 40+ classi private interne per implementare il modello singleton.
Problema
Cosa dovremmo fare per rendere legale il sollevamento da una libreria open source con licenza Apache License 2.0? (peccato se non riesco a farlo affatto)
Qualcos'altro
Oltre alla licenza Apache 2.0, che dire delle altre principali licenze open source come MIT, GPL, LGPL, BSD, ecc. (OSI ha un elenca di loro)