[blog post] Towards a Rust foundation

New blog post:

Towards a Rust foundation

Summary

In my #rust2020 blog post, I mentioned rather off-handedly that I think the time has come for us to talk about forming a Rust foundation. I wanted to come back to this topic and talk in more detail about what I think a Rust foundation might look like. And, since I don't claim to have the final answer to that question by any means, I'd also like to talk about how I think we should have this conversation going forward.

Hat tip

As the post notes, these (still early) ideas were jointly developed with @skade, @rylev, @josh, and @ag_dubs, along with @wycats and @tschneidereit.

28 Likes

First of all, thank you for writing this post, and for creating a good overview on the subject matter for people to get started with. I think the idea of having a Rust foundation is a good one, and will allow us to do all sorts of things to increase the reach of the project, as well as making it easier to compensate people who ought to be compensated.

I think there's a lot of problems to be solved, and in the spirit of accessibility and decentralisation of responsibilities, I feel that these are quite hard problems as well, precisely when it comes to legal tasks such as spending money or promising to spend money (sign contracts). At the same time, the problem of where to spend money feels like something that shouldn't be centralised in only a small group of people, or when to stop paying for something.

Either way, I'm excited about this getting some traction, and I'd also be interested in help bikeshed these problems as part of a project team when the time comes.

3 Likes

Why create a new organization? There is some overhead with setting all this up and there are already organizations out there that can serve as the legal entity behind open source projects. Rust could be a part of that. For example Software Freedom Conservancy is the legal entity behind git, Wine, QEMU, Selenium, etc. Such an umbrella organization seems to fit well with the “narrow role” outlined in the blog.

3 Likes

We're absolutely considering existing FOSS non-profit foundations. We need a legal entity for Rust, but that does not mean we need to create our own from scratch.

As the blog post mentions: "for example, should the Foundation be a 501(c)(3) (a non-profit, in other words) or not? Should we join an umbrella organization and – if so – which one?"

10 Likes

While I agree that we should be exploring other foundations. I think that the overhead for creating a 501(c)(3) in the U.S. is negligible now. There are websites that will do it for you.

I am assuming that Mozilla would be pitching in any of the necessary lawyer work to get started, and I would argue that they are experts in the field of foundations and their structure.

In addition, with its own foundation, Rust would be free to sponsor/run sub-projects (The WebAssembly initiative is an obvious one that comes no mind) I'm assuming OS/Embedded, IoT and others might be future targets.

1 Like

Having gone through this process (and eventually deciding on a different 501(c) type organisation) I can tell you with certainty that this is not at all negligble. For a 501(c)(3) there are very strict requirements on what kind of money you can receive, the amount of donors, the amount they donate, etc. If you don't meet the requirements the bookkeeping/tax filing burden is quite significant.

3 Likes

Creating one is easy. Maintaining one, meeting all the requirements, doing the accounting and tax filing, and defending the ongoing non-profit status, is not at all easy.

8 Likes

I don't know how many like these there are, but we just started a foundation in the Netherlands to help with the upcoming RustFest. If it helps, we could reuse this as a vehicle. I would be happy to help out with this (I'm currently the chairman of our foundation). We don't have full non-profit status at this time, but I think it might not be too hard here. That said, there might be advantages to keeping the foundation in the US as opposed to elsewhere.

It makes a lot of sense to me to go slow on funding development work. I think there are some interesting examples in seeing how the Python Software Foundation has managed those kinds of projects in the past.

2 Likes

Among other reasons, as the legal entity for things like EV codesigning certs. Would you trust a codesigning prompt for something like rustup that told you it's signed by the "Software Freedom Conservancy"? I think I'd personally prefer "Rust Foundation"

