View mode: basic / threaded / horizontal-split · Log in · Help
February 27, 2012
Curl on Windows
The newly accepted curl library sadly didn't get included in the 
2.058 release as it wasn't added to the Windows makefile.

I created a pull request to resolve this [1] but it had to be 
reverted because it broke the auto tester.

The tester broke because of the missing curl.lib library.  I've 
suggested curl.lib be included with phobos but Brad says it can't 
due to licensing problems.  I couldn't find a discussion on the 
newsgroup about what problems there are.

Curl is licensed under MIT [2]. The optional SSL support for curl 
uses OpenSSL which is dual licensed under both Apache License 1.0 
and SSLeay License, a 4-clause BSD License derivative [3].

I'm no expert on licensing issues but the only issues I can see 
are, first, the copyright notice of the Curl and OpenSSL licenses 
must be displayed whether it is distributed in binary or source 
code form (easily added as a text file and, for good measure, in 
a licensing page in the installer).  And second, the advertising 
clauses in OpenSSL:

     * 3. All advertising materials mentioning features or use of 
this
     *    software must display the following acknowledgment:
     *    "This product includes software developed by the 
OpenSSL Project
     *    for use in the OpenSSL Toolkit. 
(http://www.openssl.org/)"


and

     * 3. All advertising materials mentioning features or use of 
this software
     *    must display the following acknowledgement:
     *    "This product includes cryptographic software written by
     *     Eric Young (eay@cryptsoft.com)"
     *    The word 'cryptographic' can be left out if the rouines 
from the library
     *    being used are not cryptographic related :-).
     * 4. If you include any Windows specific code (or a 
derivative thereof) from
     *    the apps directory (application code) you must include 
an acknowledgement:
     *    "This product includes software written by Tim Hudson 
(tjh@cryptsoft.com)"

Both of these sound fairly reasonable to meet.  Lots of other 
software does (Python from Windows, Google Chrome, etc.)

Is there anything I'm missing here?

If not, we can talk about how to approach including it in the 
release.

[1] https://github.com/D-Programming-Language/phobos/pull/458
[2] http://curl.haxx.se/docs/copyright.html
[3] http://www.openssl.org/source/license.html
February 27, 2012
Re: Curl on Windows
I think specific SSL algorithms in the OpenSSL package may be covered by different licenses. 

On Feb 26, 2012, at 5:15 PM, "Brad Anderson" <eco@gnuk.net> wrote:

> The newly accepted curl library sadly didn't get included in the 2.058 release as it wasn't added to the Windows makefile.
> 
> I created a pull request to resolve this [1] but it had to be reverted because it broke the auto tester.
> 
> The tester broke because of the missing curl.lib library.  I've suggested curl.lib be included with phobos but Brad says it can't due to licensing problems.  I couldn't find a discussion on the newsgroup about what problems there are.
> 
> Curl is licensed under MIT [2]. The optional SSL support for curl uses OpenSSL which is dual licensed under both Apache License 1.0 and SSLeay License, a 4-clause BSD License derivative [3].
> 
> I'm no expert on licensing issues but the only issues I can see are, first, the copyright notice of the Curl and OpenSSL licenses must be displayed whether it is distributed in binary or source code form (easily added as a text file and, for good measure, in a licensing page in the installer).  And second, the advertising clauses in OpenSSL:
> 
>     * 3. All advertising materials mentioning features or use of this
>     *    software must display the following acknowledgment:
>     *    "This product includes software developed by the OpenSSL Project
>     *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
> 
> 
> and
> 
>     * 3. All advertising materials mentioning features or use of this software
>     *    must display the following acknowledgement:
>     *    "This product includes cryptographic software written by
>     *     Eric Young (eay@cryptsoft.com)"
>     *    The word 'cryptographic' can be left out if the rouines from the library
>     *    being used are not cryptographic related :-).
>     * 4. If you include any Windows specific code (or a derivative thereof) from
>     *    the apps directory (application code) you must include an acknowledgement:
>     *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
> 
> Both of these sound fairly reasonable to meet.  Lots of other software does (Python from Windows, Google Chrome, etc.)
> 
> Is there anything I'm missing here?
> 
> If not, we can talk about how to approach including it in the release.
> 
> [1] https://github.com/D-Programming-Language/phobos/pull/458
> [2] http://curl.haxx.se/docs/copyright.html
> [3] http://www.openssl.org/source/license.html
February 27, 2012
Re: Curl on Windows
On 2/26/2012 5:15 PM, Brad Anderson wrote:
> The newly accepted curl library sadly didn't get included in the 2.058 release as it wasn't added to the Windows makefile.
> 
> I created a pull request to resolve this [1] but it had to be reverted because it broke the auto tester.
> 
> The tester broke because of the missing curl.lib library.  I've suggested curl.lib be included with phobos but Brad says
> it can't due to licensing problems.  I couldn't find a discussion on the newsgroup about what problems there are.

Careful, that's not quite what I said:

============
libcurl should not be included *in* phobos as that would have licensing implications. It should probably be included in
the release tarballs as both source and compiled libraries (also probably only on windows, non-windows can suggest how
to install via the standard package managers). A reasonable alternative is keeping it completely separate and just
listing it on the download page on the website.
============

The problem is the attribution clause(s) of most licenses, including MIT.  While you might not consider it a problem to
give attribution, the core libraries of D must not require it.  Google for past discussions on the topic, it's well
trodden territory at this point.
February 27, 2012
Re: Curl on Windows
On 2/26/12 7:15 PM, Brad Anderson wrote:
> The newly accepted curl library sadly didn't get included in the 2.058
> release as it wasn't added to the Windows makefile.
[snip]

