This has come up before, but I don't remember if I've actually entered into a discussion on it. As it stands, without knowing much about it, my issues are as follows:
It seems like I'd have to publish all my class definitions to make this practical. I don't anything about reverse engineering, but it doesn't seem far from opening up the source at that point.
The class definitions would also not document and otherwise support themselves, and there would be pressure on me to do so, which is not a one-time cost.
In fact, if a third party front-end becomes popular, I think I'd be forced into relationship or even a state of dependence on the third party that I'm not comfortable with. And I don't think we can just gloss over version compatibility. Ignoring it or handling it before releases -- either approach has ramifications for me.
Certainly players would benefit from having third party front-ends. They'd benefit from open source and third party back-ends too. If it means cutting myself out of my own game, I'm not going to support it.
I also don't know anything about scripting, and it's tough for me to say whether time spent learning a scripting language, implementing scripts and supporting third party front-ends is better spent adding modestly to the interface myself.
[ March 26, 2008: Message edited by: Toady One ]