[erlang-questions] Emysql: a cry for help (Harbinger is releasing control)

Jesper Louis Andersen <>
Wed Nov 19 15:40:39 CET 2014

Hi Everyone,

You may know that I was maintaining the Emysql code base for Erlang for a
while. It is a driver for MySQL which seem to be quite popular. However, as
of late, I have not really been maintaining it anymore, and I see no reason
to continuing doing so:

* I have no passion for MySQL. It is the worst database in existence ever
and I utterly hate working with it.
* Its client/server protocol is utterly useless in every way. How to parse
the response to a command depends on which command you send which requires
you to textually parse the command.
* Like many other drivers, it conflates the communication protocol with the
pooling facility.
* The low-level protocol handling is wrong, which leads to a wrong timeout
structure in all of the code base.

... and many more things I dislike. However, since so many are stuck with
MySQL, there is a genuine need to maintain a driver, however weak it
happens to be.

Currently, the project is slipping through my fingers. There are several
pull requests which has not been addressed but ought to be. If I were
involved with the driver at work, I would be able to set aside some time
for the maintenance, but frankly, it is not something I am willing to do
unless I get paid for it. The code base simply burns me out.

So I am throwing the towel into the ring. Don't look at this as a bad
thing! What I am doing is to make it official that I have no intention to
maintain the driver and someone else has to do it. This is a much better
outcome in the long run than me pretending to maintain something which I
really don't. I better do this than keep people in limbo as to where the
code base is headed.

I hope someone picks up the reins. There are several pull requests which
all have to be merged. There is a nice test suite, and with little work,
Travis CI support is salvageable. And I am here to answer any questions
someone might have.

In general, however, database drivers are in a very sad state in
Erlang-land. But fixing that requires someone who will write a generic
driver infrastructure and not doing so in anger because there is another
project which needs to be addressed. Loic Hoguin's "bank" project is
promising, but I don't know where it stands.

And now, to address other projects for which I still do have the passion :)

Code is here:


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20141119/8e938f85/attachment.html>

More information about the erlang-questions mailing list