jupyter / governance

The governance process and model for Project Jupyter
https://jupyter.org/governance/index.html
Creative Commons Zero v1.0 Universal
82 stars 71 forks source link

Create an official Jupyter Mastodon account #146

Open choldgraf opened 1 year ago

choldgraf commented 1 year ago

Many open source communities and projects are migrating to Mastodon right now. As part of that process, several organizations are defining "official" accounts in a Mastodon server, so that others know where is the source of truth for communications from that organization.

Several examples of "official" accounts in Mastodon are provided by @krassowski here:

Given the high-visibility nature of Jupyter, I think it's important that we provide this source of truth in Mastodon to avoid confusion about where our communications are coming from.

However, there's an open question about which Mastodon server Jupyter should use, there's been some discussion of this in the discourse thread:

Given that we don't yet know if there will be an "official" Python projects server, and given that it is relatively easy to transition to new servers if you wish, I propose we take the following path:

Proposal

Current state as of Dec 21 2022

There has been significant discussion and some actions on this, so I am summarizing the current state of things below:

manics commented 1 year ago

Is Jupyter still a Python project, or has it grown beyond that? I'm mostly involved with the Python components so I can't really tell!

choldgraf commented 1 year ago

My feeling is that technically, it is much more than python. But culturally, it overlaps more with the scientific python community much more than any other major open source community.

That said, I just noted the scientific python server because I know those conversations are happening. But I am happy to go with a different proposal in the name of moving forward. It's more important that there's an official account somewhere than if it exists on the perfect server.

krassowski commented 1 year ago

My feeling is that it has a reach and aspires much beyond Python. Since both Python and R foundation are just on Fosstodon this is what I believe is the best course of action as of today. Julia has its own server.

Agree that any server is better than no presence at all, but for the same reason I believe Fosstodon (or floss.social) now is better than waiting (accounts can be moved around easily).

minrk commented 1 year ago

Following Python itself (and other projects like pandas) to Fosstodon and adding the rel=me now makes sense to me. Migrating to a 'scientific python' instance, if one is launched, could make sense, too. I've already migrated servers once, and it's no big deal.

JasonWeill commented 1 year ago

We discussed this at the governance meeting this morning. We are still in the process of electing the new Executive Council (voting closes on Sunday December 4). The new EC should work with NumFOCUS to coordinate a social media strategy, wither on Fosstodon or another instance. We will follow up on this at a later EC meeting. Thank you all for your engagement!

Carreau commented 1 year ago

When creating the Jupyter account, please also create an IPythonDev one, and add credentials to the onepassword.

choldgraf commented 1 year ago

@jweill-aws to clarify your statement, is this the current state of things?

The governance meeting team concluded that nobody should create this account until the Executive Council has been created, then created a social media strategy, and then defines a policy about Mastodon accounts.

If so I will hold off on creating anything. Also just a note that there is now at least one account that is called jupyter on Mastodon.

image

JasonWeill commented 1 year ago

@choldgraf Yes, we just had our EC election, and we are in the process of spinning up the EC.

The EC's office hours are scheduled for Mondays at 10:00 Pacific (18:00 UTC, currently), and I encourage you to bring this up at that time, if you're available.

choldgraf commented 1 year ago

I'm usually not available at that time, as it's 7pm in France and I'm on baby duty then. Anyway, I don't think there's any information that I'd share in that meeting that isn't already documented in this issue.

I'll leave this open so that the executive council can decide what to do with it. But feel free to close if you wish.

JasonWeill commented 1 year ago

I usually attend the office hours, so I can continue to drive this.

On Dec 6, 2022, at 12:13, Chris Holdgraf @.***> wrote:



I'm usually not available at that time, as it's 7pm in France and I'm on baby duty then. Anyway, I don't think there's any information that I'd share in that meeting that isn't already documented in this issue.

I'll leave this open so that the executive council can decide what to do with it. But feel free to close if you wish.

— Reply to this email directly, view it on GitHubhttps://github.com/jupyter/governance/issues/146#issuecomment-1339949351, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AWHV4GD3J4UEECPCLWFZULTWL6M4PANCNFSM6AAAAAASNFJTKU. You are receiving this because you were mentioned.Message ID: @.***>

Carreau commented 1 year ago

