Proposal for formalizing the the FOSS grants and funding program

We had a discussion earlier this week about the FOSS grants program (@rushabh @wisharya @mriya11 @realvinay and I). @rushabh raised some important points, which everyone agreed with:

  • The grants and funding program needs a formal structure overall.
  • The sourcing of funds needs to be transparent and the process of sourcing funds well defined.
  • It is meaningful for FOSS United to act as an umbrella org like the Apache foundation to host and support FOSS related projects, act like a “medium” to source funds (for orgs who are interested in funding FOSS but do not have a framework, time, or capacity) and distribute to FOSS projects.
  • The “co-sponsorship” program needs to be formalized.
  • A public committee should be formed to run this program and to take all funding and grant decisions.

State of grants and funding

All grants that have been given out via FOSS United (its own funds from its bank account) and via co-sponsorship are published here: FOSS funding and grants - FOSS United. In the last two years, we have been able to support some amazing FOSS and FOSS-related projects and orgs in India, which clearly validates the necessity of such a program.

  • FOSS United’s own funds were general funds not specifically raised for grants, but events, sponsorships etc. This includes funds from the two current patron organisations Frappe and Zerodha and from funds that came for event sponsorships like IndiaFOSS from multiple orgs.

  • Co-sponsored grants have so far been funded by my personal commitment from Zerodha. The funds were disbursed directly by Zerodha to the grantees after evaluation and approval by the FOSS United team. Ongoing evaluation and any other organisational support are done by FOSS United (eg: ongoing partnership between TinkerHub and FOSS United. FOSS programs for learners, mon.school etc). Co-sponsorship (or a managed grant) is when a funder directly funds a project on behalf of an org that manages it (FOSS United in this case).

A quasi Apache Foundation like model is naturally emerging because there seems to be an obvious vacuum in this space. An organisation/institutional framework seems to be valuable to many FOSS related projects and activities. For example, FOSS United is the official partner to DebConf 2023 to help them with handling and disbursing of funds for the event.

What next?

The grants program has picked up steam and we’re seeing reasonably regular incoming interest. This is a great sign! So far, the FOSS United team has been processing/evaluating/approving grants. The ideal next step is to create a proper grants committee with members from the FOSS United and the community who operate with well defined guidelines for decision making and management of grants. @rushabh stresses that the community should have ownership of the grants program and its funding activities also, not just projects and events. Just like how all of the FOSS United events are volunteer/community owned and run, the funding and grants program should also be. I agree.

External funding and co-sponsorship especially needs a formal structure. Suggestions:

  • Invite orgs (or funders) to commit FOSS grant funds to FOSS United which the grants committee evaluates and approves or rejects based on the formal guidelines.
  • Allow funders flexibility on how how their funds can be used, as long as it fits with the formal guidelines and the committee approves. For instance, some funders might want to fund a specific FOSS project, or a set of FOSS projects. Some funders might only want to fund events or scholarships etc. I think such flexibility can attract more funders.
  • Have a formal agreement process between FOSS United and the funder or co-sponsor.
  • Utilisation and disbursal of committed funds from the co-sponsor organisation will be handled by the grants committee.
  • The FOSS United board, which is legally liable for everything, will naturally have a veto to be exercised if such a necessity arises, as always, with clear, objective reasoning.

PS: Retaining unused funds in a non-profit’s bank account across financial years attracts taxation and increased compliance burden. A co-sponsorship structure can also help with this, where the funds that may not be immediately utilised does not have to be transferred to the non-profit for safe keeping (which is an added obligation in itself).

Like the community membership program attempt that’s happening in parallel, this also requires time commitment and strong accountability (obviously, as this involves money). Personally, I’ve spent significant amounts of time over the last couple of years interviewing grantees and evaluating projects, dealing with finance and compliance etc., trying to grow the grants and funding program with the help of the FOSS United team, especially @wisharya. More recently @realvinay has committed time to lead this effort and build a structure around it, including forming this committee and preparing the decision making and compliance/legal guidelines.

Please share your feedback on the proposal. If you are interested in being a part of the funding and grants committee and are ready to commit time, please let us know.

Cheers!

12 Likes

Hey @knadh , I’m interested in being a part of this effort.

I’m not too familiar with the Apache Foundation but I have seen the impact that NumFocus has had on the Scientific Python ecosystem. Something that might be relevant to this effort is the NumFocus Sponsored Projects vs Affiliated Projects.

2 Likes

