Re: [PDO] Re: PDO 2: Request for Comments

[email protected] (Lukas Kahwe Smith)
Newsgroups php.pdo
Message-ID <[email protected]>
On 29.01.2008, at 08:57, Lukas Kahwe Smith wrote:

>
> On 29.01.2008, at 03:29, David Coallier wrote:
>
>> Ben Ramsey has suggested a rather sexy way of handling this CLA
>> problem. I'll repeat it in case some missed it but briefly. PDO
>> Core&Specs being not CLAd and the specific vendor drivers being CLAd.
>> I believe this is a GREAT compromise and since the community don't
>> seem to want to have to sign a CLA for PDO development, perhaps the
>> vendor specific drivers could be also hosted elsewhere with their own
>> bug reporting tools et al ?
>>
>> Considering what Bill mentioned about being able to write their own
>> code on their sides (http://news.php.net/php.pdo/37) That means that
>> in theory the vendors could have their specific drivers hosted on
>> their boxes and we (the community) could implement our own PDO  
>> drivers
>> and there wouldn't be any IP conflicts (Considering that no one stole
>> code from anyone of course)
>
> Yes, I think this idea does have some merit, though there are some  
> challenges to overcome here too. Some on our side (syncing changes  
> with the core PHP distribution, leveraging a proxy to feed php.net  
> changes back to the external vendors) and some on their side (like  
> accepting that the core of PDO and the specs are not CLA'ed).

We talked about this on IRC a bit.

Some notes:

1) If we decide that we do not have a core PDO package, it might make  
the legal situation a lot easier for outside vendors. This could also  
make things faster (less overhead), but it creates all sorts of issues:
- how to still be able to have multiple pdo drivers loaded, while  
having an overlap in class names
- code duplication could lead to even more inconsistencies (is a spec  
and tests enough, more on this in 2))
- code duplication means duplicate efforts

2) Do we need to define reference implementations? I tend to think  
that PDOv2_SQLITE would be a good candidate since its easily bundled  
and available for all without additional installation/maintenance of  
some outside component. While SQLITE covers a lot of aspects, it does  
not cover everything we might want to cover in the specs. I guess this  
point is really independent of this entire CLA debate, as the problem  
of different interpretations of a spec is always given. However if we  
have different vendors writing drivers in their own repo, then it  
magnifies the problems of what happens if there are oversights in the  
specs. Will IBM change its driver to match Oracles or vice versa?

3) If we do go this route, it means that php.net would vouch for the  
third party drivers the second they are bundled with PHP core. This  
means that we still need to keep tabs on the code (which is hard if we  
only bulk sync before a release). Also we would need to still be able  
to provide support to end users etc.

4) Another issue that will frequently cause needs for updates in the  
drivers are changes in internal API's. While this will in some cases  
be straight forward, this might in some cases require larger changes  
in the code. PHP.net would then either have to quickly adapt the code  
as necessary or wait until the relevant vendor has adapted things. If  
we adapt the code, then the changes will obviously be lost on the next  
sync.

What are other issues? What are the benefits in simplifying the legal  
situation? Is there even a chance that the spec (and a core PDO  
package) we maintained outside of CLA coverage and still have the  
vendors be able to contribute drivers?

regards,
Lukas
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.