[blog post] Towards a Rust foundation

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

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.

2 Likes

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, 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

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

15 Likes

We spent a lot of time in this space when setting up the Matrix.org Foundation last year. There may be stuff of interest in https://matrix.org/foundation/ and 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 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!

11 Likes

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.

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

6 Likes

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.

9 Likes

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.

7 Likes

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).

8 Likes

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.

3 Likes

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.

6 Likes

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.

10 Likes

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.

4 Likes

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.

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.

3 Likes

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.

3 Likes

seems isomorphic to

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

2 Likes

Grade functions on Hi-to-Low restrictive power?

  • run 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

The Swiss managed to stay neutral even in WWII :slight_smile:

1 Like

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 and 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 and to modify their DNS-servers to block the domain appel-au-people.org.28 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.

2 Likes

.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..)

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.)

8 Likes

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.

21 Likes