There's the model Cygnus Support used. They'd port a package to some platform, eg gcc or whatever, the client pays Cygnus to fix bugs that affect them, those bugs go into the source for everyone's benefit but the client gets to set priority and other bennies.