October 17, 2011
> A direct translation is a derivative work.  So yes, it must be GPL.
> 
> However, there must be ways around this.  I believe headers have certain rules in most licenses.
> 
Steve, do you think this provides any relief>

http://www.mysql.com/about/legal/licensing/foss-exception/

Steve
October 17, 2011
On Mon, 17 Oct 2011 10:56:45 -0400, Kagamin <spam@here.lot> wrote:

> Steve Teale Wrote:
>
>> Hmm, I just did a quick check, and the MySQL client/server protocol is
>> GPL also, so there's nowhere to go.
>
> That was fixed.

That is good news!  do you have a supporting link?  Or is it something that quietly went away?

-Steve
October 17, 2011
Steven Schveighoffer Wrote:

> That is good news!  do you have a supporting link?  Or is it something that quietly went away?

http://forge.mysql.com/w/index.php?title=MySQL_Internals_ClientServer_Protocol&diff=5078&oldid=4374

I have shown this to a guy who was going to reimplement a mysql client based on those docs.
October 17, 2011
Steve Teale Wrote:

> There's a discussion going on about Windows header files that has discussed whether header files can be copyright.
> 
> Header files may be an issue with the database implementations. For example my mysql.d is a straight translation of mysql.h (and a couple of others). Does that mean it is tainted by GPL and I can't make it Boost?

You can't license mysql.d under terms of boost, you can ask Oracle to include boost into the foss exception list and license mysql.d under terms of mysql foss exception, but first you should ask Walter whether he wants code under terms of foss exception in phobos.
October 17, 2011
On Mon, 17 Oct 2011 11:00:13 -0400, Steve Teale <steve.teale@britseyeview.com> wrote:

>> A direct translation is a derivative work.  So yes, it must be GPL.
>>
>> However, there must be ways around this.  I believe headers have certain
>> rules in most licenses.
>>
> Steve, do you think this provides any relief>
>
> http://www.mysql.com/about/legal/licensing/foss-exception/

I know our messages crossed paths probably, but for completeness, no, I don't think this allows relief.  Boost is not listed as an allowed exception.

But this doesn't matter anyways.  The *end product*, not phobos, must be licensed free and open source under the boost license.  This is an important distinction.

This means, effectively, even if boost was included on the list, and we put mysql client bindings in phobos, in order to ship with mysql client library the user of phobos would have to license *their* product under boost!  Even if they didn't ship the source for their application, anyone who obtained the application source through any means would be free to copy it at will.  This limitation is too severe for inclusion in the core library of a language such as D, which might be used in closed-source settings.

Note that php and python are somewhat open-source anyways since they are interpreted, and commonly you do not need to distribute the source of your server-side code for it to be used.

-Steve
October 17, 2011
On Mon, 17 Oct 2011 11:11:37 -0400, Kagamin <spam@here.lot> wrote:

> Steven Schveighoffer Wrote:
>
>> That is good news!  do you have a supporting link?  Or is it something
>> that quietly went away?
>
> http://forge.mysql.com/w/index.php?title=MySQL_Internals_ClientServer_Protocol&diff=5078&oldid=4374
>
> I have shown this to a guy who was going to reimplement a mysql client based on those docs.


That is good!  Since 2007, huh....  I'm surprised I could find no discussion on this, it seems like it would be a big deal for those who wanted to reimplement mysql clients.

-Steve
October 17, 2011
Kagamin wrote:
> Steven Schveighoffer Wrote:
>
>> That is good news!  do you have a supporting link?  Or is it something
>> that quietly went away?
>
> http://forge.mysql.com/w/index.php?title=MySQL_Internals_ClientServer_Protocol&diff=5078&oldid=4374
>
> I have shown this to a guy who was going to reimplement a mysql client based on those docs.

You probably meant me. If we create MySQL client without using C bindings then we would have one of the fastest bindings at all. It may attract some people who write web apps to D. The same applies to PostgreSQL for which I wrote client without using a C binding.

I know it adds some maintaining effort but we may choose opportunistic approach. Use direct access where possible and fallback to C lib otherwise.

Another argument for using direct access is easy deployment of applications, especially when client resides in the std library.
October 17, 2011
Steven Schveighoffer Wrote:

> That is good!  Since 2007, huh....  I'm surprised I could find no discussion on this

http://krow.livejournal.com/684068.html?thread=2674468#t2674468
October 17, 2011
Steve Teale Wrote:

> Header files may be an issue with the database implementations. For example my mysql.d is a straight translation of mysql.h (and a couple of others). Does that mean it is tainted by GPL and I can't make it Boost?

As an alternative why not make ODBC bindings? This way you'll be able to use virtually any database. ODBC is the most important database binding.
October 17, 2011
On Mon, 17 Oct 2011 11:37:43 -0400, Kagamin <spam@here.lot> wrote:

> Steven Schveighoffer Wrote:
>
>> That is good!  Since 2007, huh....  I'm surprised I could find no
>> discussion on this
>
> http://krow.livejournal.com/684068.html?thread=2674468#t2674468

Yes, I saw that.  But that is hardly "discussion in the community." :)

In any case, it's good that it's gone.  I'm all for a d-based mysql protocol implementation, and it looks like the only legal option anyways (if you want it in phobos, that is).

-Steve