Mastodon project governance


#1

Has there been any discussion about moving the Mastodon project to a more formal governance model? For instance, joining something like the Apache Software Foundation, OpenCollective, the JS Foundation, etc.? I checked the GitHub issues but didn’t see anything about this. I also noticed we don’t have a CODE_OF_CONDUCT.md or GOVERNING.md (e.g. see Node’s community repo for what this might look like).

The benefits of setting up a formal governance model would include things like:

  • transparency
  • avoiding maintainer burnout
  • attracting and retaining new contributors
  • promoting a fair and sustainable funding model
  • etc.

For a good overview of the benefits of a governance model, I’d recommend Mikeal Rogers on Participatory Governance in Open Source and Roads and Bridges by Nadia Eghbal. I can’t claim to be an expert in this stuff, but it’s becoming a fairly widely-acknowledged best practice among most other OSS maintainers I talk to.


#2

I’m very interested in this.

@Gargron ?


#3

I’m personally against Code of Conduct. We’ve seen multiple times that they are a tool to discriminate and attack people than protecting. Open Sources projects have been without one for decades and we are all mature human beings.


#4

I’m suspicious about the ability for a formal code of conduct or general project governance to represent all of the stakeholders in Mastodon. These sort of things tend to suffer huge amounts of mission creep and slow down the whole project.

I personally really take the lessons from the Cathedral and the Bazaar to heart.


#5

I think it would be very useful to do some light formalizing; at least in some manner that describes the current process for new people and to keep it pseudo-consistent.

It could reduce some conflicts that have arisen if we’ve formalized things like “PRs are always closed with a comment explaining why” rather than having feuds over how something should happen.

Not entirely sure if we’re ready for a fully governance structure or bylaws since we’re just getting in the hang of having Two Employees rather than one. I imagine that when the day comes that the Mastodon Projects ends up having to become a proper non-profit organization that then that will require bylaw drafting.


#6

I think it’s important to establish a formal governance structure, even a light one to begin with. I understand the concern of getting bogged down in decision by committee. I think we can handle this by outlining who the decision makers are and by what principles they make these decisions. It will also help people suggesting features know what might be considered and what won’t.


#7

I don’t think Mastodon is a “project”, it’s more a “network”.

The only part that is closed to being the “project” is the tootsuite software development. I like that @maloki describes her role as “Mastodon Social project manager”, referring possibly to that specific instance.

Obviously decisions taken by the developers of the tootsuite will affect administrators following that particular repository. So a minimal description would be something like

A group to coordinate steering of the future directions of the tootsuite mastodon software, involving the software developers, contributors, instance users and administrators and users of other network instances running that software


#8

No, Mastodon is the software, and I am the project manager of the project building the software.
Then mastodon.social is also the instance which Gargron hosts which is used to show off how it works, so future instance owners can decide if they want to host their own or not. m.s is also within my field of work.

Back on topic: It is on my to-do list for the next two weeks to research and discuss the possibilities of making a Mastodon Foundation, or similar.

So, any feedback and or useful links on this topic would be greatly appreciated.
We’d likely register it from Germany first hand, as Gargron resides there, and also register branches(or whatever terminology) in other countries if it would allow us to bring in other venues of support (grants etc.).

Edit: Also, I kinda want to apologize for not responding to this thread earlier, but it definitely got lost in everything from the past few weeks, with my own studies and stuff going on.
Edit2: Removed ‘Social’ from ‘Mastodon Social’ so it says, now correctly, only ‘Mastodon’


#9

I was involved in a Europe-wide association for a few years and it seems that having a registered association (e.V.) in Germany should be enough at least for venues of support across Europe. It’s also a tidy bit of bureaucracy of course so one might want to avoid duplicating that work with additional registered associations in other countries, if possible.


#10

Maybe you can get in touch with some people who are involved in running the CCC, Wikimedia Deutschland or any of the other existing associations with related goals? I think it would really be useful to have someone who has been there before to help you navigate through what is needed and the bureaucracy involved. (Maybe a call for help on Mastodon could also unearth someone like this?)


#11

Good point.
I feel like the start here is a good one, and a call for someone will be done when I feel like there’s time and energy to properly deal with it. Kinda pointless to get someone else on board to help you if you can’t actually work together with them to reach the goal.

So, to move this process forward, I will take time to read through the suggestions and the links already provided in this thread.

If anyone has any other info they can help provide us with in regards to creating an organization of this type (these types) please add them to the discussion. I realize that “I can just google it myself”, however, if any of you already know good sources, that saves me a lot of time which I spend on other work related things, and I want to say thank you in advance.

