¿Debería incluirse la dependencia en el repositorio?
Creo que las dependencias siempre deben incluirse en el repositorio siempre que su inclusión no viole los términos de uso. Pocas cosas son más molestas que tener que encontrar las versiones correctas de las dependencias correctas manualmente antes de poder hacer una compilación. Claro, esto es fácil cuando tienes herramientas automatizadas para hacer esto por ti, que pueden encontrar y descargar la dependencia correcta, pero qué pasa si no estás conectado a la web en este momento o si el servidor está caído o el proyecto de la dependencia ha sido descontinuado por completo y desconectado? Incluya siempre las dependencias si es posible.
¿Debería construirse la dependencia desde el mismo script de compilación que el resto del proyecto, o desde un script de compilación separado?
A menos que haya una buena razón para compilar desde la fuente, use versiones precompiladas.
¿Y por qué no proporcionar opciones en el script de compilación? Un simple cambio para elegir si las dependencias también deben compilarse o no. Si el usuario elige compilar también las dependencias, simplemente invoque sus propios scripts de compilación desde el script de compilación de su producto. Por lo tanto, el usuario puede invocar los scripts de compilación de las dependencias manualmente o elegir crear una compilación completa de todo. Pero solo entregaría las dependencias como archivos binarios si no hay una buena razón para compilarlas desde las fuentes. Creo que en el mundo del Código Abierto, algunas licencias requieren que distribuyas las fuentes junto con tu producto, pero eso no significa que no puedas tenerlas precompiladas.
En resumen: si es posible, proporcione un paquete de trabajo completo e independiente. Esto proporcionará la mayor comodidad a sus usuarios.