[openspending-dev] Contributing to OpenSpending

Rufus Pollock rufus.pollock at okfn.org
Wed Jan 9 13:42:40 UTC 2013

This is great Friedrich. Some thoughts / comments.

On 3 January 2013 15:30, Friedrich Lindenberg <friedrich at pudo.org> wrote:
> Hi all,
> I've started writing up some documentation for getting started as a
> contributor to the OpenSpending code base:
> https://github.com/openspending/openspending/wiki/Contributing

First off this is great to have - and is very nicely written. Small tweaks:

* Break stuff out more (have some headings)
* Get in touch (+ friendly welcome) right at the top with highlighted
stuff re main contact routes (ML + IRC)
* Quickstart at the top - if I see this much text I'm put off, I'd
like to look at a few real issues as fast as possible and only check
back if i need to know more (note issues could always have a link to a
general "here's what you need to know to contribute section)

## General thoughts

However, my general thoughts / concerns are that it is generally quite
tough to get core contributions and these are listed at the top of the
list. To get contributions to an open source project I think you have
these aspects:

* How easy to get started (a small javascript library is way easier
than a full webapp with multiple components that you need to get
working just to get started)
* How badly do I need this - CKAN is in fact a more complex codebase
than OS, but it's getting more and more questions and contributions
because people are heavily committed to using it
* How cool / famous is this

Now I think OS *core* atm scores fairly low on all of these. It's
quite a big codebase, because it runs as a reasonably central platform
I'm probably not deploying myself, and OS itself is less well-known
than its various "satellite" projects.

This brings me to a proposal: let's focus contribution on building
"around" OS core (and are there any bits of core we could split out
into smaller components people could contribute to separately - e.g.
format checkers, maker etc). If enough people are doing stuff "around"
there will be motivations to fix stuff in "core" that are blocking
people (and if they aren't blocking people maybe they don't need to be

So what areas do we offer:

### "apps.openspending.org"

This would be building stuff off the API (mainly in JS + HTML) plus
possibly some stuff that was just standalone (but was OS related). I'm
thinking of the sorts of mini apps already in openspendingjs but you
could think of plenty more. 2 main types:

* Viz
* Analysis (+ viz)
* Mini-apps

It would be important to give some examples and links to good API documentation.

It could also include:

* Things like "taxman" (i.e. more elaborate but still quite simple apps)
* A bit of openspendingjs (but again may want contribution here to be
driven from client use)


- repos in OpenSpending org (or perhaps a separate org on GH?)
deployed using gh-pages. (Could allow some full-on apps to get
deployed via heroku and at xyz.apps.openspending.org)
- have an overall repo where people can list ideas as issues so you
can link to this to give people a starting point
- provide some common css and js (openspendingjs?) so things have a
common theme by default (and all link back to apps and OS.org etc)
- split out openspendingjs apps straight away ...

### "Satellite" sites

You've already got this. Big this up more. Could overlap with apps at
some points (when does a regional site become a mini-app etc)

Aside: I think you want a better name. Perhaps "client sites" (though
"client" is ambiguous") "local sites" or regional sites or something.

Link directly to your 1-2-3 instructions for this.

## Summing up

We should conceive of "OS" as quite broad so contributing to OS (even
in tech sense) includes all of the above (you're already doing but
this could be stronger and we can downplay core relatively ...)

These instructions, as they aren't about OS core, should probably
should be part of openspending.org and not the wiki (OS core
contribution could stay on the wiki ...)

I'm willing to dive in to help with this :-)

> Also, the issues page has now received a new year's cleaning and has a lot
> of new tickets, while existing tickets have been classified as "simple",
> "advanced" and "hard" for those who may want to contribute some code during
> the final days of their winter holidays:
> https://github.com/openspending/openspending/issues

This is really great.


More information about the openspending-dev mailing list