Some thoughts on organisations / projects we should fund:

  1. There project must be working and usable.
  2. There should be a descriptive README and documentation
  3. There must be some prior traction with initial users and community
  4. The project should be “accessible” - easy to install, deploy and use
  5. Ideally the fund requirement should be for 1 developer (The thought is that great projects are made by people trying to fix their own problems rather than people working because of access to funding. These projects are more likely to sustain and also have more passionate engineers working for them)
  6. The recipient should send a monthly report (ideally in the form of a public blog post - which will also help the project to get more traction - #buildinpublic)
  7. The committee should regularly review the projects (maybe once a quarter) to ensure quality and learning and maintain a standard for the FOSS United brand.
  8. For co-sponsored projects, we need to also look at multi-year milestones and understand expectations from both donors and recipients

This makes sense for GitHub/Git/code centric grants which are easy to quantify and quality check.

We’ve to define a framework for strategic meta/community/research etc. grants that are hard to quantify unlike code.

I recently read the 7-year old but still relevant Roads and Bridges report by Nadia Eghbal. Most of my comments below are based on my reading of that report and other knowledge of how NumFocus seems to work.

Like what NumFocus does, FOSS United can choose to fund an entire org/project. Or, FOSS United can choose to give Small Development Grants to implement a specific feature. The usecase here is - The maintenance costs of the project are very low but because of changes in the tech landscape, the package risks becoming out-of-date if they don’t implement feature X, that adds value to end users. The cost of adding the feature X is a one-time cost that provides a lot of value.

Along with supporting “established” projects, is there interest in “incubating” or “be an accelerator” to new projects? I don’t have data to back this up but I feel like a number of projects are abandoned at the ideation or V0 phase because the maintainers realize that it is not financially feasible to build a project without full time support.

Can you give examples of what you mean by “meta” grants or “community” grants? Do you mean grants to build a community? I live in Python land and one recent example that comes to mind is Sumana Harihareswara who did work to improve Pip/PyPI. Is that related to what you had in mind for meta/community grants?

Another question I had is - what does FOSS United provide to an interested organization/project. Along with fiscal support, do FOSS United/grants and funding program members aid the project maintainer by providing them technical/non-technical guidance? Are they meant to be available to the maintainers for help once they are accepted?

Additionally, along with supporting orgs/projects, do we want to support individuals who are interested in working on FOSS full time and would like to be funded by FOSS United? The individual might submit a “grant” to FOSS United, requesting X funds to work on project Y full time for Z amount of time. If accepted, they will be expected to deliver monthly reports, or whatever is expected of orgs/projects funded directly. Enabling this might help existing FOSS projects to grow a diverse contributor base.

FOSS is not just code pushed to git. FOSS, like many other things, is a large ecosystem which involves communities and people, design, research, data, legal/policy work (licenses, the most fundamental building block of FOSS, are legal works). IFF for example isn’t a FOSS project, but an organisation that engages in tech/data policy and legal work that has strong ramifications for FOSS. Similarly, TinkerSpace is not a FOSS project, but a physical hackerspace for FOSS learning, mentoring and community building.

This would be an ideal outcome! The need for tech volunteering in the social development sector - #65 by Shubham_Gupta is an attempt at this for building a support network for FOSS projects in the social development sector.

Absolutely. A FOSS grant/fellowship program is essential in my view. A significant majority of great FOSS projects start out as individual hobby or side projects. We have in fact given out multiple grants to idie FOSS developers with promising side projects in the past.

2 Likes

Even early stage projects need to be working and with documentation! We have funded a few of them like SkytableDB and AdonisJS. I think this is an “ideal” project to fund!

Seems we can’t ever rest the code vs community debate :sweat_smile:

I just hope we don’t bend too much on the side of “community” only projects. IMO the code brings the mass, while community brings volume. Without mass, it would be just empty volume!

Never, because they are not mutually exclusive :smiley:

Yep, and without humans to use and utilise, there’s no value in code!

Key is of course a pragmatic approach, a decent balance, like with everything else.

2 Likes

Should we say that code projects should be at least 50% of the funding? My hunch is we are likely to fund more on the community side (events / policy etc)

Brief thoughts and lots of questions that I’ve been gathering in my head regarding this topic.

Before a person/project gets funded

Questions

  • https://fossunited.org/grants lists a few individual developers and projects, along with organizations that were funded in the past. How did these developers/projects know about FOSS United and the grants/funding program?

FOSS United should actively make Indian developers aware that they/their project can get funding. Given the number of events that FOSS United sponsors and the geographically distributed nature of such events, FOSS United has a great opportunity to make developers across India that they can sustainably work on FOSS. Another avenue to raise awareness is by sponsoring events organized by other FOSS-communities in India. For example, SciPy India is an annual conference organized by FOSSEE on the Scientific Python ecosystem. Sponsoring such an event gives us access to a different set of developers, developers who are familiar with FOSS but might not be aware of FOSS United.

When a person/project applies for funding

Questions

  • How many grant applications have been evaluated so far?
  • How were the grant applications evaluated so far?
  • Have any grant applications been rejected before?
  • Is there a Rupee limit to how much a single person/project can be granted?
  • For the near future, is the plan to have a single “committee” evaluate all grant applications i.e. both code-centric and meta/commuity/research-centric grants?
  • What criterion are used to evaluate potential “grants committee” members? For people with coding experience, should they have a FOSS background? Should they be FOSS contributors/maintainers themselves? Should they have experience building/maintaining a community?
  • Will the funding/grant decisions be taken in an open manner i.e. will the meeting minutes for the grants committee be published or will the applicant simply get an opaque yes/no?

Putting together a strong grant application is not a trivial task. Languages like Python (via the Python Software Foundation) hired full-time professionals with prior experience to handle the task of putting together grant applications that contain enough context for a non-profit to make a funding decision. As the community of projects maintained by FOSS United grows, it would be amazing if some of the currently funded grantees can volunteer to help projects/people interested with putting together a meaningful grant application. Interested people/projects can reach out to the FOSS United grants committee for help and we ca redirect the request to any available existing grantee.

After a person/project gets funding

Questions

  • What does FOSS United expect from the person/project immediately after funding? Are they expected to publicly report/advertise the fact that they are recipients of a grant from FOSS United?
  • How do the existing people/projects report usage of funding? Do they send quarterly/half-yearly/yearly reports detailing how the funds were used? How is impact of the funding measured?
  • How are they expected to interact with the FOSS United community?
  • What do the people/projects expect from FOSS United beyond financial help? Do they seek technical guidance? Guidance on building/maintaining a community? Do they want FOSS United to promote the sponsored projects within the community e.g. at events sponsored by FOSS United?

FOSS United is a non-profit foundation that aims at promoting and strengthening the Free and Open Source Software (FOSS) ecosystem in India.

Who FOSS United chooses to fund (or not fund) is important because they are a public signal of what FOSS United believes in. It falls on the grants team to ensure that the people/projects FOSS United funds are good citizens of the FOSS universe. The people that are on the grants committee (and who is not) are just as important indicators of what FOSS United believes in.

I don’t know if this should be a concern from the very beginning but it is important to ask how long each committee member is expected to serve in the grants committee. It feels prudent to ensure that people are not allowed to spend more than a few years on the committee.

Similarly, on the people/project side, do we want to continue funding the same people/project every year, year after year? Or do we want to ensure that they have additional sources of funding e.g. through co-sponsorship program after an year or two of fiscal support from FOSS United? Co-sponsorship is in my opinion/understanding a brilliant public signal that indicates that a person/project has direct impact on the industry and are now directly supported by a co-sponsor.

A few are from IndiaOS 2020, a few from FOSS Hack, and a few, I’d personally researched, found, and connected. Thankfully, after ~3 years, grants program seems to have gotten to a stage where people are hearing of it and are applying. The first couple of years, we were getting maybe one grant application every six months!

I’ve seen @wisharya talk about our grants program at every meetup and event.

@wisharya can you share the numbers from the grant application list?

Look at the FOSS project and evaluate its quality. Interview the applicants. For non-code projects, same, look at the activity/projects, people. Just like any other evaluation/selection framework.

The formal grants committee should figure this out. Will depend on answering the questions I raised in the original post. How to raise funding? How much? Do we do co-sponsored grants? etc.

We should figure out on this thread. Ideal committee = an eclectic group of people who can comment on various aspects of a project from different perspectives. Code/project, product, community, societal impact etc.

We want this committee to be formed of community members and all grants evaluated transparently, which is why the proposal for formalizing and structuring the grants program in the first place! :slight_smile:

Yes. Projects do a simple “supported by FOSS United” badge or label. This is essential to spread the word about the grants program.

We haven’t done this formally yet for small grants. We can come up with a simple process that doesn’t burden the grantee. For large grants (like TinkerHub, which was co-sponsored by Zerodha), the org sends utilisation certificates, annual reports etc. This is standard practice.

We can’t force people to interact a certain way, and certainly not with a specific community, say the FOSS United community. We can (and probably should) mandate sharing periodic updates on the forum which many open up for community interactions.

Depends. A little bit of everything. However, none of the grantees have expected any promotion at FOSS United events, and we haven’t promoted any grantees at any of the events or avenues ourselves just because we’ve funded them.

Correct. Personally, I’ve been happy with how the current grantee pool has turned out. It’s a diverse mix. From a school going developer to community orgs to a JS project to an indie open hardware project!

Correct. This is the peril of every committee every, since the beginning of time! :slight_smile: What we can do is try and create a strong institutional framework/culture and hope that it lasts as people change.

We should figure this out. I am also of the opinion that industry co-sponsorship is a good way to get funds from the industry into the FOSS ecosystem (an Apache/CNCF-like model) where the utilisation of funds and projects are run by a community group under a (non-profit) org.

2 Likes

So far we have received 34 applications (27 through the application on the website + 7 before the application was opened). Out of these, we have funded 11 of them (including the co-sponsored ones).

P.S: There are projects/orgs that have received grants multiple times like TinkerHub, and Skytable.

@rahulporuri

1 Like