I created a program with two dependencies DepA and DepB.
- DepA is published under GNU GENERAL PUBLIC LICENSE Version 2, June 1991 and is called as an external program
- DepB is published under MIT License and is used via an API
While I understand that GPLv2 and MIT are incompatible, I am not sure what that implies for my situation. After all, e.g., package managers for linux distributions also include packages with incompatible licenses and, so, publishing cannot really be a problem. I am also not modifying their code in any capacity. Using one of them (depA) just as a program I execute from my program and the other (depB) by using a binding provided by them.
I now want to dockerize my program where the dockerimage would contain DepA, DepB, and a binary of my program.
- Am I allowed to publish my binary and the dockerfile? (I suppose so)
- Am I allowed to publish the resulting docker image? (I guess not)
- If one of the two is insufficient, can I provide something in addition to make this work (like the source/binary/license files of the dependencies)? (I guess that providing the archives of the two packages used for building the docker image is sufficient)
- Do I have to publish my source code when publishing the docker image? (I guess no)
- Am I limited to a license for my source code/the docker image when publishing the docker image? (I guess no)
I found this article suggesting to let the users build the docker image themselves and only providing the docker file for that. Well, I am really not experienced with licensing and this appears to be a tricky situation to me.