Next steps for the working group


#1

Hi all! This category will be our designated mode of async communication during the inception of what I’ve tentatively dubbed “The Funding Index” (I find myself renaming it far too often so add that to the list of things we’ll need to figure out further down the road).

Prototype

To start things off I’ve cobbled together a prototype using Airtable and GitHub Pages:

https://erlend-sh.github.io/ossgrants/

Don’t pay any attention to styling. I chose the design merely because it was conveniently wide for my embeds and everything is crammed into one page because I don’t want to mess around with GitHub Pages more than I have to. The same data could be neatly presented on a plain HTML site or a lightweight SPA like Gatsby.

The important bits are:

  • Companies are divided into groupings called “tiers” to avoid granular ranking whilst maintaining a leaderboard effect for peer pressure.
  • We also present company size (est.), grant size and data source(s).
    With 10+ real entries and a nicer presentation I believe we’d be all set for a v1.0.
  • Most $$$ data for 2017 is already accurate thanks to data from Pia @ OpenCollective, many thanks :pray:

Project Description

I’ve pasted in the full “info” section on the demo site. Please ask me anything you’d like about the details I’ve put forth so far.

Info

What is this?

This is an open index of corporations and their respective grants to open source projects. Our thinking is that open source contributors should know which companies are making a no-strings-attached monetary commitment to the open source ecosystem, in particular the open source infrastructure that needs help the most.

We do not take into account grants in the form of donated developer time, bug bounties, conference sponsorships or similar*. These are all great practices which we encourage companies to continue, but an unconditional transfer of money affords a project a certain kind of independence that’s hard to attain any other way.

  • This criteria will be more lax for 2017/2018 to get the list populated with noteworthy frontrunners.

Who are we?

Right now are just a small handful of people:…

In the future we aspire to make the editing process of this document far more democratised.

Table explained

  • Company: A list of any company that has contributed some amount to open source that year.
  • Company size: Estimated number of employees in company (Cross-sourced from:…)
  • Grant: The amount of money granted to open source that year.
  • Source: Source for the grant data.
  • Tier: Grant divided by # of employees, abstracted to a tier designation. Further reading below.

More about tiers

Tiers are ranked high to low, higher being better. Each tier denotes an actual number produced by dviding a company’s grant by its employee count. It’s not perfect, but it’s a start!

  • Tier 0 = $250-$499
  • Tier 1 = $500-$999
  • Tier 2 = $1000-$1499
  • Tier 3 = $1500-$1999
  • Tier 4 = $2000-$2499
  • Tier 5 = $2500-$2999
  • Tier 6 = $3000-$3499
  • etc.

You can also think of these tiers in terms of a percentage of salary expenses. If a company is paying its employees an average of $50’000-$60’000 per year (below Silicon Valley averages but a more than comfortable living wage for almost any place in the world), $2500-$2999 per employee would constitute about 5% of a company’s total salary expenses.

What if a company falsely reports a grant?

Since we require grants to be publicly announced it becomes very easy to fact-check these claims. Any supposed grant recipient can report back to us if a grant claim has seemingly not been honored.

What should companies be paying?

That’s what we’re trying to figure out! The minimum amount required to get listed is $250 per employee, e.g. about 0.5% of a company’s salary expenses. We are hoping to set the bar a little higher than that but as of now there is no recommended tier that companies should be shooting for. Just try to do right by the open source projects that enabled you to prosper.

A survey by DigitalOcean found that 75% of respondents think that their organizations donate less than $1K to open source projects, and 9% donate more than $10K. Donation levels seem small considering that 42% of respondents work at companies larger than 100 employees. Overall, 50% of respondents believe that large tech companies contribute less to open source communities than they gain from them.

Editing

The AirTable form (this link gives Creator privileges)

My thinking for the initial collaboration model is that it’ll be an exclusive, small group of people (welcome! :hugs: ) doing all of the editing. For starters SustainOSS admins can dictate who should have edit access. We’ll aim to democratise the process at a later stage.

Next steps

My current TODO list looks as follows:

  • :white_check_mark: Incorporate data from OpenCollective
  • :white_check_mark: Add Good Enough :tm: Employee # estimates based on a couple different sources
  • :white_check_mark: Compare prototype with SustainOSS meeting notes
  • :white_check_mark: Solicit more grant entries
  • :black_square_button: Fully spec out the MVP for a website launch of the Funding Index.

I’ll come back shortly with more clear directives for the road ahead, but I welcome any kind of comments or questions in the meantime.


#2

Question: How about also considering engineering force size?

I’ve contemplated taking engineering team size into account but for now I’d rather not get into it for two reasons.

  1. First and most importantly I just want to keep this list as simple as possible in its first iteration. I would much rather have the index openly acknowledge the flaws of its simplicity rather than try to capture a more complex rendition of OSS funding in its very first iteration. Furthermore, it’d be incredibly hard to gather good data on this.

  2. Secondly I think the variance in companies’ engineering forces is adequately accommodated already by the funding tiers, at least as a start. It seems wrong to me to give Unilever a higher ranking than a near-identical CompanyX that has more engineers. CompanyX doesn’t necessarily stand to gain any more from oss than Unilever just because it has more developers, and on the flip-side because it’s a developer-centric company it might be doing a lot of other things beneficial to open source that the index isn’t designed to pick up.


