CURL External

Attention: This is not released. This page is offered so that interested people can track progress.

What it is

The CURL external is an extension for LiveCode that adds SFTP and other protocols for file transfer. It wraps around libCURL and libSSH2 with some easy to use routines.

It was really hard to build this because the version of CURL that is bundled in MacOS X is compiled without SFTP support, so, I had to build both libCURL and libSSH2 statically for this project. Right now the tentative external runs in MacOS X and Linux.

What it is not

Ready.

Current Status

There are two types of file transfering routines in curlexternal, Blocking routines and Non-blocking routines.

Blocking routines

Below are the blocking routines that are already implemented. There is still a bug related to setting curl configuration options, some C pointer is vanishing.

  • curlDownloadToFile: downloads from a remote server to a local file.
  • curlDownload: downloads from a remote server to a variable.
  • curlUploadFile: uploads a local file to a remote location.

Non-blocking routines

I am yet to implement any non-blocking routine. I still need to figure out how to do callbacks with the external SDK. Without callbacks, I can't do any asynchronous code.

What is the plan

This project is too big to work it on my free time alone that is why I will start a fundraising campaing to get some funds to finish it.

The external will be Dual Licensed.

  • GPL: GNU Public License for those building Open Source software. This enables you to use the external for free provided that if contribute any change back and that you also offer your software as open source under the terms of the GPL.
  • Commercial License: This enables you to use the external without releasing your software as opensource. This is ideal for commercial software that can't be released open source.

The price for the commercial license will be USD 90. During the fundraising period there are incentives for you to contribute. Below, I list the oportunities:

  • USD 50: If you contribute with USD 50, I will give you a discount of USD 75 on the final price of the library.
  • USD 75: If you contribute with USD 75, I will give you a commercial license when the library is released.
  • USD 90: If you contribute with USD 90, you get a commercial license and three extended support requests via skype chat and screen sharing. I will also help you install LiveCode Server or LiveCode CGI if you need. I will also buy you beer during the next LiveCode conference.
  • USD 200: If you contribute with USD 200, you get three commercial licenses and eight extended support requests via skype chat and screen sharing. I will help you install LiveCode Server or LiveCode CGI if you need. You can use your extra license to gift another LiveCode developer that you like and I buy you dinner during the next LiveCode conference. You get a free eBook with Sci-Fi and Horror shortstories (Yes, I've published two books here).

The fundraising will stop when any of the following two conditions happen:

  • It runs on windows.
  • When I figure out callbacks and implement the async routines.
When any of these conditions is true, I will consider the library good enough for commercial use and finish the fundraising. I will release snapshots of the library and will link the BitBucket repository for the source code here before the fundraising end. Anyone will be invited to test the library during the fundraising period.

Fund Raising

To join the fund raising, choose your option below. Help spread this page. Even if you will not buy a commercial license, consider joining this campaign because this will help me devote more hours to this project.

  • Fundraising options

  • 50

  • 75

  • 90

  • 200

  • Discount on final price
  • USD 75
  • Free Commercial License

  • 3 licenses
  • Extended support requests

  • 3 calls

  • 8 calls
  • Beer during conference
  • Dinner during conference
  • Sci-Fi & Horror short stories eBook
  •  
  • $50.00
  • $75.00
  • $90.00
  • $200.00