I'm wondering what is the culturally-acceptable way to handle this code situation. I have a personal project that is MIT licensed. I've run into a situation where I need a certain functionality that another MIT licensed project contains the framework for. I have had to modify the original code substantially, tripling the LOC. These are mostly Java classes.
Since I've added so much to the original base & fixed several bugs, I'm really only reusing the underlying framework of objects and basic variables. The java package has the other developer's name in it and each of the files has a license statement with his name.
I know that the license will need to remain in the files, but what about attribution for my very large modifications? Am I limited to only adding in a second note into the license with my name, date and what I contributed, or is there some point at which the new code is so unrecognizable from the original that it's ok to just declare it part of my package now, rename the package and integrate it fully into my project with a note in the readme of where seed code came from?
Since it's been modified so much, I can't use the old jar file as an ext for my project. I could fork the code entirely and add my changes to the fork, with some attribution for me.
What's the right way to handle this?