Specification

Language

The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119.

File location and contents

  1. maker.json MUST reside in the root directory of a project's repository.
  2. maker.json MUST include a single object represented as JSON, with key-value pairs according to the list below.

Fields

Required

The following fields MUST be included:

  1. name - a string specifying the project's name.
  2. status - a string (enum) indicating the status of the project. The value MUST be one of:
    • "Unknown" - No update or recent update provided.
    • "Active" - The space is open.
    • "Inactive" - The space is closed
    • "Planned" - The space is in the planning stages to open.
  3. type - An array specifying the type of space. Multiple types are allowed.
    • "Makerspace" - Your makerspace shop with fabrication tools, computer stations, and community space.
    • "Fab Lab" - As above, but ONLY those officially affiliated as Fab Labs.
    • "TechShop" - As above, but ONLY those officially affiliated as TechShops.
    • "Hackerspace" - A community space more focused on
    • "Coworking Space" - Open floor plans for startups and small businesses, not necessarily hackers only.
    • "Innovation Lab" - A space within larger organizations focused on emerging innovations or researching and development practices.
    • "University Lab" - Sharing many of the principles above but supported by an educational institution and may or may not be only open to students.
    • "Library" - Libraries as we know them but now offerings access to and workshops about DIY and fabrication topics (i.e. 3D printers).

Recommended

In addition to the above fields, the following fields SHOULD be included in every maker.json, where applicable:

  1. source - The source of this information. This could be a website, person, email address, or media source.
  2. description - A brief summary of the location and/or community. A good description should not reiterate other parts of the schema such as available tools or location but offer details on the mission, vision, history, and values.
  3. address - A string specifying the physical address of the location. This information SHOULD only include the street address or relative structures/business if that's not available. It SHOULD NOT other administrative information (to include separately, see below).
  4. city - The city in which the space is located.
  5. division - The state, province, district, or boundary in which the space is located.
  6. country - The country in which the space is located.
  7. latitude - A decimal of the exact latitude of the space.
  8. longitude - A decimal of the exact longitude of the space.
  9. website - The official website of the space, if available.
  10. phone - The official phone number for the space, if available.
  11. mailing-list - The address of a mailing list, if available.
  12. email - A contact email for the space, if available.
  13. social - An array of the social media accounts associated with the space.
  14. tools - An array of the available tools within the space. This is geared more toward the makerspaces.

Other

You MAY want to include other fields not listed above.

  1. number-of-members - The average or estimated number of members in the space.
  2. membership-fee - A string explaining any membership costs and frequency.
  3. open-to-exchanges - A boolean for if the space is open to exchanging tools.
  4. open-to-residences - A boolean for if the space offers residencies.
  5. size-of-rooms - The average or estimated size of the rooms.