On Tue, Apr 28, 2009 at 2:38 PM, Nathan Auch [Sybase] <na...@sybase.com>wrote:
> > Hi Russ, > > Thanks for taking the time to respond. We will finish off the SQL > Anywhere work in Django and then follow the procedure you outlined. It > sounds like starting with a externally maintained module and seeing > where that takes us is the way to go. I'll be reading this list going > forward so I'll make sure to keep my eyes peeled for anything that could > affect the SQL Anywhere db backend. Thanks for the heads up about > multi-database support and key-value stores. > > We've done the port mainly to support the internal use of Review Board > (http://www.review-board.org/). What do you want to see to show that we > have a working back end? Should we just be trying to pass the included > unit tests or is there a specific set of Django applications with which > we should be testing? > > Thanks! > > Nathan Auch > Sybase iAnywhere R&D > > Russell Keith-Magee wrote: > > On Tue, Apr 28, 2009 at 10:17 PM, Nathan Auch [Sybase] <na...@sybase.com> > wrote: > > > >> I'm a developer on the core engine team of the SQL Anywhere database > >> server (http://www.sybase.com/products/databasemanagement/sqlanywhere). > >> We're in the final stages of adding a SQL Anywhere database backend to > >> Django and would like to share our work with the community. What is the > >> process for getting our new database backend into the main Django > >> repository? > >> > > > > Hi Nathan, > > > > Thanks for going to the effort of supporting Django! The more backends > > the merrier! > > > > The process of getting your backend into Django trunk goes a little > > something like this: > > > > 1) You open a new ticket describing the new feature (SQLAnywhere > support) > > 2) You upload your backend as a patch against the Django trunk > > 3) You demonstrate over an extended period of time (6-12 months > > minimum) that you are committed to keeping your backend up to date. > > 4) We accept the backend, and give the developers of that backend > > limited commit access to keep the backend up to date. > > > > Step 3 is the big hurdle here. It requires that you keep up to date > > with any changes to the Django core - if we add a new function to the > > backend interface, or a new feature to queries (e.g., aggregates), you > > would be expected to port those changes in a timely fashion. It also > > means that someone (and preferable multiple someones) from Sybase's > > engineering team needs to get involved with the Django community, > > engaging with design discussions that affect database backends, etc. > > As a heads-up, there will be a few of these discussions in the near > > future. Multiple DB support has been accepted as a Google Summer of > > Code project - you can bet this will affect backends. Backend > > modifications required to support column/key-value stores > > (CouchDB/BigTable etc) may also crop up in the near future. > > > > This is a deliberately lengthy process. When we add a database backend > > to Django, we (the Django Core) are implicitly committing to keeping > > that backend up to date. Our old MSSQL backend went stale simply > > because the original contributor didn't maintain the code, and the > > core team didn't have ready access (or, for that matter, the personal > > inclination) to support the backend. > > > > We don't want to see a repeat of this, so we will err on the side of > > caution before adding a new backend. We're not going to add anything > > until we know that we're going to get a couple of committers that are > > both willing and able to maintain the backend for the long term. If > > any licenses are going to be required to test your backend, we'll > > probably hit you up for a few complimentary copies so the core team > > can independently test your code. > > > > We're also going to need to see some sort of demonstrated demand > > before we add a new backend to trunk. Prior to the addition of the > > Oracle backend, the Django mailing lists had regular requests for > > Oracle support. We still have regular requests for MSSQL support. > > Without wanting to squash egos, I can only find 2 requests in the > > Django-users archive for SQL Anywhere support. I appreciate there is a > > certain amount of "build it and they will come" involved here, but you > > will need to convince us that they actually will come if we build it > > :-) > > > > The good news is that from a purely technical perspective, your code > > doesn't need to be in the Django trunk in order for your userbase to > > use Django. Django database backends can be referenced as an external > > library. In your DATABASE_BACKEND setting, in addition to > > 'postgresql', 'sqlite3', and the other official backends, you can > > provide a python module name, and Django will load and use that > > backend. > > > > Supporting your backend as an external module will be the preferred > > approach for at least the short term. It's not a complete loss, though > > - you can use this external support as part of the process of proving > > you are committed to Django support. Download stats for that backend > > could also be used to demonstrate the level of user demand. > > > > As an interim measure, if you can show to us that you have a working > > backend, we're happy to put a note in our documentation that directs > > people to your external library and documentation. > > > > Yours, > > Russ Magee %-) > > > > > > > > > > > > > > Passing the test suite is definitely a good place to start. There's no other formal metric that exists, but testing your backend against large applications is definitely a good idea(you've said you're writing it to work with ReviewBoard so that's a good example). Alex -- "I disapprove of what you say, but I will defend to the death your right to say it." --Voltaire "The people's good is the highest law."--Cicero --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-developers@googlegroups.com To unsubscribe from this group, send email to django-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-developers?hl=en -~----------~----~----~----~------~----~------~--~---