Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,26 @@ Substantiative changes, or changes to **descriptions** of specific FOSS Foundati
- a specific fix or improvement: please open a GitHub Pull Request with the change.
- a larger change to propose or new idea, add new data fields, or the like: please open a GitHub Issue to **start** a discussion before doing more work.

## How to Run the Website

For development:

```
bundle exec jekyll serve
```

## How To Update Existing Data

- Ensure you are adding/updating accurate data. Metadata should all be traceable back to an organization's official web presence, even if it's not a specific URL for each item.
- Markdown at tne end of each foundation.md file should only include factual and general descriptions, not marketing materials.
- Markdown at the end of each `foundation.md` file should only include factual and general descriptions, not marketing materials.
- Ensure any "last update" fields are filled in (this is an open design question: how do we annotate when various metadata fields were last updated/verified?)
- Submit a GitHub PR for the foundation.md file.
-
- Submit a GitHub PR for the `foundation.md` file.

## How To Add A New Foundation

All the foundation data is stored in _foundations, so adding a new foundation is as simple as creating a file in that folder that matches the correct formatting.

- Copy [_data/foundation-template.md](https://raw.githubusercontent.com/Punderthings/fossfoundation/main/_data/foundation-template.md) to `_foundations/` as the base your new file.
- Copy [`_data/foundation-template.md`](https://raw.githubusercontent.com/Punderthings/fossfoundation/main/_data/foundation-template.md) to `_foundations/` as the base your new file.
- `cp _data/foundation-template.md _foundations/`
- Decide on the shortest and most common name used for the foundation that would still be unique in the current open source space.
- Lowercase the name and remove any non-letter characters to make *shortname*.
Expand Down
2 changes: 1 addition & 1 deletion _pages/fdnmodel.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ This foundation directory curates metadata that is rigorously organized enough f

## Foundations Model Overview

Organizational data is stored per foundation entity as a single `asf.md` file in the `_foundations` directory. Each file is a standard Jekyll document with a [leading YAML frontmatter](https://jekyllrb.com/docs/front-matter/) document with structured organizational metadata, followed by a `---` YAML document separator, followed by semi-structured Markdown content.
Organizational data is stored per foundation entity as a single `foundation.md` (eg `asf.md`) file in the `_foundations` directory. Each file is a standard Jekyll document with a [leading YAML frontmatter](https://jekyllrb.com/docs/front-matter/) document with structured organizational metadata, followed by a `---` YAML document separator, followed by semi-structured Markdown content.

- **Keep Updates Simple** Each foundation is a separate text-based document, making updates simple to make and review via GitHub PRs to ensure data accuracy.
- **Enough Structured Data** Metadata follows a [simple schema](https://github.com/Punderthings/fossfoundation/blob/main/_data/foundations-schema.json), with a goal to be "good enough" for common research cases. Researchers needing more structured data are welcome to collaborate and add new fields or features. [OpenAPI support is planned](openapi)!
Expand Down
2 changes: 1 addition & 1 deletion _pages/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Feedback so far shows there's a lot of value in this work, both to researchers a
- The structured data we provide is non-technical, and may not be familiar to many FOSS folk - we need to explain why this work is [important for overall sustainability](research).
- Budget financial data may be drawn from *approximate* figures (on annual reports, for example), so we need to be very clear which monetary figures are specific or not. Data stored for [US foundations in 990 forms](taxes) is exact, although limited to what the tax code defines.

## Tasks and IDeas
## Tasks and Ideas

- [ ] Category lists of foundations
- [ ] Metadata search page
Expand Down
2 changes: 1 addition & 1 deletion _pages/sponsorships.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ To provide context for financial sustainability around FOSS organizations, we've

## Model Overview

Data is stored per entity (a foundation or a project) as a single `asf.md` file in `_sponsorships`, see a [listing below](#listing). Each file is a set of factual references to the entity's published sponsorship policies and levels, and provides metadata to scrape web pages of actual sponsor listings at the current date. Some entries will provide a dated static map of manually compiled list of current sponsors listed.
Data is stored per entity (a foundation or a project) as a single `foundation.md` (eg `asf.md`) file in `_sponsorships`, see a [listing below](#listing). Each file is a set of factual references to the entity's published sponsorship policies and levels, and provides metadata to scrape web pages of actual sponsor listings at the current date. Some entries will provide a dated static map of manually compiled list of current sponsors listed.

## Inclusion Criteria

Expand Down
2 changes: 1 addition & 1 deletion _pages/taxes.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ US based nonprofits must file IRS 990 tax forms, even though they may not pay ta

## Model Overview: US 990 Forms

Data is stored per US recognized 501C* nonprofit as a single `ein.json` file in `_data/p990`. We store this data for convenience, and in case ProPublica's datastore ends. These 990 JSON data files are generated by ProPublica based on official IRS data dumps of actual processed tax filings. Data includes IRS-defined metadata about a nonprofit in the `organization` object, and then a list of actual 990 tax filings. Full details are in [ProPublica's API reference](https://projects.propublica.org/nonprofits/api).
Data is stored per US recognized 501(c)(*) nonprofit as a single `ein.json` file in `_data/p990`. We store this data for convenience, and in case ProPublica's datastore ends. These 990 JSON data files are generated by ProPublica based on official IRS data dumps of actual processed tax filings. Data includes IRS-defined metadata about a nonprofit in the `organization` object, and then a list of actual 990 tax filings. Full details are in [ProPublica's API reference](https://projects.propublica.org/nonprofits/api).

990 filings provide a consistent way to see total revenue, expenses, and assets for any US nonprofit. They also provide some level of detail within those numbers, in terms of amount of contributions (voluntary donations) versus program expenses or other types of income.

Expand Down