As in regards to governance, I will be revisting my initial draft for the vision statement, which should provide some groundwork for answering questions like


#12

Unfortunately I don’t have any good references (especially not in English) and I know more about Swiss law than German law, anyways. However maybe some questions to keep in mind that need to be answered for such a project:

Disclaimer

Big disclaimer at the top: IANAL and this is not legal advice. At some point on this route you will need to get in touch with a specialist.

a) Legal form of the entity

The legal form influences what you can or cannot do with the entity. Basic options are:

i) A company (UG, GmbH, AG etc.)
Advantages: You own it and can do whatever you want with it. Maximum flexibility.
Disadvantages: Cannot be charitable (except “gemeinnützige GmbH”, see below), so you have to pay taxes and it might be more difficult to attract donors to donate to a company. For GmbH and especially AG you need to bring quite a bit of cash for incorporation. Legal / accounting costs are probably higher than with an “e.V.”.

ii) "Gemeinnützige GmbH"
A charitable company, pretty new possibility under German law, I don’t know anything about it but it might be worth researching a bit further.

iii) An association (“eingetragener Verein”, “e.V.”)
Advantages: Relatively easy to set-up (there are millions of them in Germany, so it can’t be that hard! ;)), can be charitable (if it satisfies the requirements, also see below), can have “members” which share the project’s goals.
Disadvantages: You do not “own” it, its members decide its fate. Depending on how broad the membership is, they can fire you and Gargron and you can’t do anything about it.

iv) A foundation (“Stiftung”)
In its most general form, a foundation is a bag of money with a purpose you have given it and some humans working for it that use that money to achieve that purpose. In practice, foundation law differs widely between countries and I don’t know much about Germany. I do think Germany’s foundation law is rather strict, so I’m not sure that what e.g. the Wikimedia Foundation is doing under U.S. law would work as a German foundation.

b) Members

If you are going down the association route, who should be able to become a member? You can restrict membership, so you could e.g. say that only the inner circle of core developers will be members of the assocation, or only instance admins or that anyone interested in Mastodon and sharing its goals can become a member.

The broader the membership gets, the more support for the project you may get (especially as membership usually comes with membership fees, which can be more sustainable than a month-to-month Patreon and more attractive as members get a say in the project in return). It will also make it easier to obtain charitable status (see below). However, the broader the membership also the more control you give away: the members, not you, decide on the fate of the association. So the closer to your inner circle you keep it, the more you remain in control.

c) Charitable status

An association can become “charitable” (“gemeinnützig”), which makes it exempt from many taxes (which not only saves money but also a lot of work!) and also allows donors in Germany to tax-deduct donations. I don’t know the particulars at what counts as charitable in Germany, though. I think Mastodon could work but is probably a bit in a grey area (compared to e.g. “ending world hunger” or so), so you would need to consult with a specialist.

In general, if your membership is more open it is easier to make a case that you are charitable than if only a select few can become members. It also depends a lot on how you word the goals of your association (e.g. “providing the world with a free and open medium for the exchange of ideas” will probably work better than “providing Mastodon users with the best user experience”).

d) Pay for you and Gargron

And maybe others in the future. :wink: How do you want to get paid? Options are:

i) Salaried employee
Probably the best option for you as employee, as it comes with social security and pension benefits and taxes are taken care of, as well. Will definitely need an accountant to do the administrative work for you, which will be quite expensive. At the current level of donations probably too expensive, but IMHO the right way to go long-term.

ii) Contractor
You write an invoice for your services, the association pays it. The easiest way from the association’s point of view, but you don’t get any social security benefits etc. If you are only working on Mastodon and are in Germany, you also need to be very careful as Germany has strict laws against “pseudo-contracting” (“Scheinselbständigkeit”) if you are basically working for just one organization the same way an employee would but claim to be a contractor (to avoid paying social security etc.). Needs careful checking to avoid you are not falling under these rules. Also, of course, you need to take care of paying taxes etc.

iii) Expenses for board members
If you are leading the association, you can claim expenses you incur and also a reasonable reimbursement for your efforts (“Aufwandsentschädigung”), e.g. for meetings you attended etc. This may be the simplest form, but it is obviously very limited in the amount of money you can claim as reasonable and it may easily lead into gray areas between employment and reimbursement. Needs careful vetting, I think.

e) Incorporation

If you have answered all the thorny questions above, incorporation is probably the easiest part: For an association, you need to come together somewhere, draw up a protocol of your founding meeting and agree on the by-laws / statues of the organisation (probably best to start from the by-laws from an existing association and adapt them to your need). Afterwards you need to register at the company register (“Handelsregister”). You need to check for Germany, maybe some or all of these documents need to be notarized or additional rules apply. Maybe there is also a minimum number of people you need as founding members of an association.


