A market of donors, beneficiaries and contributors for CKAN features?

For background, I read this and thought is was interesting:
https://mobile.twitter.com/18f/status/662736718047506433

A reverse auction of this type might be good for one side of the equation (those who benefit from features) but not so great for those on the other side who would hope to make a living from doing work on such features. In the 18F experiment the contributor receives $1 in monetary value. Presumably they have received more value from the goodwill and exposure, but nonetheless a $1 return wont sustain anyoneā€™s interest for long.

Is there a way to do it better?

Could micro funding rather build up the value associated with completing a feature until someone is intrinsically motivated to get it done? Is there an example of this approach being used anywhere? If so, please add to the discussion here as Iā€™d be very interested in taking a look at all options.

In the case of a company like mine (Link Digital) there is a $150 AUD opportunity cost associated with each hour of fully realized development time. The actual wage cost is less, there are on costs and costs associated with inefficiency and lots of other factors that drive up costs like sales, marketing and community contributions. If we are lucky then over the course of an entire year then we might make a profit, sometimes a loss, but generally we stay in business and pay all the bills over a two year average. The only net win for a company owner in a market with fair competition and fair pricing is to grow the company as an asset by raising revenues year on year, with the hope that one day the asset could be sold or they could retire out under a succession plan with a residual revenue each year.

Right now Link Digital turns over around 1.4 Million per year but yet still cant seem to contribute more than we already do to the core of the CKAN project without generating cashflow risks (and after reviewing the last year our company has contributed very little in direct code). The most weā€™ve been able to do is promote CKAN and generate interest and adoption wherever the opportunities arose. Some of our paid projects have helped with providing extensions, but not enough for me to feel comfortable with the claim of being a ā€˜gold memberā€™ of the CKAN Association.

Anyhoo - Iā€™m just keen to get a solid set of resources behind CKAN over a sustained period. As a for-profit company Iā€™m locked out of receiving grants, or perhaps that is as much a condition of being in Australia where philanthropy around for-good innovation is not yet on anyoneā€™s agenda (unless you are a startup without any actual wages to pay or any enterprise level capability to leverage).

But, back to the topicā€¦ for every good feature in the ckan roadmap Iā€™m sure even a company like mine would gain benefit from putting in $10 to $100 toward it getting done and merged with core. Iā€™m sure even some individuals would likely put $5 or $10 toward bugs and features they want to see done but just donā€™t have time to do themselves. And, as CKAN is ultimately born from within a for-good movement which seeks to open knowledge I suspect small donations would come from a range of non technical donors.

Iā€™d be interested to know what people think of this kind of approach.

Could we trial something?

Iā€™m the current treasurer for Open Knowledge Australia and we use Xero for bookkeeping, eWay for credit card transactions and Westpac for banking. Xero allows for categories to be tagged against revenues, expenses, assets and liabilities. I believe this could be used to essentially allow donations to flow through to category terms which are setup to mirror github issue numbers. OK Australia has recently setup a read only public account so that anyone can check the books. Working this all together with a simple donations page would allow people to donate small amounts to particular issues in GitHub.

Those ā€˜contributorsā€™ who feel they can take up an issue, get it done, then have it merged and released within the core CKAN project should be able to provide their own pitch of what theyā€™d need to be paid to fairly work on the issue. With a little bit of work the combination of a pool of micro donations and a reverse auction could help us advance CKAN much faster than it would under current conditions.

What do people think of this approach?

But wait!

The membership model still remains entirely relevant. I donā€™t want to suggest it isnā€™t going to work by posting this. It is just something that takes quite a lot of effort to establish. We are essentially aiming to convince large corporate to invest 50k USD per year into CKAN so that should be an easy pitch once the right people are talking with each other. However, some of the actual features we are talking about to keep CKAN moving ahead are just one or two days of real world effort, so I think we could leverage a fair market driven approach as well :smile:

Hi Steven,
Really interesting topic. Iā€™m not sure what to make of the 18F ā€œexperimentā€. The high level of novelty interest and the $1 bid are so anomalous, itā€™s hard to draw many conclusions from them. The $1 bid essentially looks like a ā€œscrew your capitalist ways, Iā€™m doing this for free!ā€ which rather undermines the whole premise.

I donā€™t think I have a lot to contribute here (certainly, Iā€™m overcommitted already so unlikely to try to claim any of these bounties), but I just thought Iā€™d mention the inherent risks of replacing intrinsic rewards (the joy of contributing to open source) with extrinsic ones (cash). Thereā€™s a real risk that it can reduce the incentive for people to contribute on an unpaid basis.

Are you intending that Link would be a funder of these bounties, or would be in the market to claim some? (Iā€™m a bit unclear from a couple of seemingly contradictory statements.)

Anyway, it sounds like an interesting experiment.

1 Like

Youā€™re right there is a big risk associated with changing the natural motivation of contributors. Or, by involving more people in the project who are only there for the cash.

For a company like Link there are a few ways weā€™d benefit. We might collect some cash on a few issues here and there, but it would be likely that such cash for a string of features would be donated back to the association to help run CKANcon in October next year (or to generally support the recently distributed business plan). To hold a gold supporter status Link needs to do more, generally.

There are some relatively big things that need doing though. CKAN needs to be rebuilt on a new framework and that is something that is too big for any one contributor. The work also needs to be coordinated fairly well so that extensions are updated and platform migration paths for existing users are considered. A big job like that really needs tens of thousands of USD put behind it - actually, as a commercial project it might be costed at 300-500k. This would be the kind of project that a consortia of companies like Link would likely join forces on and bid for.

