So I'm new to all this licensing jazz, and I've just started work on a project I'd like to one day publish as open source.
I've found a couple of projects so far that have code to accomplish stuff similar to what I'd like to do, and as such I'd like to use it because it is probably more mature/tested than what I'd end up writing at first.
Now here is my problem, some of the code is written under the MIT license and some is written under the EFL (Eiffel Forum License) and some under the Apache license.
I've looked through all 3 licenses, and they seem to be functionally quite similar, differing in small ways such as copyright attribution and something about patents.
Can I, legally, combine code written under these, or any 3 (similar) licenses? How? I'm not sure if this is correct, but as I understand it, if all 3 licenses are GPL compatible I could then license my project as GPL. However, in this case, I think copyleft is unnecessary and not something I'd be very interested in.
Does public domain code combined with licensed code work the same way?
If so, what license can/should I then put my own project code and modifications under?
And third, say I did one day want to go commercial and keep my software closed-source; I completely understand that if I previously released an OS version it would always remain so and people would be able to fork it and so on, but would this triple-mixing have any effect? (I assume it depends on the terms of each license here, I'm only asking if there is something I haven't considered)