既然是开源软件,那么它能够提供全部源码,这些源码经过裁剪之后,直接跟你的主程序放一起就行
也可以对这个开源软件源码进行加工,在上面提供几个有名管道或者本地socket的接口,这样你的主程序可以通过这些方式与其通信
这个要具体看项目协议,依据其协议使用就没有问题。
不同的开源协议对使用要求是不同的,比如bsd就比较宽松。