For me Project Jupyter is a group of people who share a common vision or otherwise like working together to create things they couldn’t create by themselves.
The people define what Project Jupyter is and what it does. That some of this activity involves software and github repositories is an “implementation detail”. In particular because there are things that Project Jupyter does (or wants to do) that don’t involve any code (conferences, sprints, standards, protocols, teaching, etc).
How do we create project unity while supporting autonomous, smaller teams?
Create more opportunities for people to interact as people with each other. The goal being for them to become closer friends that trust each other more.
Right now a large part of the mission/vision is unknown to a part of the people in the project, yet collectively the project is making progress on the big goal. Maybe minimally tweaking the current process and sharing ideas more is all that is needed.
re: independent teams: each of the large areas of Jupyter are taken care of by separate teams and because each of those areas could be its own (or several) projects by themselves it is nearly impossible for someone to be involved in several areas. This is because of limited time but also skills and interests. For me personally that is a-ok because those who take care of the other areas are doing a good job. All I could offer is the opinion of an interested passer by. Maybe at the afore mentioned events we could organise retros where different teams ask for feedback on what they are doing, things that other teams like/dislike about getting involved, etc.
What is the official list of Jupyter projects and how do new projects become part of Jupyter? How are projects conducted and governed?
Easier one first: a set of cookie cutter LICENSE, CoC, CI, documentation and copyright statements as the minimum standard for new projects. This would help unify things (easier to move around), help developers with tedious tasks and set standards. Something like https://github.com/scikit-learn-contrib/project-template maybe? Can GitHub repos also be used to represent projects like organising a conference or other projects that aren’t about code? If not how are they represented and what tools do they use that let people contribute?
A slightly radical proposal: there are no official jupyter projects. There are projects that a significant number of jupyter team members work on. This is because Jupyter is about people and standards/protocols not code.
Maybe projects could be “Jupyter certified” if they are standards compliant or provide implementations of the protocols that Jupyter defines. By having a badge like that the project could exercise something it has: influence.
Making a project a “official jupyter project” means that the project is now maintained by Project Jupyter. This means that Project Jupyter promises to invest effort into the project. However Project Jupyter has no resources (effort that can be directed by Project Jupyter) of its own with which to full fill this promise. The only effort available to Project Jupyter is that of (self-directed) volunteers. The people in Project Jupyter can try to influence each other, create a share understanding and motivate each other to help maintain projects. There are three main sources of effort: grants, companies and volunteers. Neither of them is primarily interested in chopping wood and carrying water. They will however do a little bit on the side to help maintain the basic infrastructure while working on a project they actually care about/can obtain funding for.
What are the “shared resources” of Project Jupyter and how are they allocated among the projects?
(this is written about a future project jupyter not the current one)
Project Jupyter has assets that include influence, branding and cash.
Influence can be used by creating a “jupyter compliant” badge or similar. This gives some of the shine of Jupyter to other projects. The people who make Project Jupyter wield (sometimes considerable) influence in the world, by being a member of the Jupyter team they are responsible to not abuse this. For example when are they speaking for the project and when as private individuals/employees? I think it is hard to put in writing/create precise rules for this but we all “know it when we see it”. Maybe the best way forward is to collect positive and negative examples to help people learn where the line is. Maybe also a way for team members to give each other feedback on how they perceived other’s behaviour. If in doubt don’t use your Jupyter association.
An aside on standard practices in large scientific collaborations:
In large scientific collaborations there are strict rules about giving talks/public statements/publishing papers that are related to your membership in a collaboration. They require significant effort though so might be too much for a loose project like Jupyter. The standard practice is that the collaboration submits abstracts to conferences (not individuals) and then distributes accepted talks to members of the collaboration. The precise formula/method used varies but generally it takes into account seniority, job market needs, topic fit, number of talks given in the preceding X months, etc). The goal is fairness amongst members of the collaboration.
Only talks distributed via this mechanism are “on behalf of the X collaboration”.
Talks (including slides) are approved by the collaboration before the talk is given via a rehearsal that is open to everyone in the collaboration, slides are posted for everyone in the collaboration to see. Content is mostly dictated by the abstract that was submitted.
External seminar or conference organisers should not contact individuals when looking for (keynote) speakers but instead contact the collaboration. There are exceptions for local/low key seminars.
In all of the talks only material that is already public can be discussed. On contentious results there is a official position from the collaboration that has to be represented by speakers.
Individuals can give talks outside of this framework but only if they do not (at all) refer to work or knowledge related to their membership in the collaboration. Some individuals try and stretch these rules (too far) which is considered a social faux-pas and repeated offences lead to serious consequences. However this is rare.
Branding is controlled by the branding guidelines and trademark rules.
Cash is controlled by the steering council. Donations that arrive via Numfocus are spent by the SC as they see fit. Larger donations like those that fund the community workshops would be controlled by a committee that the SC delegated its power to.