Re: Fork DBD::mysql

[email protected] (Alexander Foken) Mon, 28 Aug 2017 21:00:16 +0200
Newsgroups perl.dbi.dev,perl.dbi.users
Message-ID <[email protected]>
On 28.08.2017 18:19, Darren Duncan wrote:
> On 2017-08-28 8:55 AM, [email protected] wrote:
>> Because of the current situation we in the GoodData company are thinking
>> about forking DBD::mysql. We use DBI not only with DBD::mysql, but also
>> with DBD::Pg. The annoying bugs in DBD::mysql still require hacks and
>> workarounds, while similar bugs were fixed in DBD::Pg years ago. Also,
>> inability to use the new version of MySQL or MariaDB is a problem. Same
>> for the open security issues.
>>
>> I would like to ask, whether somebody else is interested in DBD::mysql
>> fork? Either as a user or as a developer? Maintaining a fork isn't a
>> simple task, but with supporting users and contributing developers it
>> should be easier.
>
> While a fork may be the best short term fix, as keeping up with 
> security issues is important, I honestly believe that the best fix is 
> to migrate to Postgres as soon as you can.  You already use Pg so the 
> experience in your company is there.  I'd say move all your MySQL 
> projects to Pg and then you won't have to think about MySQL anymore.  
> Its not just about the Perl driver, but the differences in 
> quality/features/etc of the DBMSs themselves. -- Darren Duncan

I would really like to second your statement, and I agree that switching 
to Pg would solve a lot of palis problems.

BUT:

MySQL won't go away any time soon. Yes, it is - to be friendly - butt 
ugly, and it should be avoided at almost all costs, but it won't go 
away. Oracle could not kill it, people crated a new and successful fork 
named MariaDB instead of using Pg. Any cheap shared web hoster offers 
MySQL or MariaDB. Tons of legacy apps use MySQL or MariaDB, especially 
if PHP is also around..

Not being able to connect to MySQL / MariaDB from Perl is not 
acceptable. Having tons of known bugs, especially security-related ones, 
is as bad. Being forced to take the long detour through DBD::ODBC, an 
ODBC driver, and a MySQL / MariaDB ODBC driver is not pretty, and it 
won't be faster than the native DBD::mysql driver.

Indentionally breaking DBD::mysql to drive people away from MySQL / 
MariaDB wont work. Instead, people will search for another language that 
does support connecting to MySQL / MariaDB, like PHP, Python or Java. 
And so, they will use MySQL / MariaDB without Perl.

So yes, forking or taking over DBD::mysql developments looks like a good 
idea. I would prefer the latter, because that would really solve 
problems that people using DBD::mysql currently have. Simply updating 
DBD::mysql in the future would fix them, without any need to switch to 
another DBD. We should avoid having more than one database driver for 
each database, except for optional pure-perl implementations like 
DBD::PgPP. That just wastes resources.

Alexander



-- 
Alexander Foken
mailto:[email protected] http://www.foken.de/alexander/