The governance meeting team concluded that nobody should create this account until the Executive Council has been created, then created a social media strategy, and then defines a policy about Mastodon accounts.

As a note, there is a difference between creating/using and registering the name.

Is the decision definitely about registering/reserving the name, or more about using the media ? We already have a number of other social media accounts (and domains) that have been registered but do not display any jupyter-related name/url/avatar but are under our control just in case.

choldgraf commented 1 year ago

Agreed - in my opinion jupyter should define a "source of truth" handle, even if it intends to never use it, just so that it's clear what is official and what is not. This would be a very low effort action.

krassowski commented 1 year ago

What is the status here? A ship has somewhat already sailed. Do we really need a months-long process to setup a handle?

JasonWeill commented 1 year ago

@krassowski It's been 3 weeks since this issue was opened, not months, and the request also coincided with the transition of governance to the new Executive Council. As Twitter's capricious overlord continues to make decisions that adversely affect the platform's viability, I agree that setting up a presence on Mastodon would benefit the project. I intend to join the Jupyter EC office hours at 10:00 US/Pacific today to bring this topic up again.

JasonWeill commented 1 year ago

I have submitted a request for an official Jupyter account on FOSStodon, using an official Jupyter e-mail account. Once this is created, I can update Jupyter's web site to link to our Jupyter accounts so that they show up using Mastodon's green-check verification. Note that I'll be away for the holidays. Also note that FOSStodon's action button is "Add to Waitlist," not "Register Account," so our account requires approval to be created. Thank you for your patience.

JasonWeill commented 1 year ago

https://fosstodon.org/@Jupyter is now online. I can update the related PR to only add <link> tags, but not link to this account, since it has only a basic profile at the moment and is not being actively used yet.

JasonWeill commented 1 year ago

