For a complete Drupal API reference (as opposed to tutorials), see https://api.drupal.org.
You are strongly encouraged to contribute code back to the Drupal community. For more information on contributing code, review the Contribute to Development guide. From there, you will find more detailed information on:
For information on upgrading and backwards compatibility, see Backward compatibility for data, not code.