The min/target/max works in Android, and I strongly believe it will work here, too. In fact, it adds a huge search benefit to whatever site Sponge creates for all the plugins/mods because people can search for plugins that are compatible with certain versions of Sponge.
Yes, it can be abused by evil developers, but there are ways to reduce the abuse. For example, (I’m going to use Android Apps as examples alot when it comes to this, because I have a lot of personal experience with this concept on Android) if a dev creates an android app and specifies a min/max (its optional, btw) then the entire platform will only let the app work in those versions. The app wont even show up in the store if its ran on a version thats not within the range. This helps end users from downloading apps that may not work on their system. There is a safeguard in place by Android, also, that will not let the app even work on the store if a version is specified that does not exist. This prevents developers from abusing the system too horribly. When a new SDK version is out, the dev can then specify that version in their app.
Preferably devs should only be specifying tested versions, but not much you can do about checking that. If the dev does not test on a version they specified, the users will find out quick enough and share the information with others.
InB4 “but then whats the point if we have to update the plugin with every version?”: You should not be updating your plugin’s version number just because its become known to work on a newer API/MC version. This is a Bad Thing™ and was done far too often on DBO and was a huge part of the huge backup of the plugin queue every time a new MC version was released. If Sponge has min/target/max versioning all you would have to do is update your min/target/max and re-upload the jar. The queue approvals (if there will even be any) can simply do a quick diff on the decompiled sources to see the only thing changed was the min/target/max and be instantly approved in less than 10 seconds. Heck, this could even become an automated check the site could even do on its own so the file skips queue entry entirely since nothing changed. Android actually goes as far as checking all the lines of code against the API(s) specified in the min/target/max and if any fail the upload is instantly rejected. We have a huge group of talented developers here, so I’m almost certain we can come up with an automated system that helps minimize the abuse concerns.
The benefits of having a min/target/max system are definitely worth looking more into (people smarter than me can run with this idea and make something great for Sponge, I’m sure).
The greatest benefit is the end user can more easily find plugins compatible with the version server they are running. Everything else will remain hidden from them. And especially beneficial for those running older server versions because they wont be overwhelmed at all the newer plugins that are using a newer API.
I just realized how long I’ve made this post, so I’m just going to stop rambling now. :S