#13

IIRC, there is indeed some minimum number (but you can just get people’s agreement to list them on the protocol) and the protocol does need to be notarized.


#14

Huh! I had no clue we renamed Mastodon to Mastodon Social? That’s kinda confusing since most of us used “Mastodon dot social” as how we distinguished the instance from the software.

I work in the non-profit sector in the U.S., and I’m sure there’s some differences in Germany, but here at least it kinda works like this:

In the U.S. at least, non-profits are set up to limit the ability for any individual to control the organization for self-interest. You have an unpaid volunteer-staffed Board of Directors who brings in money, and hires and evaluates an Executive employee (president, director, etc.) who in turn hires and manages the rest of the staff with the money brought in by the Board (and the Development staff the Board hired because they don’t want to put in that much volunteer work.). The Board members typically have term limits; with my organization you can only be on the Board for 5 consecutive years, then have to take a year off and be re-elected. This prevents someone from just… being Chair of the Board forever and ever.

Serving as a volunteer on a Board mostly just means participating in fundraising efforts, reviewing the budget, and doing committee work which… typically centers on either fundraising or recruiting new Board members to cycle in. I’m an executive assistant (among other things) so I’m at all the Board meetings taking notes for my boss and typically the meetings are just long updates on what the organization has been up to, answering questions about how we’re doing, and then once a year they do a survey to evaluate my boss. They basically exist to have a large network of connections for us to draw upon for money, media attention, and partnering with other organizations. We’re a youth development org, so our Board typically consists of successful alumnae of our programs, parents who had kids go through the program in the past (never current parents), and also our biggest most connected donors. Lots of lawyers and financial experts, since they review and set our budget and by-laws (in cooperation with the Executive).

The whole idea is that, even if we day-to-day operate independent of them, they are holding us accountable to our charitable mission, as they have no incentive to allow us to continue besides their desire for the mission to be reached. If they think we’re not doing what we set out to do, or are operating too much in self-interest, they can fire the Executive and hire another one, who can fire any ineffective staff and replace them.

Non-profits, as part of applying for grants, often have to demonstrate that they have by-laws and operating procedures which resemble something like this. We always have to talk about who is on our Board, how they have no conflicts of interest, etc. etc. We have to operate in a way that calms any fears that we are corrupt or acting purely out of self-interest. Even if I only worked here out of self-interest (which is silly cuz I don’t get paid much) the further up the line you go, the less self-interest could exist; and when you hit the top, you just have a volunteer who is very committed to spending her spare time on doing her part to help.

Germany could be less strict on this; and I’m not sure if this is actually a legal requirement in the U.S. or if this is just de facto how things always are because that’s what is expected by grantmakers.

The benefits of being a non-profit are

  1. Your mission is not corrupted by profit so much
  2. You can get things like volunteers and in-kind donations; whereas when a for-profit does this we call it “immoral unpaid internships” and “not paying for goods”
  3. Access to grants and individual donations
  4. Don’t have to pay taxes (except on payroll, >:P)
  5. If people give you money for stuff, they don’t pay taxes and in fact can deduct that from the amount of taxes they owe (if… they give enough money such that it exceeds their standard deductible)

I’m mostly going over this because if you’re going to found a non-profit it, at least if it’s anything like over here, does involve loosening your grip a little on the organization (similar to the Association model brought up earlier.)

If you want to maintain a tight grip, you would want to be privately owned/for-profit, which means you don’t get those 5 benefits. For Mastodon the big loss would be revenue and volunteers.

Then again this is based on how my charity works; could be that non-charity non-profits don’t work like that


#15

We haven’t renamed anything. This was just something that was stuck in my head since before I worked here, due to the info which was available elsewhere about the project (what came up on Wikipedia, and what came up on Facebook).
It is incorrect, and thank you for catching me on this.


#16

Thank you. I think it would be good to somehow differentiate Mastodon the network from the software itself (I called it in passing “tootsuite”).


#17

Tootsuite is the mainline Mastodon github org. Tootsuite/Mastodon is usually what we say to differentiate mainline Mastodon from all the various customizations out there. It’s far from official but that’s been the parlance.

It would make sense imo to call any formally recognized organization Tootsuite, which is the org that develops Mastodon.


#18

Just like Mozilla and Firefox, Canonical and Ubuntu, etc etc.
Seems legit.

Working on the governance is going to be a high priority for me during July.