I am quite new to programming and I am now creating my own program as part of my Master Thesis. My program is done in Java and uses several third-party libraries. These libraries come with different licenses, mainly:
- LGPL 2.1
- GPL 2 + GPL Linking exception
- Apache version 2
- BSD
I have actually not touched the source code of these libraries, but use them in my program and in some cases create classes that extend classes in those libraries. If I decide to make my program publicly available (probably for free) what kind of licence could I use? I have read much about license compatibility (Apache vs GPL vs whatever), derivative works discussions and I am very confused. Comments and explanations would be very helpful.