Fwd: PaySwarm-powered Open Source Crowdfunding Platform

111 views
Skip to first unread message

☮ elf Pavlik ☮

unread,
Dec 20, 2012, 4:55:00 PM12/20/12
to permabank-dev
--- Begin forwarded message from Manu Sporny ---
From: Manu Sporny <msp...@digitalbazaar.com>
To: Web Payments CG <public-we...@w3.org>
Date: Thu, 20 Dec 2012 18:05:22 +0000
Subject: PaySwarm-powered Open Source Crowdfunding Platform

This is related to an e-mail that Melvin sent to this mailing list last
week about open source IPOs.

We're considering building an open source crowdfunding platform built on
the PaySwarm protocol. This funding platform could be used by anybody to
launch niche crowdfunding platforms. For example, the open source
development community could use it to fund features in certain software
projects (like raising money to hire somebody to implement a solid SIP
client for node.js). A knitting community could use it to fund the
purchase of yarn to make sweaters for folks affected by hurricane Sandy.
A gaming community could use it to fund new extensions to an existing game.

It would probably only support gift-based fund-raising at first (what
KickStarter/IndieGoGo does). There would be plans to support
equity-based fund-raising as well as debt-based fund-raising in the
future, given enough interest in the project.

The work would be built on top of the Payment Intents specification:

http://payswarm.com/specs/source/payment-intents/

Would anyone on this list have an interest in such an endeavor?
Contributions wouldn't have to be across the board - it could be
conversation on this mailing list, conversation on telecons, code
contributions to the open source project, copy writing, etc.

The work would be performed after the commercial launch of the PaySwarm
reference implementation, but thought I'd send an e-mail out now to see
if there would be interest in a project like this.

-- manu

--- End forwarded message ---

Nick Person

unread,
Dec 20, 2012, 11:46:03 PM12/20/12
to Devin Balkind, permab...@googlegroups.com
Summary so you don't have to read the whole email

- Yes we can develop in Payswarm right now. I think it's perfect for a
wide variety of alt currency concepts and it's a framework for
building alt currencies
- It helps a lot if Digital Bazaar can be our Payment Authority (then
we only have to implement a Payment Processor which is much easier)
- But even if not, at least for an alt currency we can roll our own
Payment Authority too if we end up with a processor and we're going it
alone for some reason (cause we have the standard)
- Some technical details on the payswarm client code and node.js

--------------------------


There's two kinds of actors on the Payswarm stage. There's Payswarm
authorities of which Manu's Digital Bazaar will be the first when they
get their PCI compliance and ACH check clearing house stuff approved.
Politics in other words is holding them up, not technology. And we
have dev.payswarm.com to develop against today. (New version of
Payswarm just launched today FYI--Congrats Manu!)

Then there's a decentralized payments processor type actor that can
interact with a payment authority via a natively encrypted API. There
can be many more of these payments processors and because the clients
make being a processor very decentralized and easy.

Our work would be a lot easier if Manu handles the payment authority
for an alt currency (I assume the permabank is still an alt currency
concept although I personally alternate between talking about alt
currencies and imperial credits).

Without Manu pioneering a real money alt currency our chances at
getting approval from the powers that be to run our own real money
payment authority with PCI compliance and ACH network approval are
greatly reduced.

So either way we should develop using the Payswarm standard first on
the assumption that we will be a processor and DB will be oru
authority. Best case scenario we are just finishing up and Digital
Bazaar is just coming online. If for some catastrophic unforeseen
reason Digital Bazaar never came online we can roll our Payment
Authority given enough time, since it's an open standard that's 99%
specified, although the same could be said of getting a horse to speak
(the time part, not the open standards part).

I prefer a full node.js app because of node's asynchrony (node.js is
the magic behind facebook chat and google chat) and because one of the
advantages of Payswarm is using JSON-LD (native javascript structured
data) so it can integrate with the occupy directory's json-ld data.
You don't have to develop in node.js to implement a payswarm processor
though and there's a wordpress plugin and plans for a drupal one.

https://github.com/digitalbazaar/payswarm.js

I've installed and run the following node.js payswarm client. It works
fine. There was an issue though where you have to install an older
version of node, I'm going to go ahead and guess 6.19 (using the nvm
(node version manager) or npm (node package manager) or something). I
believe this was due to some problems with node.js packages that
presumably will get fixed because it's an active community. If you
have problems you can get in contact with me or I'm sure someone else
would be glad to help you on #payswarm on freenode (irc)

If you install the right version of node (until the node.js packages
get fixed in the node.js community) it's a simple install. Once it's
running it's super simple. From the command line you basically just
enter a price for an asset listing, some other information, using one
script. Then you just feed another little tiny script the asset you
listed and the account you want to purchase the asset with.

Cheers,

Nick

Evan Wagner

unread,
Dec 21, 2012, 12:03:17 PM12/21/12
to permab...@googlegroups.com
Can we build this Payswarm based crowdfunding facility into our Permabank deployment of ShareTribe?

Please tell me, too, if my question demonstrates a fundamental lack of understanding of the tech here...

Thanks,

Evan
--
Evan Wagner
Permabank
646.641.1772

Evan Wagner

unread,
Dec 21, 2012, 12:04:58 PM12/21/12
to permab...@googlegroups.com
Nick,

What does this mean to what we can implement right now with Permabank?

Please advise..

E

Devin Balkind

