How to handle multiple licenses in your code
So let’s say I make a script/small app that has a ton of my own code, and only a small section of it is comprised of a utility from someone else (let’s say a simple operation like sending files to the trash, or sending a notification), which uses a license, like MIT. Now, I want my script/app to be public domain (or MIT licensed, let’s take two examples). How do I make the distinction for this in my code? How do I exactly explain “this part of the code is encumbered by this license, and this other part is my license”? Every copy of it I distribute needs to include the license? That seems really idiotic/cumbersome, having to pass a dumb text file around. Do I then have to include both files (theirs and mine)? Number 3 is my biggest doubt, how do I reliably and clearly point each portion of the code to each specific license? It is honestly the most stressful part of programming to me. In the examples above, none of those apps are “mission critical”, but they are nice additions, and not including them because of the confusion/limitations it causes is a real shame.
So let’s say I make a script/small app that has a ton of my own code, and only a small section of it is comprised of a utility from someone else (let’s say a simple operation like sending files to the trash, or sending a notification), which uses a license, like MIT.
Now, I want my script/app to be public domain (or MIT licensed, let’s take two examples).
- How do I make the distinction for this in my code? How do I exactly explain “this part of the code is encumbered by this license, and this other part is my license”?
- Every copy of it I distribute needs to include the license? That seems really idiotic/cumbersome, having to pass a dumb text file around.
- Do I then have to include both files (theirs and mine)?
Number 3 is my biggest doubt, how do I reliably and clearly point each portion of the code to each specific license? It is honestly the most stressful part of programming to me. In the examples above, none of those apps are “mission critical”, but they are nice additions, and not including them because of the confusion/limitations it causes is a real shame.