Jump to page: 1 2
Thread overview
Curl on Windows
Feb 27, 2012
Brad Anderson
Feb 27, 2012
Sean Kelly
Feb 27, 2012
Brad Roberts
Feb 27, 2012
Brad Anderson
Mar 01, 2012
Marco Leise
Feb 27, 2012
Brad Anderson
Feb 28, 2012
Jesse Phillips
Feb 28, 2012
igeek
Feb 28, 2012
Brad Anderson
Feb 28, 2012
Brad Anderson
Feb 28, 2012
Walter Bright
Feb 28, 2012
Brad Anderson
Feb 29, 2012
Kapps
Feb 29, 2012
Brad Anderson
Feb 29, 2012
Brad Anderson
Feb 27, 2012
Brad Anderson
February 27, 2012
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
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
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
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
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
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
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
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
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
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