One possibility would be to contact the author and ask if he'd be 
willing to relicense libcurl for purpose of inclusion in phobos. He 
seems nice and cooperative, so Brad Anderson, could you please take that up?

Andrei
February 27, 2012
Re: Curl on Windows
On Monday, 27 February 2012 at 02:24:49 UTC, Andrei Alexandrescu 
wrote:
> On 2/26/12 7:15 PM, Brad Anderson wrote:
>> The newly accepted curl library sadly didn't get included in 
>> the 2.058
>> release as it wasn't added to the Windows makefile.
> [snip]
>
> One possibility would be to contact the author and ask if he'd 
> be willing to relicense libcurl for purpose of inclusion in 
> phobos. He seems nice and cooperative, so Brad Anderson, could 
> you please take that up?
>
> Andrei

http://curl.haxx.se/docs/faq.html#Can_you_please_change_the_curl_l

I could try but based on that FAQ answer it doesn't sound like 
they are interested in offering that to anyone.  It's already 
offered under a very permissive license so I don't believe 
including libcurl itself is an issue at all.  If phobos can 
include zlib, I see no reason it couldn't include libcurl.  It's 
OpenSSL that is more complicated.  If the OpenSSL situation can't 
be worked out at the very least we can include libcurl without 
SSL support.

Regards,
Brad Anderson
February 27, 2012
Re: Curl on Windows
On Monday, 27 February 2012 at 02:24:49 UTC, Andrei Alexandrescu 
wrote:
> On 2/26/12 7:15 PM, Brad Anderson wrote:
>> The newly accepted curl library sadly didn't get included in 
>> the 2.058
>> release as it wasn't added to the Windows makefile.
> [snip]
>
> One possibility would be to contact the author and ask if he'd 
> be willing to relicense libcurl for purpose of inclusion in 
> phobos. He seems nice and cooperative, so Brad Anderson, could 
> you please take that up?
>
> Andrei

Looks like Walter already contacted him:

http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars.D&artnum=112832

Regards,
Brad Anderson
February 27, 2012
Re: Curl on Windows
On Monday, 27 February 2012 at 02:16:01 UTC, Brad Roberts wrote:
> On 2/26/2012 5:15 PM, Brad Anderson wrote:
>> The newly accepted curl library sadly didn't get included in 
>> the 2.058 release as it wasn't added to the Windows makefile.
>> 
>> I created a pull request to resolve this [1] but it had to be 
>> reverted because it broke the auto tester.
>> 
>> The tester broke because of the missing curl.lib library.  
>> I've suggested curl.lib be included with phobos but Brad says
>> it can't due to licensing problems.  I couldn't find a 
>> discussion on the newsgroup about what problems there are.
>
> Careful, that's not quite what I said:

I'm sorry for paraphrasing incorrectly.

>
> ============
> libcurl should not be included *in* phobos as that would have 
> licensing implications. It should probably be included in
> the release tarballs as both source and compiled libraries 
> (also probably only on windows, non-windows can suggest how
> to install via the standard package managers). A reasonable 
> alternative is keeping it completely separate and just
> listing it on the download page on the website.
> ============
>
> The problem is the attribution clause(s) of most licenses, 
> including MIT.  While you might not consider it a problem to
> give attribution, the core libraries of D must not require it.  
> Google for past discussions on the topic, it's well
> trodden territory at this point.

I've done some more searching. It appears Walter contacted 
libcurl's author and asked about it and the author said the 
attribution clause does not apply to binary distributions of 
libcurl.  I think I'll try to make a new pull request using your 
first option (adding the curl source and adding it to the phobos 
build process on Windows in the same manner that zlib already is).

OpenSSL is still an issue, of course.  I could make downloading 
it an optional part of the installer so people have to opt-in to 
the restrictions OpenSSL usage would impose on them.  I'm not 
sure if that would actually help with anything though.

Regards,
Brad Anderson
February 28, 2012
Re: Curl on Windows
On Monday, 27 February 2012 at 02:39:39 UTC, Brad Anderson wrote:

> If phobos can include zlib, I see no reason it couldn't include 
> libcurl.

Maybe the discussion here will give some light

https://github.com/D-Programming-Language/phobos/pull/46
February 28, 2012
Re: Curl on Windows
Could anybody explain why you want to include curl in Phobos? 
Maybe Phobos have some native function that allow to do some 
thing that curl are doing?
February 28, 2012
Re: Curl on Windows
On Mon, Feb 27, 2012 at 9:07 PM, Jesse Phillips
<jessekphillips+D@gmail.com>wrote:

> On Monday, 27 February 2012 at 02:39:39 UTC, Brad Anderson wrote:
>
>  If phobos can include zlib, I see no reason it couldn't include libcurl.
>>
>
> Maybe the discussion here will give some light
>
> https://github.com/D-**Programming-Language/phobos/**pull/46<https://github.com/D-Programming-Language/phobos/pull/46>
>

Seeing how that was integrated with help, certainly. Thanks. Curl is a lot
more involved than I anticipated.  Nearly 100 source files and the most
convoluted build system I've ever seen. Does anyone know who created the
libcurl built with dmc that was offered up in the curl wrapper review?  If
they had a makefile or that'd give me a nice headstart on this.

Regards,
Brad Anderson
« First   ‹ Prev
1 2
Top | Discussion index | About this forum | D home