On Wed, May 10, 2006 at 12:35:04PM -0600, Jonathan Ellis wrote:
| "Hey guys, you have a working codebase that does everything we need, but
| some of us have a severe case of NIH and would rather you spend a huge
| amount of effort conforming to our (vapor) api rather than build on yours."

Ok.  Can we start out with an initial assumption that there is good-will
from all participants?  We are talking about two related things, one of
them is SQL-API and the other one is Igor's SoC program, should it be
approved.  For now, to keep things concrete, let us focus on the latter.

What is important about a SoC program is that it is an educational
experience from the student's perspective.  Ideally it also generates
useful code: but this is not a necessary requirement for success.  The
primary objective is that the student learns and ideally becomes a
productive member of our community.  Now, what the student has proposed
boils down to a few things:

 - defining an exception hierarchy corresponding with the
   SQL-92 and SQL-99 specifications.
 
 - defining mappings from SQL data types onto Python data types

 - representing database meta-data (table, etc.) as Python objects,
   including introspection based on INFORMATION_SCHEMA

 - representing SQL query components with Python objects

 - various other administrative and common tedious tasks

None of this is original.  Most of this has been done not only in
SQLAlchemy but in other projects, and this is the point.  It would be
nice to have a *pedantic*, highly documented version of this that is
tightly correlated to the SQL-92, SQL-99 and SQL-2003 specifications.
It is tedious work and lots of it.   It is also a fabulous learning
experience for a college student.   I've signed up as the mentor.

Is this a substantial amount of work?  Yes, even without the politics.
Going through those specifications, learning them inside and out, and
experimenting with the various implementations (PostgreSQL, MySQL, etc.)
is a fantastic amount of work. Even if the student "borrows" wholesale
from the SQLAlchemy code-base, there is alot of work left. The current
code base seems to be lacking in many ways (foreign key constraints do
not properly model a multi-column correspondence, for one) and could
obviously be improved.

How does this impact SQLAlchemy?  Well, frankly, it need not if you so
choose.   However, I think it would be a huge boon to SQLAlchemy if you
all wanted to play along.  Assuming that the project was bootstrapped
from some of your existing modules:

  - you'd have one more set of eyes on the code, in particular
    one that is pouring over the specifications and implementations

  - the result will be heavily documented (frankly, it is lightly
    documented at the current time)

  - it will no doubt be improved in many substantial ways

  - it will probably be quite close to what you already have, so
    changing your code to use it shouldn't be a huge effort
    (Igor might even do it, but it's not required)

There is a question as to how it would be executed.  I'm quite firm that
this is a separate project.  I'm happy to have SQLAlchemy host it on
your subversion (and include it as an external project in version, say
.4 of SQLAlchemy).  But it must have its own trunk, and since it is a
student project, Igor needs to be the sole authority as to what exactly
it does.  Certainly I expect him to collect feedback, but it is *his*
project, not mine, not Ian's, not yours.

Finally, let's address the contentious part: is this implementing Ian's
SQL-API and SQLObject?  To me, this is just politics, I just don't care.
Igor should not have to be bothered.  If Ian finds the stuff useful
enough to propose an SQL-API from the work, great; if it makes SQLObject
more "competitive" with SQLAlchemy (by borrowing huge chunks of code),
so be it.  I'd like to see this packaged up as a PEP, but this doesn't
necessarily need to be part of Igor's scope.  I like his proposal as-is,
it overlaps with SQLAlchemy, but this isn't a show-stopper.

Can we all be friends now?  I think it is a damn good proposal that will
move everyone forward.  Can we just set the politics aside and, if it
is approved, let the person get to work?  

Clark



-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Sqlalchemy-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users

Reply via email to