How to deploy a site with open source? I created a Drupal 7 site on my localhost. I installed some modules, created some content types and fields, changed some preferences, etc. and also entered some real test data. (I want this data to be preserved when I will copy the site to the production server.)

When the first alpha release will be ready I am going to copy the site to a production server in Internet.

I like the idea to make the software behind my site open source. This way I could be able to receive patches from other developers. (And also the possibility exists that somebody may use my engine for his other site.)

How to manage development of my site?

If it would be a framework, I would be able to do it with SVN or Git for all files + database change scripts. But Drupal also has an admin interface, which I don't know how to put under version control.

Also, how to release an open source package? I need include there some database creation script. Should I just export my DB? (only structure no data?) and put some SQL script into my .tar.gz?

Detailed description of deployment of an open source package for Drupal would be welcome.

Also: Could anyone explain how to use "Features" package in this situation?
To migrate your database (including the configuration of the admin interface) from the staging to production server, check out the Backup and Migrate module.

RE: your question about "Open source":

Unless your configuration is something really special, with a specific target audience and use case, it may not be worth your while making your configuration, etc. available for others, but YMMV.

If you want to do this, you should create a Drupal Distribution and release it on Drupal.org/project/distributions along with the 600 or so distributions already available there. Like all other Drupal projects, you use git to interact with the repository, and you also need to be a git-vetted user if you want to create a non-sandbox distribution.

You build a distribution by first exporting its features (including custom cck, templates and Views using the Features module. Then turn this into a distribution using the Profiler library to create an install profile.  Finally, you package the distribution with the Drush Make packager (part of Drush).