Additional to-dos (I'm OK if we open separate issues for them)

JasonWeill commented 1 year ago

@Carreau I have requested @IPythonDev on Fosstodon; credentials are on 1Password.

choldgraf commented 1 year ago

Thanks @jweill-aws for doing this work 👍

I believe these are some follow ups we need to accomplish as well:

JasonWeill commented 1 year ago

We are "verified"!

Screen shot of Jupyter's Fosstodon profile showing green checkmark for website

SylvainCorlay commented 1 year ago
Screenshot 2022-12-20 at 19 04 57

Fosstodon prohibits posts in other languages than English, which I think is not great. In the past, we have promoted blog posts in other languages on social media.

JasonWeill commented 1 year ago

I agree that the English-only rule is not ideal for us. One advantage of Mastodon is that we can move our account to another server if this rule becomes problematic. Alternatively, if Fosstodon's moderation team expands to be more multilingual, they may be more receptive to posts in other languages.

krassowski commented 1 year ago

Given the tagline includes "please open issues on GitHub" I would suggest we add two links to the two GitHub repositories which we actually do monitor (in weekly triage meetings):

This is because we see users opening issues in irrelevant repositories such us jupyterlab-git (because how SEO works when you search for "jupyterlab github") or the documentation repository (https://github.com/jupyter/jupyter.github.io/issues, probably because docs build often link back to source github).

For context, Mastodon allows up to 4 links and proposal still leaves one empty. The list of links could be revised later, especially if an assistant github template was created (we could use template selector to link to multiple repositories including other subprojects. Maybe we could do this straight away, like creating an issues repo with github template which does not allow opening issues but just redirects to other repos as needed).

JasonWeill commented 1 year ago

@krassowski Perhaps a link to the community page might be better? There are a lot of reasons why a person/org might need to contact Jupyter, and a GitHub issue might not work well for everyone.

krassowski commented 1 year ago

The community page is already indirectly linked via the main website. My concerns is only that the tagline points to "github" without providing a link and users may end up lost.

SylvainCorlay commented 1 year ago

Fosstodon prohibits posts in other languages than English

I agree that the English-only rule is not ideal for us.

I am kinda bummed by this pick. So it is completely forbidden for ProjectJupyter to post content in my mother tongue. There is a lot of content about/on Jupyter in French (and probably in other languages) that we should be able to promote. I think we should take down the fosstodon account and move to another server.

JasonWeill commented 1 year ago

@SylvainCorlay I looked at the last two years' worth of @ProjectJupyter tweets, including replies, and found that they were all written in English (although I did not look at the links from those tweets). The most recent non-English Tweet I could find was from August 12, 2020, in Turkish. (That tweet was part of a small thread about localization, and consisted of the same content in English, French, Spanish, Portuguese, Finnish, and Turkish, so it would likely be consistent with Fosstodon's moderation policy.)

In addition, despite its stated policy, Fosstodon is not wholly in English; this post from earlier today is in French, for example. The rule is meant to facilitate moderating potentially controversial or disputed content, which I don't expect Project Jupyter to post.

SylvainCorlay commented 1 year ago

"Do not post in languages other than English" is pretty clear. I think that forbidding explicitely other languages does not work well with our values with respect to inclusivity.

choldgraf commented 1 year ago

For what it's worth, I'm +1 on moving to whatever server. As @jweill-aws notes i don't believe this is a technically difficult thing to do and we don't pay much of a penalty for doing it. Maybe the other servers in the list that @krassowski shared in the discourse post don't have language restrictions?

I think it's also fine removing the rel=me if people prefer that to choosing a different server.

SylvainCorlay commented 1 year ago

I am in favor of just deleting this account right away. Creating this and advertising it as the official account went against the decision that this should be done after the Executive Council has been created:

The governance meeting team concluded that nobody should create this account until the Executive Council has been created, then created a social media strategy, and then defines a policy about Mastodon accounts.

choldgraf commented 1 year ago

I'm fine just deleting it too - my impression from this comment coming right after this one was that this had been discussed in the office hours of the EC, thus triggering the action to sign up for an account, but I think that I did not interpret that correctly.

Also just to be clear, I believe that the only active advertising that has happened was a tweet I sent out on my personal account. I have since deleted that tweet. The rel=me on the website makes the link in the profile turn green but I don't think it boosts visibility or discoverability.

JasonWeill commented 1 year ago

I have discussed this with three of the incoming EC's members, and the consensus was that we should proceed and that Fosstodon was a good place to situate our account. I am also going to be out of office and incommunicado December 21–28.

If you want to remove the "official" designation from our Jupyter account, I'm OK with that; a pull request to back out https://github.com/jupyter/jupyter.github.io/pull/710 would accomplish that goal.

SylvainCorlay commented 1 year ago

I have discussed this with three of the incoming EC's members, and the consensus was that we should proceed and that Fosstodon was a good place to situate our account. I am also going to be out of office and incommunicado December 21–28.

Thanks for the clarification. I will reach out to the EC about this.

choldgraf commented 1 year ago

Thanks for clarifying @jweill-aws - in that case I support whatever decision the EC wants to make about next steps. I've opened a PR to revert this in case that is the decision for the website, but I do not have the access to modify the mastodon account itself.

I've updated the top comment with a short timeline of the current situation for future reference. Others should feel free to update as they wish.

I will likely not spend significant time on this topic moving forward - I'm happy to try and move things forward if there is consensus but I don't have bandwidth to debate a clear path forward if there's not consensus.

SylvainCorlay commented 1 year ago

I still think we need to delete this account asap. This definitely sends a wrong signal.

Carreau commented 1 year ago

I just want to note:

Exceptions
There are exceptions to this rule. All we really ask is the initial Toot is posted be in English. By default, people don’t see replies in their local timelines. If you end up speaking German in DM, or in replies, so what? As long as that conversation doesn’t breach our CoC we’re all good.

from https://hub.fosstodon.org/why-fosstodon-is-english-only/,

So If we tweet in english and have translations or reply in french, it does not seem to be an issue.

I don't know if it's mitigating or not.

I would prefer to not delete in case we decide to stay there, we might not be able to recreate if deleted.

SylvainCorlay commented 1 year ago

As much as I am in favor of using the most used language for international audiences (I run the PyData Paris meetup, which is one of the very few English language meetups in Paris), I think that having a policy forbidding people to use their mother tongue on the project account is plain wrong. I initially thought this was an oversight, but I cannot stand by a decision condoning this.

fperez commented 1 year ago

Speaking as a member of the EC, but not on its behalf here - this happened as the finalization of the EC and the holidays overlapped, so it's tricky to get everyone's voice in at the same time.

I wasn't aware of the language limitations with fosstodon. English isn't my native language and one of my priorities moving forward with Jupyter and more generally open source/open science, is to make a strong push in Latin America for more participation and engagement in those regions (that happens to be where my networks/connections lie, it's equally important to push to other regions beyond North America/Europe).

So I absolutely support that we find a solution for our social media that is language-inclusive.

But I also don't think deleting the fosstodon account is the right choice. Fosstodon is shaping as a key hub for OSS projects/people, and as such we should have a presence on it. Furthermore, this is a rapidly evolving space, and we shouldn't be over-reactive. Fosstodon is itself open source, and we can play a part in helping them evolve their language/cultural openness stance (and I understand also that they are managing with very limited resources). Python and R, as mentioned above, also have a home there, and they are definitely very international communities. Rather than simply leaving fosstodon, we can help shape the conversation.

They also seem to offer tools for delegation/forwarding/linking accounts:

image

In summary, my take is:

SylvainCorlay commented 1 year ago

I regret this decision. I think that temporary things become permanent very quickly. I advocated for removing this account as soon as possible because the longer it exists, the more people will feel like we have invested in it (we can already see the resistance right now, while it was only the effort of creating it).

Besides, I feel that the main reason for dismissing these concerns is that it is not considered as a real problem - as per the first reactions to the initial comment on other languages than English being banned from the platform. This definitely sends a strong signal that this is not a concern worth addressing.

It also unfortunate that after sticking to a strict formal decision making process for so long, we move forward with this as it happened almost by accident despite the concerns raised.

SylvainCorlay commented 1 year ago

To end this with a more positive note:

krassowski commented 1 year ago

1) We could update the list of instances used by other open source projects as there were some new arrivals and some projects may have moved instances since I last compiled the list. 2) We could count which Mastodon servers are used by the followers of the Jupyter account. This is of course a biased metric, but might be somewhat informative in our search for a more suitable instance. Script and results with status as for today below, it's probably best to repeat once we get a bigger sample.

