# \[blog post\] Towards a Rust foundation

**URL:** <https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601>\
**Category:** Uncategorized\
**Created:** [January 9, 2020, 5:36pm UTC](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601 "2020-01-09T17:36:21Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![nikomatsakis](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/nikomatsakis/32/5410_2.png) [@nikomatsakis](https://internals.rust-lang.org/u/nikomatsakis)\
**Post date:** [January 10, 2020, 1:32pm UTC](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601/21 "2020-01-10T13:32:45Z")

</div>

> [@gnzlbg](#):
>
> 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 ?

I don't know the answer, but that's an interesting question.

---

<div class="post-metadata">

**Author:** ![nikomatsakis](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/nikomatsakis/32/5410_2.png) [@nikomatsakis](https://internals.rust-lang.org/u/nikomatsakis)\
**Post date:** [January 10, 2020, 1:36pm UTC](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601/22 "2020-01-10T13:36:17Z")

</div>

> [@djc](#):
>
> 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.

Yes! There is obviously a lot of prior art here. I've been doing some reading into how other languages and projects manage and balance these problems. It'd be interesting to get good examples of projects to look into.

We did some initial work of this kind at the last Rust All Hands, as well -- I have to find the link though.

---

<div class="post-metadata">

**Author:** ![caniszczyk](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/caniszczyk/32/6433_2.png) [@caniszczyk](https://internals.rust-lang.org/u/caniszczyk)\
**Post date:** [January 10, 2020, 2:19pm UTC](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601/23 "2020-01-10T14:19:46Z")

</div>

I have a lot of experience in building open source foundations, from my time at Apache, Eclipse and the Linux Foundation, lots of pros and cons across different entities. I generally don't recommend standing up your own foundation from scratch unless you're extremely well funded. The Linux Foundation essentially offers "Foundation as a Service" for projects. It hosts a variety of projects and organizations, from [LetsEncrypt.org](http://LetsEncrypt.org), to Kubernetes (CNCF) to GraphQL to NodeJS (OpenJS) to the R Consortium and more. I created a presentation here not so long ago about the process/benefits: [https://www.slideshare.net/caniszczyk/bringing-an-open-source-project-to-the-linux-foundation-206551742](https://www.slideshare.net/caniszczyk/bringing-an-open-source-project-to-the-linux-foundation-206551742)

I'm happy to have a conversation if you ever wanted to chat more about the details.

---

<div class="post-metadata">

**Author:** ![ara4n](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/ara4n/32/6438_2.png) [@ara4n](https://internals.rust-lang.org/u/ara4n)\
**Post date:** [January 10, 2020, 3:51pm UTC](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601/24 "2020-01-10T15:51:00Z")

</div>

We spent a _lot_ of time in this space when setting up the [Matrix.org](http://Matrix.org) Foundation last year. There may be stuff of interest in [https://matrix.org/foundation/](https://matrix.org/foundation/) and [https://matrix.org/blog/2019/06/11/introducing-matrix-1-0-and-the-matrix-org-foundation/](https://matrix.org/blog/2019/06/11/introducing-matrix-1-0-and-the-matrix-org-foundation/) and [https://github.com/matrix-org/matrix-doc/blob/matthew/msc1779/proposals/1779-open-governance.md](https://github.com/matrix-org/matrix-doc/blob/matthew/msc1779/proposals/1779-open-governance.md) etc. Also, if you ended up doing it as a UK legal entity, we'd highly recommend Taylor Vinters as a tech-savvy non-profit-savvy law firm: we were able to send them our RFC-equivalent for the foundation's constitution and they were able to convert it into the official legal Articles for us, with barely any supervision required!

---

<div class="post-metadata">

**Author:** ![Centril](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/centril/32/3334_2.png) [@Centril](https://internals.rust-lang.org/u/Centril)\
**Post date:** [January 10, 2020, 9:03pm UTC](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601/25 "2020-01-10T21:03:27Z")

</div>

> [@gnzlbg](#):
>
> 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.

Basing yourself in the US is not just a matter of simpler procedures when it comes to donations. It's also about US illegally applying extraterritorial sanctions and whatnot, which can impact members from the sanctioned countries.

> [@gnzlbg](#):
>
> 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.

We should not be a part of whatever unethical tax-avoidance scheme companies want to run, imo.

---

<div class="post-metadata">

**Author:** ![gnzlbg](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/gnzlbg/32/3858_2.png) [@gnzlbg](https://internals.rust-lang.org/u/gnzlbg)\
**Post date:** [January 10, 2020, 9:48pm UTC](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601/26 "2020-01-10T21:48:58Z")

</div>

> [@Centril](#):
>
> Basing yourself in the US is not just a matter of simpler procedures when it comes to donations. It's also about US illegally applying extraterritorial sanctions and whatnot, which can impact members from the sanctioned countries.

And I'm sure it would be much simpler for Chinese or Iranian citizens if the foundation were based on their country and not in the US, in the same way that for me it would be simpler if it were based on Germany and not on Switzerland or somewhere else. The spectrum is complex, and choosing a location is going to be a compromise. I have no idea what the trade-offs are, but it is certainly not something reductible to a single factor.

> We should not be a part of whatever unethical tax-avoidance scheme companies want to run, imo.

A donation is a donation, and in most countries they are tax deductible. I don't see why it is more "ethical" to donate money than to donate CI resources, or why it would be "fair" for companies to get a tax deduction if they donate money, but not get it if they decide to donate something else like CI resources. That's just going to result in anybody donating money, which itself creates extra costs for the foundation to manage and spend that money.

If a company wants to "donate" a developer for a year to the Rust foundation, e.g., because the developer wants to do a 6 month sabbatical or similar and work on Rust, and the company want to support both the employer and Rust, I don't see what would be unethical about that as long as the developer only works for the foundation and not the company.

Such a donation should get the same advantages as donating money, CI services, food, books, etc.

---

<div class="post-metadata">

**Author:** ![josh](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/josh/32/5934_2.png) [@josh](https://internals.rust-lang.org/u/josh)\
**Post date:** [January 10, 2020, 9:58pm UTC](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601/27 "2020-01-10T21:58:27Z")

</div>

Donations of labor are slightly more complex, but yes, in general, "in-kind" donations are absolutely a thing. For instance, a company that provides server time can donate server time to the project, which may be much more efficient for them than donating money (assuming we want the server time they're offering).

As for jurisdiction, I fully expect that long-term we'll have more than one legal entity in more than one jurisdiction, both so that we can enter into legal agreements in those jurisdictions and so that people in those jurisdictions can make donations.

---

<div class="post-metadata">

**Author:** ![Centril](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/centril/32/3334_2.png) [@Centril](https://internals.rust-lang.org/u/Centril)\
**Post date:** [January 10, 2020, 11:40pm UTC](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601/28 "2020-01-10T23:40:09Z")

</div>

> [@gnzlbg](#):
>
> And I'm sure it would be much simpler for Chinese or Iranian citizens if the foundation were based on their country and not in the US, in the same way that for me it would be simpler if it were based on Germany and not on Switzerland or somewhere else. The spectrum is complex, and choosing a location is going to be a compromise. I have no idea what the trade-offs are, but it is certainly not something reductible to a single factor.

No one has suggested that it would be reducible to a single factor. No one suggested that the foundation would be based in Iran or China. What was suggested is that the foundation be based in a less extreme, and more neutral location than the US, for example some relatively neutral European country (doesn't have to be Germany, but it seemed like a good canidate).

---

<div class="post-metadata">

**Author:** ![josh](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/josh/32/5934_2.png) [@josh](https://internals.rust-lang.org/u/josh)\
**Post date:** [January 11, 2020, 12:13am UTC](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601/29 "2020-01-11T00:13:05Z")

</div>

Again, I expect there will eventually be _multiple_ such foundations, in different jurisdictions, to handle different needs. Some of those needs require a legal entity in the US. Some of those needs require a legal entity in Europe.

Are you complaining about the possible existence of a US-based Rust foundation at all, or are you asking for foundations to _also_ exist in other jurisdictions? The latter is absolutely part of the plan.

---

<div class="post-metadata">

**Author:** ![Centril](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/centril/32/3334_2.png) [@Centril](https://internals.rust-lang.org/u/Centril)\
**Post date:** [January 11, 2020, 12:21am UTC](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601/30 "2020-01-11T00:21:56Z")

</div>

> [@josh](#):
>
> Are you complaining about the possible existence of a US-based Rust foundation at all, or are you asking for foundations to _also_ exist in other jurisdictions? The latter is absolutely part of the plan.

The nexus of my "complaint" is that US foreign policy would create problems for people, including in teams. If those problems go away, then there is nothing to "complain" about. If such a foundation would not be subordinate to the US-based one and if people outside the US wouldn't have to deal with the US-based one, then that's all good with me.

---

<div class="post-metadata">

**Author:** ![gnzlbg](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/gnzlbg/32/3858_2.png) [@gnzlbg](https://internals.rust-lang.org/u/gnzlbg)\
**Post date:** [January 11, 2020, 10:09am UTC](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601/31 "2020-01-11T10:09:01Z")

</div>

> [@Centril](#):
>
> No one has suggested that it would be reducible to a single factor. No one suggested that the foundation would be based in Iran or China. What was suggested is that the foundation be based in a less extreme, and more neutral location than the US, for example some relatively neutral European country (doesn't have to be Germany, but it seemed like a good canidate).

I 100% agree with you that this particular property is very important and should be considered. I think that the only aspect in which we disagree, is that I do not consider this property a KO criterium, because there are probably dozens of equally relevant properties to consider, and that means that if a country does not fair well in one category, it might still be the best overall place to locate the foundation because it does much better in all others.

For your particular example, the US might still be the best place to locate a foundation, depending on which other also very important properties we might want to consider.

---

<div class="post-metadata">

**Author:** ![nikomatsakis](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/nikomatsakis/32/5410_2.png) [@nikomatsakis](https://internals.rust-lang.org/u/nikomatsakis)\
**Post date:** [January 11, 2020, 12:12pm UTC](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601/32 "2020-01-11T12:12:50Z")

</div>

I agree with @gnzlbg here, both that country of origin is an important consideration and that the choice is not simple. I would probably not go so far as @josh's comment implied -- I think having multiple foundations in different countries is a promising idea, but wouldn't necessarily be the first step, and it's not something I'd want to commit to at this stage. In any case, thanks @Centril for raising the point.

---

<div class="post-metadata">

**Author:** ![XAMPPRocky](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/xampprocky/32/6049_2.png) [@XAMPPRocky](https://internals.rust-lang.org/u/XAMPPRocky)\
**Post date:** [January 13, 2020, 12:16pm UTC](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601/33 "2020-01-13T12:16:15Z")

</div>

> [@gnzlbg](#):
>
> I 100% agree with you that this particular property is very important and should be considered. I think that the only aspect in which we disagree, is that I do not consider this property a KO criterium

Would you consider it KO if this discussion was the inverse and the Rust foundation was located in a country that would block US (or European) members from participating? I don't know how we're supposed to get to the point where we can say it's worth excluding a group of people's contributions for some theoretical benefit and not feel incredibly gross about it. If we want to have a community focused foundation we have to prioritise our members needs over better taxes.

> [@josh](#):
>
> Again, I expect there will eventually be _multiple_ such foundations, in different jurisdictions, to handle different needs. Some of those needs require a legal entity in the US. Some of those needs require a legal entity in Europe.
> 
> Are you complaining about the possible existence of a US-based Rust foundation at all, or are you asking for foundations to _also_ exist in other jurisdictions? The latter is absolutely part of the plan.

I don't share the same certainty. We're so far away from having a single _successful_ foundation, promising that there will be multiple successful and functional foundations that will fix this problem sounds to me like, kicking the can down the road, rather than trying to address the problem.

---

<div class="post-metadata">

**Author:** ![gnzlbg](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/gnzlbg/32/3858_2.png) [@gnzlbg](https://internals.rust-lang.org/u/gnzlbg)\
**Post date:** [January 13, 2020, 12:41pm UTC](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601/34 "2020-01-13T12:41:56Z")

</div>

> [@XAMPPRocky](#):
>
> Would you consider it KO if this discussion was the inverse and the Rust foundation was located in a country that would block US (or European) members from participating?

No. I'm not an expert, but for all I know there are no countries in the world that aren't problematic for somebody. If we make it a KO criterium, there are no countries that satisfy our constraints, and therefore we cannot have a foundation.

I'm not against trying to find a location that's best for most Rust users. I'm against requiring that the location must be equally-good for all Rust users, since with the knowledge I have (which isn't expert knowledge) I don't think such a location exists.

---

<div class="post-metadata">

**Author:** ![Tom-Phinney](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/tom-phinney/32/3299_2.png) [@Tom-Phinney](https://internals.rust-lang.org/u/Tom-Phinney)\
**Post date:** [January 13, 2020, 2:17pm UTC](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601/35 "2020-01-13T14:17:19Z")

</div>

> [@gnzlbg](#):
>
> equally-good for all Rust users

seems isomorphic to

> [@](#):
>
> equally-bad for all Rust users

A weighted assessment, weighted by the number of Rust users in each potential location, would at least be more fair in distributing the pain.

---

<div class="post-metadata">

**Author:** ![atagunov](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/atagunov/32/5877_2.png) [@atagunov](https://internals.rust-lang.org/u/atagunov)\
**Post date:** [January 13, 2020, 2:43pm UTC](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601/36 "2020-01-13T14:43:26Z")

</div>

Grade functions on Hi-to-Low restrictive power?

- run [creates.io](http://creates.io) (law can require to restrict access)
- run communication infrastructure (law could require to limit participation)
- own copyright like ASF/GNU (can law impose unwanted restrictions?.. GNU seems fine in US?)
- own trademark and logo (these probably won't restrict freedoms in countries under sanctions)
- collect and use donations (no impact on freedoms)

US jurisdiction seems less suited for functions higher on this list and more suited for those low

> [@gnzlbg](#):
>
> there are no countries in the world that aren't problematic for somebody

The Swiss managed to stay neutral even in WWII 🙂

---

<div class="post-metadata">

**Author:** ![gnzlbg](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/gnzlbg/32/3858_2.png) [@gnzlbg](https://internals.rust-lang.org/u/gnzlbg)\
**Post date:** [January 13, 2020, 5:30pm UTC](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601/37 "2020-01-13T17:30:16Z")

</div>

> The Swiss managed to stay neutral even in WWII

Switzerland might be one of the best overall places to place the foundation, but it isn't without drawbacks, e.g., [Internet censorship in Switzerland - Wikipedia](https://en.wikipedia.org/wiki/Internet_censorship_in_Switzerland) and [https://opennet.net/studies/europe2007:](https://opennet.net/studies/europe2007:)

> In December 2002 a local Swiss magistrate, Françoise Dessaux, ordered several Swiss ISPs to block access to three Web sites hosted in the United States that were strongly critical of Swiss courts,[27](https://opennet.net/studies/europe2007#footnote27_odrlna4) and to modify their DNS-servers to block the domain [appel-au-people.org](http://appel-au-people.org).[28](https://opennet.net/studies/europe2007#footnote28_dxgq4y2) The Swiss Internet User Group and the Swiss Network Operators Group protested that the blocks could easily be bypassed and that the move was contrary to the Swiss constitution, which guarantees “the right to receive information freely, to gather it from generally accessible sources and to disseminate it” to every person. However, there was strong enforcement, as the directors of noncompliant ISPs were asked to appear personally in court, failing which they faced charges of disobedience.

I don't know of a country in which things like these don't happen, but we probably need expert counsel to help choosing a country with the best protection for whatever goals the foundation ought to have.

If something like "All Rust users must be able to donate, access, ... the Rust foundation" is a constraint that rejects all countries, we can always reformulate it as something to aspire to, a goal, instead of a constraint, e.g., "All Rust users ought to be able to ..." instead.

---

<div class="post-metadata">

**Author:** ![atagunov](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/atagunov/32/5877_2.png) [@atagunov](https://internals.rust-lang.org/u/atagunov)\
**Post date:** [January 13, 2020, 6:06pm UTC](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601/38 "2020-01-13T18:06:40Z")

</div>

> [@gnzlbg](#):
>
> ... might be one of the best overall places

`.ch` `.se` `.de`.. for `crates.io`? .. didn't mean Switzerland in particular.. though surprisingly good it is, magistrate notwithstanding (probably not a big threat to Rust..)

---

<div class="post-metadata">

**Author:** ![josh](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/josh/32/5934_2.png) [@josh](https://internals.rust-lang.org/u/josh)\
**Post date:** [January 13, 2020, 6:16pm UTC](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601/39 "2020-01-13T18:16:39Z")

</div>

> [@XAMPPRocky](#):
>
> Would you consider it KO if this discussion was the inverse and the Rust foundation was located in a country that would block US (or European) members from participating?

I think people are equating "can't interact with the Rust Foundation" with "can't use/develop Rust". We don't have a Rust Foundation today. If we introduced a Rust Foundation in any given jurisdiction X, which could legally interact with people in all but a few specific other jurisdictions Y and Z, that would not _prevent_ people in jurisdictions Y and Z from doing anything they can do today.

(And it's also worth noting that it's _already_ difficult today for people in jurisdiction X and people in jurisdictions Y and Z to collaborate, or for people in jurisdictions Y and Z to use services hosted in jurisdiction X.)

---

<div class="post-metadata">

**Author:** ![mbrubeck](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/mbrubeck/32/174_2.png) [@mbrubeck](https://internals.rust-lang.org/u/mbrubeck)\
**Post date:** [January 13, 2020, 6:59pm UTC](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601/40 "2020-01-13T18:59:12Z")

</div>

Note that it's already the case _today_ that the Mozilla Foundation (which has sponsored Rust All-Hands, holds the trademarks for Rust, and is the copyright holder of Rust code written by Mozilla Corporation employees) is a US 501(c)(3) organization, though it has affiliated organizations in Europe and elsewhere. If this has not blocked you from participating in the Rust project, then moving some of these activities to a different 501(c)(3) should not block you either.

I believe that hosting our projects on US-based sites like GitHub has been a much larger barrier in practice than anything related to the foundation structure.

[Previous page](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601.md?page=1)

[Next page](https://internals.rust-lang.org/t/blog-post-towards-a-rust-foundation/11601.md?page=3)