501(c)(6) may also be applicable, i.e. a trade organization (I think this may perhaps be the other type you're alluding to even?).

See Ruby Together as an example.

2 Likes

My understanding is that it's possible to have certificates in the name of a project underneath an umbrella foundation, but that's something we can check into.

Such an organization is not required to work for a public purpose, and donations would not be tax-deductible.

4 Likes

I think there are also major advantages to explicitly avoiding the US given this country's hostility towards others (e.g. Russia, ...) where team members live. A country with a more reasonable & neutral foreign policy would be preferable, e.g. Germany (and Rust already has infrastructure there to lean on). This is also relevant as it is my understanding that we explicitly do not want to have All Hands in the US.

28 Likes

Questions: (to be answered at some point)

  • Who would participate in the "board of directors"? The core team?

  • Would the trademark for "Rust" be transferred to this foundation? (Perhaps it should be transferred to the language team instead, at least if "Rust" refers to the spec, not the implementation.)

1 Like

Yes, but that's because I've heard of them already. I'm not sure what people who aren't super-familiar with the Linux world would think, but at least "software freedom conservancy" sounds professional.

Better than "Mozilla"; that name just sounds weird. Yet people are still willing to trust it.

I can't express my support for this enough. Also being "an USA language" may hinder Rust adoption in countries which perceive USA as a threat. Of course we also have LLVM which uses a 501(c)(3) nonprofit, so it's not that important of a factor, but I still think it's worth to keep it in mind.

7 Likes

100% agree, but it's worth noting that US entities/individuals don't get a tax deduction for donating to a non-US registered non-profit without going through a (super complicated) intermediary like a donor-advised fund.

This is an argument for joining a meta foundation, in my view, as many of the larger ones have already solved the logistical issues of registering in different tax jurisdictions whilst maintaining enough 'non-US" presence that they can operate with people and countries it's complicated to from the US.

6 Likes

Well, if trademarks are transferred they can't just be given to the language team, as it doesn't exist as a legal entity. I don't think it would be worth creating a separate "Rust Language Team" legal entity either: the process would not be trivial, and if the core team somehow has control of the Rust Foundation (as I think it should have) then there shouldn't be the need for the lang team to control the trademarks, as it's a team in the project with representation inside the core team.

8 Likes

I personally really like Niko's idea to strive for many kinds of sponsorships, and not having just the Rust Foundation being responsible for everything concerning the Rust project and its development.

I think we should aim for the Rust Foundation to be as lean as possible, just to solve the teams' issues that require a legal presence, such as:

  • Holding the trademarks, which are now owned by Mozilla
  • Registering the project's domains, which are now registered in the name of a core team member
  • Obtaining code signing certificates
  • Sign contracts on behalf of the project
  • Having a bank account that can be used to temporarily store money, such as the funding for the All Hands, or other programs like Increasing Rust's Reach. Funding for all of that should not come from generic donations to the Rust Foundation, but instead it should be collected by the people responsible for the initiatives (i.e. by looking for sponsors for that single event).

If we explicitly remove from the goals of the foundation raising donations for the whole project or paying people to work on Rust, we could remove a lot of politics from the equation and eventually prevent big donors (such as companies) from wanting influence in the decision making, as we would not seek big donations anyway.

17 Likes

Yes

3 Likes

100% agree, but it's worth noting that US entities/individuals don't get a tax deduction for donating to a non-US registered non-profit without going through a (super complicated) intermediary like a donor-advised fund.

Only the entities and individuals based on the country where the foundation is located are going to benefit from the potentially simpler procedures of donating to a local foundation.

Finding "the best" country to register a Rust "thing" (foundation, NGO, etc.) is probably a very complicated financial and legal engineering problem that will need to balance a lot of trade-offs.

For example, ISO is not a foundation, but an NGO based in Switzerland. And the "Standard C++ foundation" is a 501(c)(6) based in Washington. We should probably seek legal and financial advise from experts here.


@nikomatsakis Would it make more sense for the current Rust sponsors donating CI time, etc. to donate this services (instead of money) to the Rust foundation directly ? AFAIK companies can donate pretty much anything, not only money, e.g., some book editors have donated the copyright and material of some of their C++ books to the Standard C++ foundation, allowing it to provide these materials online for free.

I don't know if it might be more beneficial from a tax perspective for companies to have developers working on Rust by donating them to a Rust foundation.

5 Likes

Hope to help😄