```python import requests import pandas as pd headers = {'Accept': 'application/activity+json'} data = requests.get('https://fosstodon.org/@Jupyter/followers', headers=headers).json() next_page = data['first'] followers = [] while next_page: page = requests.get(next_page, headers=headers).json() followers.extend(page['orderedItems']) next_page = page.get('next') print( pd.Series(followers) .str.extract('https://(.*)/users/') .value_counts() .to_markdown() ) ``` | | followers | |:------------------------------------|----:| | ('fosstodon.org',) | 45 | | ('mastodon.social',) | 15 | | ('hachyderm.io',) | 13 | | ('fediscience.org',) | 11 | | ('mast.hpc.social',) | 8 | | ('genomic.social',) | 5 | | ('julialang.social',) | 4 | | ('mapstodon.space',) | 3 | | ('scholar.social',) | 3 | | ('scicomm.xyz',) | 3 | | ('piaille.fr',) | 3 | | ('mastodon.online',) | 3 | | ('mstdn.science',) | 3 | | ('mastodon.nz',) | 2 | | ('openbiblio.social',) | 2 | | ('mstdn.social',) | 2 | | ('mastodonapp.uk',) | 2 | | ('mastodon.green',) | 2 | | ('astrodon.social',) | 2 | | ('mas.to',) | 2 | | ('mstdn.ca',) | 2 | | ('sigmoid.social',) | 2 | | ('social.coop',) | 2 | | ('quinnwitz.house',) | 1 | | ('qubit-social.xyz',) | 1 | | ('post.lurk.org',) | 1 | | ('sciencemastodon.com',) | 1 | | ('pdx.social',) | 1 | | ('social.deckard.apps.glenux.net',) | 1 | | ('social.juanlu.space',) | 1 | | ('octodon.social',) | 1 | | ('social.linux.pizza',) | 1 | | ('social.ridetrans.it',) | 1 | | ('stoyko.space',) | 1 | | ('mstdn.plus',) | 1 | | ('mastodon.skrimmage.com',) | 1 | | ('mathstodon.xyz',) | 1 | | ('kolektiva.social',) | 1 | | ('chaos.social',) | 1 | | ('chat.rittmanchat.org',) | 1 | | ('data-folks.masto.host',) | 1 | | ('ecoevo.social',) | 1 | | ('econtwitter.net',) | 1 | | ('framapiaf.org',) | 1 | | ('fribygda.no',) | 1 | | ('glammr.us',) | 1 | | ('mamot.fr',) | 1 | | ('mastodon.xyz',) | 1 | | ('masto.ai',) | 1 | | ('mastodon.cloud',) | 1 | | ('mastodon.gamedev.place',) | 1 | | ('mastodon.mit.edu',) | 1 | | ('mastodon.nl',) | 1 | | ('astronomy.city',) | 1 | | ('mastodon.tetaneutral.net',) | 1 | | ('mastodon.top',) | 1 | | ('vis.social',) | 1 |
jasongrout commented 1 year ago

