We usually only recommend the premium support option when you have 100 or more user licenses.
We usually run about 18 months between major version upgrades. Some companies like to do upgrades every year so that they can have a steady stream of upgrade revenue. We prefer to drive our upgrades using compelling features.
We have a slightly different approach to open-source in that we don't require our customers to give back to the community. A fair number of our customers are actually partners that are trying to build a business in a specific vertical, so we encourage them to keep their customizations to themselves to create a competitive advantage.
If you have any code that you would like to contribute, just send it to our support staff for evaluation. As a general rule, our goal is to follow SugarCRM as closely as possible to ensure compatibility with their documentation. While there are a number of areas where we deviate, this rule has served us well for several years.