Software Bounties

In an effort to promote open source software, and in an effort to make my own reaching contributions, I am offering bounties for the completion of specific pieces of software.

There are a few terms, of course.

  1. The completion of the following items must be "release" quality. Mock-ups, proofs of concept, or alpha-quality software isn't going to be awarded.

  2. The contributions must be free and open source, under a permissive license.

  3. Money will be delivered in a reasonable time, as soon as the delivery method is decided. I will not be paying whatever transaction fees get incurred.

  4. If a team of people did it, then by default it will be split equally, unless the team says otherwise. I'm not in the business of dealing with disputes. If there's going to be a dispute, then I'll just donate the money to a charity of your choice.

  5. Money will be delivered as expediently as possible. I cannot put a guarantee on when, but expect within a month.

  6. Due to practical reasons, I have the right to remove from this page any of the bounties I've put out. If you are working on something and I took it away, let me know.

All amounts are in USD.

If you do decide to tackle one of these tasks, get close, or complete one, then please contact me.

Native threads in Chicken Scheme, $1000

CHICKEN Scheme has green threads, which is a reasonable, lightweight method of adding concurrency to your CHICKEN programs. However, the main way to get true parallelism is to spin up processes and use some method of IPC. This is of course doable, and in some circumstances, actually has benefits, but in the world of Lisp and Scheme, it may be more expedient to share very large data structures, including arrays or graphs of objects, than to try to do data marshalling.

Threading in CHICKEN will be difficult, given the non-re-entrant interpreter and the garbage collector, but I hear it should be achievable.

  • Robert Smith, $1000

Package-local nicknames in Clozure CL, $250

Package-local nicknames are a concept described here. Package nicknames in Common Lisp are an abomination for serious, collaborative development in the 21st century. In my own professional work, nickname and package name collisions have occurred many times.

Package-local nicknames give the author of the package the ability to nickname packages being used, as opposed to the package writer enforcing its packages upon you. By making package-local nicknames ubiquitous, we can have longer, more formal package names everywhere.

They have been implemented in SBCL, but they'd be desired in CCL.

  • Robert Smith, $250

Native threads on SBCL/ARM, $1000

SBCL has native threads on other architectures. Very recently, SBCL has been shown to work on ARM. Getting native threads working on ARM would be a huge boon for not only SBCL, but the Lisp community itself. Finally, there could be some friendly competition in the ARM space for Common Lisp.

  • Robert Smith, $1000

Unless otherwise credited all material copyright © 2015 by Robert Smith