@choldgraf - thanks for making the PR to revert the verified status of the account. I went ahead and approved and merged it.

My understanding from the discussion on Monday was that we were reserving the name, but not advertising it or making it official. As mentioned above, reserving the name was basically just preserving options for a later (but hopefully soon) discussion about our official social media strategy moving forward.

@SylvainCorlay - you're also on the NumFOCUS board. It seems that running a mastodon server is a great piece of infrastructure NumFOCUS could provide for projects to help build a strong community.

jasongrout commented 1 year ago

I see now that the Fosstodon account has our official logo, and certainly looks official. Regardless of whether it is "verified", I think it will be treated as official. As Sylvain says:

I think that temporary things become permanent very quickly. I advocated for removing this account as soon as possible because the longer it exists, the more people will feel like we have invested in it

I think if we want to just have the name reserved for possible future use, we should pull down the Jupyter logo and explicitly say in the description that it is a placeholder for potential future use. Or, as Sylvains says, delete it. Unlike Twitter, there is no central namespace for names, and we are the ones that decide what name/server is "official" Jupyter, so I don't feel like there is a huge advantage to jumping on a name before we have a strategy if it is confusing to do so.

jasongrout commented 1 year ago

To be more clear, I think we should make the @Jupyter account look like the @ProjectJupyter account, i.e., just a blank name with no official logo or official-looking text, at least until we decide on an official way forward.

rkdarst commented 1 year ago

I sent an email to fosstodon admins asking about multi-language, and got a reply saying that with mastodon 4 translation, it's possible and coming in a few days. They would have changed the sooner, but the translation required an additional service to be run which they have been building over the last few days (currently testing).

(did no one else think to ask before all the panic? Things have changed a lot over the last few months, I wouldn't be surprised if more policies need to change but haven't been updated yet!)

minrk commented 1 year ago

I'll just add that migrating to a new instance is a very low impact action (followers stay with you, etc.). I've already done it once and nothing noticeable changed. The only thing you lose is post history, and we aren't going to have anything to lose there. So there's a lot less inertia in a name than on other systems.

So I'm 👍 to:

SylvainCorlay commented 1 year ago

I sent an email to fosstodon admins asking about multi-language, and got a reply saying that with mastodon 4 translation, it's possible and coming in a few days.

Wow, that is amazing news!

JasonWeill commented 1 year ago

@minrk @jasongrout Thanks for your responses while I was out on vacation Dec. 21–28. I have updated the Jupyter Fosstodon account to have a bio indicating that it's not in active use. I've also removed the banner and profile images, to avoid confusion for now. We should discuss our social strategy further. Of note, this rule of Fosstodon's suggests that we are expected to actively engage with people using the Jupyter account, not just post automatically, and we should monitor our @-mentions:

Do not use automated tools to toot without participating in the community. It is fine to post with an automated tool so long as you are an active member of the Fosstodon community and respond to replies you receive here. Unmonitored accounts that post automatically are not acceptable.

(Note that "toot" is a term previously used by Mastodon to mean "post"; the latter term is now official)

SylvainCorlay commented 1 year ago

I sent an email to fosstodon admins asking about multi-language, and got a reply saying that with mastodon 4 translation, it's possible and coming in a few days. They would have changed the sooner, but the translation required an additional service to be run which they have been building over the last few days (currently testing).

Do you know of any update or reference on this?

rkdarst commented 1 year ago

I don't have any update. My only reference is private email but right after a server-wide announcement was made that mentions the translation service coming, so there is some independent reaction.

I'd recommend sending own email to ask if you are curios, or message the people in the announcement (@kev@fosstodon.org or @mike@fosstodon.org). It would seem reasonable to even ask about what the expectation for organization accounts is... but I have very little personal interest here, the accounts work well for my organizations...