Form my standpoint GPL is GPL and if you modify the source you have to make it open too.
We also make Iris2 opensource. We don't have todo this, but we did, because we want to support all shards...esp. custom shards.
But we also want, that improvements find a way back to to Iris2. I hope you understand that
.
A custom (closed source) Binary compiled Lua-Plugin is maybe an option. But i don't know if it's possible when using a GPL client.
If your implementation is good, it maybe finds a way into Iris2. This way you don't have to merge all files, everytime we update Iris2. When creating a custom shard, you have lots todo. You wouldn't have to time to patch Iris2 the whole time.
Nevertheless you can make a custom Mainmenu, Paperdoll, Tooltips aso.
You just have to tell us what you need to make custom and we will add options, overrides for it.
You should really think of it.
Here is a listing for UO files Iris2 needs:
http://www.iris2.de/index.php/UO-Files_Iris_needs