Dalla lettura della pagina di Wikipedia sull'MPL , mi sembra che sia possibile "collegare il codice con un altro licenza". La licenza è anche contrassegnata come tale nella casella di riepilogo.
Se leggi la licenza effettiva , nella sua versione 2.0, sezione "Distribuzione di un'opera più grande", puoi leggere che devi mantenere la libreria in questione sotto MPL, indipendentemente dal fatto che tu distribuisca il tuo software in formato sorgente o eseguibile. Cioè, non puoi mantenere il codice sorgente di quella libreria con una licenza proprietaria chiusa; ma questo non si applica affatto al tuo codice. Questo è vero anche se il codice MPL è contrassegnato come "Incompatibile con licenze secondarie", poiché ciò si applicherebbe solo se si mescolasse la sorgente della libreria con la propria.
La LGPL fornisce un caso simile e afferma esplicitamente che:
If you dynamically link against an LGPL'd library already present on the user's computer, you need not convey the library's source. On the other hand, if you yourself convey the executable LGPL'd library along with your application, whether linked with statically or dynamically, you must also convey the library's sources, in one of the ways for which the LGPL provides.
Sostituisci "trasmetti la fonte della biblioteca" (LGPL) "crea un lavoro più ampio in base alle tue scelte" (MPL) e hai il tuo caso, immagino.
Questa è la mia opinione, ma non sono un esperto legale. Inoltre, questo è sotto il presupposto che quando dici "estrai una funzione e determinate definizioni di tipi", intendi che hai sfogliato la libreria per capire come usarla; non hai copiato un pezzo di codice rilevante e l'hai integrato con il tuo codice sorgente.