BetaNYC / civic.json

A specification of the civic.json metadata standard for civic technology projects
47 stars 17 forks source link

New civic.json fields #8

Open ameensol opened 10 years ago

ameensol commented 10 years ago

The meta question: Is there a certain process for adding new fields to the civic.json standard?

Code for DC is hoping to change to a civic.json powered projects page, but they have some fields that they want to include that aren't described by the current spec. Here is the civic.json file I built for one of their projects, using data from the Code for DC projects page.

The fields I added that aren't on the standard are below:

{
"contact": [
    {
      "name": "Marcus Louie",
      "email": "",
      "twitter": "@mlouie"
    }
  ],
  "communityPartner": "Bread for City",
  "moreInfoLink": "https://hackpad.com/Code-for-DC-District-Housing-KlQ2UbX0Imc"
}

I'm sure there are other fields that civic hackers will want to include as this standard develops, so I was hoping to start a conversation about what this process will look like.

junosuarez commented 10 years ago

I like the example given by npm's package.json, GeoJSON, and OKFN's datapackage.json - they each specify minimum required fields, and mention additional optional fields, and then allow for whatever other fields beyond that as valid. This allows for experimentation and interoperability with other tools. For example, the JavaScript tool jshint allows embedding config in package.json

chriswhong commented 10 years ago

+1, I think we should agree on a set of minimum required fields, standard optional fields, and then free for all beyond that for whatever suits a person or org's needs. On Jun 11, 2014 9:40 PM, "Jason Denizac" notifications@github.com wrote:

I like the example given by npm's package.json https://www.npmjs.org/doc/json.html, GeoJSON http://geojson.org/geojson-spec.html, and OKFN's datapackage.json http://dataprotocols.org/data-packages/ - they each specify minimum required fields, and mention additional optional fields, and then allow for whatever other fields beyond that as valid. This allows for experimentation and interoperability with other tools. For example, the JavaScript tool jshint allows embedding config in package.json http://www.jshint.com/blog/better-npm-integration/

— Reply to this email directly or view it on GitHub https://github.com/BetaNYC/civic.json/issues/8#issuecomment-45821218.