However, there is a massive market opportunity for Link and other CKAN suppliers if more contributions flow through to CKAN core. The quicker the project moves to CKAN 3.0 the better. It means that suppliers will likely consume support hours with their existing clients, negotiate a few extensions and generally make more revenue as platforms are upgraded. It also means lots of other platforms still on 2.1+ will have a great incentive to upgrade. Many platforms have been setup historically by tech teams that have since disbursed, so there could be a string of RFQs in the market for upgrade support.

But generally yes to funding issues directly or as proxy for our clients, and yes to potentially being a beneficiary for some of these agreements (I doā€™t think the term bounty works as it implies the first to do the work claims the reward). I would like the process to facilitate formal agreements for the work to be done by one party within a managed timeframe.

As to which issues are put into the market the tech team could likely decide on that. Most ideas and issues are manageable within the normal dynamics of an open source project. Maybe only a few need something extra to help them get done.

Yeah, thanks for clarifying. I guess itā€™s super early days for this kind of
thing, but it would certainly be interesting if the same mechanism that can
pay an open source contributor $1 could scale up to hundreds of thousands
for commercial consortia.

It would also kind of challenge the notion of the ā€œdo-ocracyā€ which IMHO
can be problematic in some open source projects: people work on the tasks
they find interesting, and the project as a whole is shaped by the most
active contributors. (At least for projects without strong governance,
release management etc). What would it mean though if someone wants to
stump up $10,000 for a feature that was otherwise regarded as low priority?
Is there a possibility of projects being skewed by fringe, but well-funded,
interests?

(Just thinking aloud - donā€™t take any of this as strong arguments against
the idea.)

1 Like

Such a feature can still be built but that doesnā€™t mean it would be merged with core.

The CKAN tech team would really have the power and discretion in such a case. I guess that such feature requests would have the potential to drain resources from higher priority features (as determined by the tech team). Perhaps this is easily managed by the tech team by simply selecting which issues or ideas ā€˜enter the marketā€™ for donations and bidders. Lots of opportunity for collusion between feature sponsors and those that might influence the tech team, but an open process for debating things via GitHub should make it all pretty transparent.

As an example, Iā€™ve been socialising the notion of building ā€˜resource containersā€™ within CKAN, mostly with potential third parties who might want to fund extension work to integrate specific resource containers for their tech/cloud/API and such. Although Iā€™ve also mentioned this in the dev list and in at least one tech team call I havenā€™t really made a strong case for why I think it is important just yet.

Iā€™ve also been thinking a little outside of what the current project is to include infrastructure as part of the software stack. This might be interesting or not so interesting to the tech team. But, I guess Iā€™ve developed my thinking around web services being programmable in the same way as web applications. If there were people arguing about the merits of cloud Vs private tin over the last few years then I think this will only grow as some people involved in FOSS software projects begin to understand that some parts of the application are better done as open solution architecture which leverages cloud technology. If that thinking matures then SaaS, PaaS and IaaS integration points will become key features of data management systems. There is a point where web applications like CKAN simply start to look like software for user management and provisioning orchestration workflows for third party integration points.

So, this is the sort of ā€˜featureā€™ that would need some real thinking put behind it. CKAN 3.0 however is where Iā€™d see such a feature implemented. And, CKAN 3.0 needs a more important set of features established to manage the change to a new framework and set itself up for the next evolution of data portals.

I would be keen to request the resource containers feature as soon as Iā€™ve found any backer for significant investment in developing resource containers which extend CKAN beyond what it is today. Iā€™m actively looking for such backers (not for Link but as a member of the CKAN Association Steering Group). So far Iā€™ve found interest in the ideas but no solid process to follow which would result in funding. But, early days as Iā€™ve only really been socialising the idea for around four months.

You may have already seen this, but hereā€™s an interesting read from the weekend on this topic via Hacker News: Corporations and OSS Do Not Mix - cat /dev/brain

1 Like

Thanks @drzax this is a helpful article. Iā€™ll think more about things and maybe try to stay up late enough to chat with the tech team tomorrow or Thursday night :slight_smile:

As a govtech startup that uses CKAN extensively with our latest offering ( http://blog.civicdashboards.com/2015/11/ontodia-launches-civic-dashboards/ ), we at Ontodia try to do our best to contribute back to the project.

We even did so monetarily when CKAN still had its professional services partner program back in 2013, and we signed up to be the first US professional service partner.

Right now, inasmuch as we want to be a dues-paying member of the CKAN Association, Iā€™m constrained from doing so because of our ā€œstartupā€ constraints.

As I explained in my follow-up post yesterday - http://blog.civicdashboards.com/2015/11/why-we-built-civicdashboards, weā€™re copying the RedHat playbook as a path to long-term sustainability.

But I agree with Steve that CKAN 3.0 is needed. Even though CKAN as is compares favorably with much more expensive, blackbox solutions, giving CKAN 3.0 ā€œmust-haveā€ features to support ā€œdog-foodingā€ usecases ( I Hate Open Data Portals | Civic Innovations ) is necessary.

You mentioned that as a for-profit company, Link Digital is locked out of receiving grants and Australian philanthropists have not funded govtech/civictech to date, but why not do a CKAN 3.0 grant pitch as the CKAN Association?

Organizations like US Open Data have funded CKAN MultiSite. And weā€™re starting to get some traction here in the US, where govtech/civictech philanthropy is happening.

Iā€™ve even seen some relatively small micro civictech projects receive $250K funding from Google Ideas.