#3

It just occurred to me that another great source of data would the Ruby Together and its equivalent in other languages/communities. Anyone got any contacts there? Otherwise I’ll just do a cold-call and hope for the best.


#4

From filling in additional data points, I noticed how difficult it is to know how many employees a company has. Wikipedia has the most easy to find estimate.

I based my donation entries on https://www.apache.org/foundation/thanks.html

We need to be able to aggregate donations. Otherwise, companies are likely to be all in the lowest tier because they spread their support across the open source ecosystem.


#5

I agree; it’s important to understand not only the number of donations, but also the typical amounts, number of different recipients, and aggregate over time.


#6

(Hah, DigitalOcean survey is mentioned here also :slight_smile:)

This is a good idea, I think it’s similar to FairTrade approach.

If a good quality data could be collected in a systematic way and the recognition of the index could reach to its critical mass, it could be a successful motivator.


#7

A post was split to a new topic: Discussing the “Fair Share Clause”


#8

So after some prolonged rumination I’ve decided on some fundamental properties that the MVP for late 2018 / early 2019 should have. Here’s a mockup:

There’s 4 columns here, one being only semi-visible. We would explain these columns plus more in the About section.

  1. Verified
    Signifies whether or not this data (employee count & donation amount) has been verified by at least one representative from the company.

  2. Company
    -name

  3. Employees
    Number of employees in the company at the end of year

  4. Investment
    Company’s total donations that year divided by number of employees, represented by tiers.
    Maybe it’s confusing to use investment and funds interchangeably? I wanted to drive home that these funds actually are investments in FOSS.

At this point I’m in need of some help from a web developer. I need someone who can figure out a bare-minimum way to…

  1. Display this on a webpage (how does fundfoss.org sound?)
  2. Come up with the simplest possible data model that can be crowdsourced in a reasonably structured manner. It just needs to scale to 100s, not thousands.

The simplest solution I can think of so far would be to keep an exhaustive CSV or YAML doc that contains all information gathered about each company and their donations. We will invite company employees to come and make PRs to this data file.

The table would be a smart render based on the crowdsourced data-file, i.e. (1) dividing company donations by number of employees and (2) showing only the tier that number falls within. Ideally it’d also be able to rank based on highest actual

I imagine this is doable with just about any mature static site generator or minimal app, e.g. Jekyll, Gatsby or a tiny Ruby or Node.js app.

Publish as knowingly incomplete

I think the best way to move this forward is to follow the open source ethos and publish early and often. We just need to put this out there and get people talking about this, and also put some social pressure on ourselves by having a living thing out there that we’re responsible for.


#9

I thought of ‘verified’ in terms of communities that received the donation to verify that they received the funds.

Either way, the data model should contain the verification pedigree to be auditable by the community.


#10

Yeah there could be several types of verification, though I think employee counts are the most important numbers to verify since they determine what tier a company lands in, and public data on employee counts is always lacking.

Publicly disclosed donations, like we discussed in London, are so easy to fact-check that there’s very little incentive to misreport them.


#11

+1

The verifying employee could be required to include links to those public disclosures.


#12

Maybe that’s too much work for our MVP


#13

Hi @erlend_sh,

How about this one?
http://fundfoss.forcrowd.org/

I’m working on a backend service for quick prototyping:
https://backbone.forcrowd.org

It’s far from perfect, but if you can show enough resilience (…), you should be able to create data for your MVP. Then, if you call your project’s end-point, you can get the data in JSON format. This is the endpoint of your project.

I created an account for you, will PM the credentials.

And, also a basic Angular app to display the results, which is on Github. I can transfer the repo to you, so you can update the html in any way you like.

I’m sure you will have questions, we can discuss the details tomorrow.


#14

@coni2k, thanks for putting this prototype together.
How could I add entries?


#15

Hey @coni2k, holiday season kept me quite occupied :santa:

Thanks a bunch for putting a working prototype together! I played around with the backend editor and it seems easy enough. One downside to a dynamic API backend like this vs a GitHub-based static site renderer is that it’s a lot easier to crowdsource the data on GitHub by soliciting pull requests. In any case it’s great to see an example of how the data can be structured.

I see there’s no separate index for different years yet, e.g. 2018 vs 2019. Did you just not get around to it or is it extra challenging? I’m especially curious if it adds a lot of extra data entry. Ideally each company file would have its own sub-section for 2018 data, 2019 data etc.


#16

Hey @erlend_sh,

True, if you want to spread the work, handling it through Github PRs would be a much easier solution. In this one, single user should be entering the data through Backbone.

About 2018 ~ 19, I created a new element for “2019” data and created some records, also updated the front-end accordingly.
http://fundfoss.forcrowd.org

In the long run, this also wouldn’t be ideal, since we’re copying each “Organization” and their data per year now. So, it’s important to draw a line between prototype vs. actual app.

And of course, please don’t feel obliged to use it. Since I’m already trying to create prototypes with Backbone, when I saw your post, I wanted to give a quick shot. But I know that once you start developing an idea, it’s rather difficult to stop thinking on adding new features and how to make things better… :slight_smile: and this Backbone/custom app combination may not be highly extend-able solution.

Again, if you want to continue on the app part by yourself, I can transfer the repo to you.

Greetings!