@ Tristano
You're basically right, but in this case I don't really understand the licensing confusion. The LibCurl library (dll) cannot be licensed again because it is an external open source project and a license already exists.
see
https://curl.se/docs/copyright.html
The libcurl examples (see manual) are also described on several websites and can be used by anyone:
-
https://curl.se/libcurl/c/example.html
-
https://stackoverflow.com/questions/198 ... ng-libcurl
-
https://www.autoitscript.com/forum/topi ... 4-support/
-
https://everything.curl.dev/examples/get.html
Sure, the existing examples provided by libcurl have to be adapted to the respective language (basic, delphi, autoit,...) , but basically the examples are already available on many website (see above). That would be like translating a book into another language and registering myself as the author... and there isn't really much difference between the original example on the Curl website and the basic example in pop3.pbi from infratec or others. Example:
Original code from curl website written in C:
Code: Select all
...
CURL *curl;
CURLcode res = CURLE_OK;
curl = curl_easy_init();
if(curl) {
/* Set username and password */
curl_easy_setopt(curl, CURLOPT_USERNAME, "user");
curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret");
curl_easy_setopt(curl, CURLOPT_URL, "pop3s://pop.example.com/1");
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
/* Perform the retr */
res = curl_easy_perform(curl);
/* Check for errors */
if(res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
/* Always cleanup */
curl_easy_cleanup(curl);
}
...
In comparison, the adapted code from infratec for PureBasic
Code: Select all
...
curl = curl_easy_init()
If curl
; Set username And password
curl_easy_setopt_str(curl, #CURLOPT_USERNAME, UserName$)
curl_easy_setopt_str(curl, #CURLOPT_PASSWORD, Password$)
curl_easy_setopt_str(curl, #CURLOPT_URL, "pop3s://" + Url$ + "/" + Str(MessageNumber))
curl_easy_setopt(curl, #CURLOPT_SSL_VERIFYPEER, 0)
curl_easy_setopt(curl, #CURLOPT_SSL_VERIFYHOST, 0)
curl_easy_setopt(curl, #CURLOPT_VERBOSE, 0)
curl_easy_setopt(curl, #CURLOPT_WRITEFUNCTION, @LibCurl_WriteFunction())
curl_easy_setopt(curl, #CURLOPT_WRITEDATA, @userdata)
; Perform the retr
res = curl_easy_perform(curl)
If res = #CURLE_OK
Message$ = userdata\String
Else
Debug "curl_easy_perform() failed: " + curl_easy_strerror(res)
EndIf
; Always cleanup
curl_easy_cleanup(curl)
EndIf
...
So what I'm wondering is which source code exactly do you want to have licensed ?
Btw.: Apart from that, any code posted by one in the forum can be used by others. Otherwise you wouldn't publish it. This is also part of the terms and conditions in most dev forums...