Saturday, June 11, 2005

An Open Source Project?

I've been thinking for some time about getting involved in an Open Source project. The question is whether to join an existing project or to start a new one.

The real trouble is of course time. I'm going to be emmigrating to the USA soon, so my time is going become very limited as I do the move and get accustomed to my new home (and re-aquaint myself with my family). That being the case, I really can't justify the time to spend on additional development outside of work.

However, with OSS it's always about scratching an itch, and recently I've found a rather big one. The problem is database versioning, and it's something that I've considered to be a real blight on the software development process. I've looked around and haven't really found anything to meet my (admittedly fluid) set of criteria:

  • Store database schema state in the same place as the code that refers to it
  • Generate an SQL script that will migrate a database from any arbitrary database state to another.
  • Portable - Must either work with all database engines or (more likely) allow support for additional database engines to be added easily.
  • Must be able to distinguish between delete/add operations and renames
This isn't an easy problem. I've been involed in discussions on this subject on the PostgreSQL mailing list:

http://archives.postgresql.org/pgsql-general/2005-06/threads.php#00469

I intend to think some more about the problem and if I think I can do it I will set up the project somewhere.

2 comments:

Motin said...

Feel free to comment on my thought about Database Version Control:
http://motinblog.blogspot.com/2005/10/version-control-of-database-data.html

Motin said...

thoughts...