In my project, I have copied and used code from two other projects, one of which is licensed under GPLv3 and the other one has an MIT license.
Which license should I use for my project?
Because your project includes GPLv3 code, you can only publish your project if you offer it under the GPLv3 license. The relevant part of the GPLv3 is in section 5:
You may convey a work based on the Program, […] provided that you also meet all of these conditions:
- a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
- b) The work must carry prominent notices stating that it is released under this License […].
- c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
In contrast, the MIT license has no comparable requirement. It only requires that you attribute the original project appropriately:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
When you inherit the GPLv3 license from the other project, you do have a couple of extra points to consider: