Concept Note B - New ODK Nonprofit with Paid Staff

CONCEPT B - New ODK Nonprofit with Paid Staff

This topic is for discussing people's thoughts on Concept Note B. For more information or to take the online survey, please refer to general Exploratory Concept Notes topic.

The source PDF for this note can be found here.

B. OVERVIEW

This note proposes establishing a new nonprofit dedicated to maintaining and improving ODK, with on- staff paid developers, managers, etc. It would have Technical Steering Committees for each ODK project/component, allowing for direct input into ODK’s direction from industry, users, and funding agencies via an Advisory Committee, and would raise funds for feature development, maintenance, or even cleaning and contributing back a fork’s existing feature additions/customizations.

B.1. STRUCTURE

A new 501(c)3 nonprofit will be established to own ODK IP and oversee the project. Because getting non-profit certification can take some time (up to 12 months, possibly even longer), ODK could find a fiscal sponsor (this could be a software foundation as in Note A or some other sponsor) as an intermediate transition step. The nonprofit will have a Board of Directors responsible for legal and fiscal authority, which will provide high level direction and work to sustain the organization (similar to the top- level role of the current ODK PMC). This note also envisions establishment of an Advisory Committee to represent the overall interests of the entire ODK community (it should have representation including end-users, implementers, funders, and developers). Technical Steering Committees (TSCs) would be established for each of the ODK projects (e.g. Aggregate, JavaRosa, ODK 2.0, Collect, etc.).

There would be up to approximately 10 internal staff, consisting primarily of developers but also some staff serving in project management/administrative/community management/fundraising roles. Staff developers would work on both maintenance and feature development.

B.2. GOVERNANCE

Oversight and ultimate authority is provided by a Board of Directors; the board elects officers (Chairperson and/or President, Secretary, Treasurer). For this note, the nonprofit would follow a self- perpetuating board model that sets the rules for electing directors, votes on replacement/removal, etc. (Alternatives are possible, of course, including direct election of board members by some definition of voting-level “community” members.) The board is responsible for high-level operations and directing the foundation towards ODK’s mission goals (e.g. sustainability, stability, openness). Individual ODK Project TSCs would be populated by key contributors, determined by current PMC and community input. These would consist of a mix of both ODK paid staff and outside contributors.

The Advisory Committee (AC) membership will be determined by the current PMC and the Board of Directors; members serve 1-year terms after which they can be reappointed or removed. Some seats on the AC could also be populated via other means, such as nomination/election of 1 or more AC members by the ODK community, and/or paid annual membership for automatic seats (restricted to no more than one member from the same company/organization).

B.3. TECHNICAL ROADMAP

Each ODK Project’s TSC is responsible for proposing periodically updated (e.g. once per year) roadmaps for their projects, based on input from community and the AC. The AC must then vote to approve the roadmaps; if it does not it sends feedback to TSC and the TSC modifies for re-consideration. Ideally this should be rare given the original input from the AC. If a consensus between a TSC and the AC cannot be reached on a roadmap, the Board of Directors steps in to give instruction or make a final decision (again ideally this should be exceedingly rare).

B.4. FUNDING

A high number of paid developers and operational staff requires a high level of funding commitment. Therefore, funding would be sought from multiple sources:

  • Endowment (ideal but least likely)
  • Government/NGO/other foundation grants (similar to what has sustained effort at UW thus far).
  • Paid AC seats / Paid website placement for implementers (website placement comes with an AC seat). Prices TBD.
  • Pay-for-feature development (or integration of existing forks’ features).
  • Individual donations always welcome

Additionally, the foundation will need to seek start-up funding from existing organizations, foundations, etc. Depending on the success of the above, it may well need to grow slowly over time, with limited foundation-based development/maintenance activities to start.

In addition, if the above is not enough to cover the funding needs additional revenue models may need to be considered (which may create tension with existing ODK vertical companies providing them):

  • Software as a Service (e.g. Aggregate cloud instances).
  • Commercial licensing, for example through a small percentage fee based on commercial ODK companies’ users. This could also be “voluntary”, or required for deployments over size X, but it would at least result in the foundation providing an invoicing so it can be worked into other contracts, grants, etc.
  • Consulting services (beyond pay-for-feature development): training, planning, survey development and management, infrastructure deployment.

B.5. COMMUNITY FEEDBACK

As with Note A, the foundation should regularly solicit feedback from the overall community (e.g. regular votes on possible features, roadmap directions, regular publication of roadmaps, submitting feature requests, etc.). In addition to those avenues, non-developer members of the community can also provide directly influencing feedback via election of AC member(s), who approve the TSCs’ Roadmaps. Similarly, NGOs and implementers / companies can provide directly-influencing feedback via (possibly paid) AC membership.

If ODK was to go with this option I'd like to see this plan written out over multiple years. It feels a bit weird to say 'and we'd have 10 paid staff" when there are ways to start smaller. I realize this doesn't mean hiring everyone at once. Perhaps it is a combination of starting with part-time or contract work and growing later. Many possible sources of funding are going to take over a year to lock down, so an intermediary plan would certainly be necessary.

Figuring out the relationship between existing for profit companies and the foundation would be key as well. Would some of them cease to exist and their staff begin working for the foundation? How would hiring be done in an equitable way?

2 Likes

I would add that folks funding a staffing plan are going to want to see some evidence of "return" on that funding. Starting big would take a lot more risk from those funders, so I'd imagine there to be much more comfort with a phased approach as well.

It's not clear to me why this is functionally different than a for-profit.

I mean, you can have a for-profit that is dedicated to maintaining and improving ODK. Said for-profit could have a board of directories, manage staff, apply for grants, charge for features, get community feedback, etc. So what is it about a non-profit that is a value add?

@yanokwa the idea is that this hypothetical non-profit would be able to receive tax-deductible donations tax-free, right?

That said, there are a LOT of nonprofits in the world, each with its own managerial overhead, and I'm not convinced that creating yet another one would present much value to the project and the world when compared to operating within an existing one (concept A) or operating without a formal fiscal structure (concept F).

Anecdotally, while at OSCON, I spoke to some members of the open source team at a large, respected company and they very emphatically hoped that ODK would not create yet another non-profit.

1 Like

Non-profits (501c3 and 502c6) also have this problem of in the past being rejected by the IRS if the goal is to collaboratively develop new software. It's not impossible, but it's not easy to do.

There is a good write-up here: https://www.techdirt.com/articles/20130625/10421723613/irs-tareted-open-source-groups-seeking-non-profit-status.shtml

Having lived through the difficult times of IRS exempt applications in the 2010-ish timeframe, it can be very difficult. Those that made it through that challenging time seemed to have clear cases of scientific, technical, & educational charitable causes that overshadowed the software production itself.

That said, I do believe things have lightened up a little bit and IRS put in some "fast track" application processes designed to speed up the application process with less scrutiny. But I haven't heard a lot of reports lately with any definitive feedback either way.

The rejections seems to be less often and the approval much faster now. The reason I would suggest a non-profit vs. a for profit if we were going down that route is the availability of grants. There are simply grants not available to for-profits that we would potentially want to go after.

Perhaps it makes sense to divide the question into:

  1. Should we create an org?
  2. Should it be for-profit or non-profit?

I'm not decided on question 1, but if the answer is yes I would advocate for non-profit.

Question: Would a "nonprofit" here possibly include a structure like a United States benefit corporation? (Essentially a for-profit corporation but with a social missions.) Even if it did, I'm not sure whether or not a B-Corp could qualify for some of those restricted grants that @wonderchook mentions, so probably good to consider that restriction.

I would see the Benefit Corporation more under the concept note about a for-profit org taking over. At least it wouldn't be available for grants that require 501c3 status.

Another thing I've been mulling over is I've been working under the assumption of US incorporation. Is there reason to incorporate elsewhere? For example there is EU funding that can only go to EU orgs. Though it is possible in these cases to utilize a fiscal sponsor or dual incorporate at a time where it is needed.

I don't know the status of EU or country-specific laws, but many countries require corporations to have boards or officers physically located in the country of incorporation. Sometimes this can be a paid agent, but not always. (YMMV!)

Yes, there are several open source/free software fiscal sponsors set up in the EU. Software Freedom Conservancy (US based) has a subsidiary organization in France to accept European donations. (I don't recall the specifics.) Also, in some cases, it may possible to be affiliated with multiple fiscal sponsors, depending on their agreements, in order to "extend global presence". Simon Phipps gave a nice presentation on the EU "umbrella orgs" and fiscal sponsors recently:

https://www.slideshare.net/SFScon/open-source-umbrellas-for-europe

I reached possible EU incorporation a while ago. There are places where nobody has to be a resident though I guess I got us ahead of ourselves anyway!

Are you able to expand on this at all? Was the reason external (e.g. based on observed lack of success of non-profits formed to manage open source projects)? Or internal (e.g. based on their desire to reduce the number of non-profits their team has to engage with)?

I don't want to speak for @LN, and she may have other thoughts to add, but I also have spoken with some of the same people. I have heard many of them encourage open source software maintainers to not become "distracted" by the significant overhead of running & maintaining a non profit/charitable corporation. I often hear that it's rarely a skill that open source people have already, and given the relatively low costs of having others do the same type of "management" work through other organizational relationships, it saves one's energy to focus on what they love most, building good software.

The ODK project seems different from some OS projects in that there is a large user base that is very removed from the developer base. And vice versa. There are a lot of people in the humanitarian and development sector that don't understand the technical side of software development but do understand the needs in the field and also have a better understanding of running/maintaining a nonprofit. This option seems like a good way to give that part of the user community a better way to engage/support/join the project. A way to bring together the open source tech people and the non-profit user base that can't write code but has other skillsets and knowledge to contribute.

1 Like

I would say @downey captured the general sentiment! There are a lot of project-specific nonprofits out there and it's not clear that being independent identities provides a lot of benefit on top of less formal or shared structures.

There are so many ODK-specific ways that non-technical community members can contribute to the overall health and effectiveness of the project which to me seem higher-value than running a legal entity just for ODK. :blush: I'd be open to arguments to the contrary, though!

Examples of those contributions include translations (145+ fantastic contributors), describing and specifying new functionality, beta testing, community support or helping shape the docs project.

If you have other suggestions for other roles that non-technical community members could take on, how the developer community can more effectively connect with everyone or if you want to take on more leadership in the project, I highly encourage you to start a new thread in the Community category.

Excellent points. "Better" was a poor choice of word on my part. Perhaps just noting that the skillset (running a legal entity) is likely present within the community of people who would hopefully be willing to contribute time and energy.

Do you see a difference in the concept notes as to how the contributions of non-technical community members might be (dis/en)couraged? For example, do you think people would be less likely to translate if the project was under a for-profit company?

1 Like

You're absolutely right that there is so much fantastic expertise in the community! I hope that we can keep putting in better and better structures and processes for everyone to contribute and be recognized for their contributions.

In my experience with open source projects, those kinds of processes and structures are what best predict quality and quantity of contributions. I've seen projects housed in nonprofits, in companies or without structure that are hostile to contributions. Similarly, projects of any structure can have vibrant, effective communities. At the end of the day, I think individual contributions (both paid and volunteer) and the processes that enable them and allow them to be fun, fulfilling experiences are what matter most!

What does having a project-specific nonprofit achieve that joining an existing organization doesn't?

I argue very little - as long as the organization you join uses modern financial systems, gives your project maximum autonomy, and is committed to providing you the services you need in an efficient, timely and transparent fashion.

At Sahana, we have a nonprofit that currently houses one open source software project and "research and action" program that implements our open source software and other technologies to solve real world problems.

Starting and maintaining any nonprofit organization is costly. Aside from getting the initial 501.c.3 status, you then have to build and maintain an active and official board with members who don't have conflicts of interest, file taxes, pay for insurance, maintain a few compliance that help secure contracts, occasionally work with a lawyer, move money, sign things, etc.

Maintaining that infrastructure takes dedicated administrative time/money. But once such a system is set up, the marginal cost of performing additional tasks of these types is very low.

That's why we're interested in bringing more open source projects into our organization. That way we can share the cost of administrative services, accounting, insurance, compliance, etc while also expanding our communities of technologists, developers and humanitarian professionals.

More about our organization and offer to ODK here: Concept Note A - Join an Existing Foundation - #10 by devinbalkind