unread,
Dec 21, 2012, 2:04:50 PM12/21/12
to permab...@googlegroups.com
Incorporating PaySwarm into PermaBank would require development.  I suspect that Elf is more interested in maintaining the existing PermaBank software and helping onboard developers than he is doing development on the platform himself.  Elf, please tell me if I'm wrong.

A few things would (likely) need to happen to do custom development on PermaBank.
1. We need to write a spec for any additional features.
2. We need ruby developers interested in implementing that spec.
3. We need to discuss that spec with the ShareTribe people to see whether they'd want to incorporate it into their codebase or if we'd have to fork the code and go our separate ways (which is generally considered a bad idea because then you don't have the ability to benefit from future ShareTribe updates.)
--
Devin Balkind
@devinbalkind
vitamindwb.com

Nick Person

unread,
Dec 22, 2012, 12:31:31 AM12/22/12
to permab...@googlegroups.com
I'm going to ask people who know more about what's out there than me
but it doesn't look like there's a ruby client for Payswarm yet.

That being said I think together with a JSON-LD processor for ruby
(there's one here -- https://github.com/gkellogg/json-ld/), the php
client from the wordpress plugin demo and the node.js client
constitute a spec for making a ruby client.

Splitting the difference between the php client and the node.js client
that's probably less than 1000 lines of code.

Gregg Kellogg who wrote the (most widely used I think) JSON-LD parser
for ruby is also part of the W3C web payments working group that's
developing Payswarm. Funny story he actually has the Occupy Directory
on slide 29 of his presentation on JSON-LD
http://www.slideshare.net/gkellogg1/json-for-linked-data (slide 31 is
Payswarm). If there is a ruby client out there I bet he knows about
it.

However that 1000 line ruby client gets written, I'm about 60% sure
that would then mean we could submit three or four 10-lines-or-fewer
patches to Sharetribe. So if we had a ruby client for payswarm I think
that would then mean that it would take me one intensive day of coding
to integrate Payswarm into Sharetribe (and I've never written a line
of ruby hence why it would take me the better part of a day).

The only thing I'd need to know about the spec is that when you create
items that can be bought, it creates a corresponding digital asset,
and when you click 'buy', it purchases the asset.

In the Node.js client these are one-liners.

Of course it's also nice to have RDFa on the page like in the
wordpress demo so that RDF-aware crawlers know about the assets, so
it's definitely more than just two lines of code.

Cheers,

Nick

Nick Person

unread,
Dec 22, 2012, 2:52:20 AM12/22/12
to permab...@googlegroups.com
So I just counted up lines of code in the node.js client and sharetribe.

Assuming 1-for-1 correspondence in lines of node.js for ruby, we would need:

1314 lines of ruby for the payswarm client
652 lines for configuration, key registration, asset listing and asset purchase
optionally but preferably a handful of lines for RDFa so RDF aware
crawlers know about our listings

Comparing that to the Sharetribe codebase there's currently 17,365
lines of what I'll call "back end" ruby code (anything marked as *.rb
file) out of an estimated ~100,000 lines of code.

Much of that 100,000 is also in ruby but also some javascript and html
/ templating language but the number may be padded with some things
I'm not seeing (the grand total was 265,511 exactly but that included
about 150,000 of version control data that doesn't count)

So given the gargantuan size of the sharetribe effort compared to what
a payswarm client in ruby would be I bet if some core sharetribe
developers were shown the node.js client for payswarm they could plow
through, especially if they went to #payswarm on freenode with any
questions.

Since I don't know any ruby myself the way I plan on conjuring up a
ruby client is through wishful thinking. The cool part is that I am
99% sure this will eventually work.

Other ideas: we could make an explainer video stating the significance
specifically for the ruby community to have a client on the assumption
that the reference implementation (digital bazaar) is going to launch
any day now which I think is probably correct. Or go to tech meetups
and pitch ruby developers on awesome payswarm related business models
that they would need a ruby client for. Or maybe Gregg Kellogg has one
already?

I'll keep you guys updated.

Cheers,

Nick

☮ elf Pavlik ☮

unread,
Dec 22, 2012, 8:46:20 AM12/22/12
to Devin Balkind, permabank-dev
Excerpts from Devin Balkind's message of 2012-12-21 19:04:50 +0000:
> Incorporating PaySwarm into PermaBank would require development. I suspect
> that Elf is more interested in maintaining the existing PermaBank software
> and helping onboard developers than he is doing development on the platform
> himself. Elf, please tell me if I'm wrong.
>
> A few things would (likely) need to happen to do custom development on
> PermaBank.
> 1. We need to write a spec for any additional features.
> 2. We need ruby developers interested in implementing that spec.
agree on those two and in terms of specs, please start with *user stories* :)

> 3. We need to discuss that spec with the ShareTribe people to see whether
> they'd want to incorporate it into their codebase or if we'd have to fork
> the code and go our separate ways (which is generally considered a bad idea
> because then you don't have the ability to benefit from future ShareTribe
> updates.)
at this moment Antti & Juho develop ShareTribe and they stay very busy with their existing roadmap. but they really like to help with making it more modular that people can put together what they want out of existing pieces + develop new pieces! i already spoken with them to join them in Helsinki for about a week of hacking together, when i hope we can set direction and start on this modularization.

how people from broad #occupy network can help? i would like to making more 1 week long hackathons inviting people who can code to work on community tools - including sharetribe. i would love to help people realize that by hosting such hackathons - offering accomodations, food, working space and maybe event help with finding rideshares by people who come from further away. we can make major contributions to all kind of libre sofware we use :)

i'll jump back on this thread later to reply to other excellent comments here!
Reply all
Reply to author
Forward
0 new messages