This repository contains issues and projects relating to organizing and visualizing:
- The high level Livepeer roadmap
- Project proposals
- How we work together as an open, global project
This is meant as an open community forum, so feel free to comment on issues, ask questions, and create project proposals.
The roadmap is captured in The Roadmap Project within this repo.
It is inteded to present the highest level view possible of what the most immediate goals are, what's being worked on, what is coming next,and the most urgent blockers that are preventing forward progress.
Individual implementation issues are captured within module specific repositories.
Issues in this repo organized into the project proposals project include suggestions for projects to be built on Livepeer. This encompasses:
- Decentralized Applications (DApps)
- Video features
- P2P Networking and content delivery
- Protocol upgrades
- Open source contributions to other projects that relate to Livepeer
Feel free to add any ideas, suggestions, comments, or begin collaborating on an open idea in the issues. There is some organization of these issues in a project view here.
Livepeer has team members, contributors, and community members all over the world. We use the following practices to ensure that no matter where a community member is, or how they want to get involved, they can participate in an effective and inclusive way.
Every other week we try to host a community call. The schedule, agenda, and roles are tracked in issues in this repo. The calls are open to all, live streamed, and anyone is encouraged to comment on the planning issue to add to the agenda.
View a previous planning issue.
The calls are an opportunity to get a glimpse into the current priorities, and to ask questions and discuss ideas. They are capped at 60 minutes max, and notes are shared on the issue following the call.
These are captured in the The Roadmap Project as described above. These are the most important goals that the team is running at, and are revisited on roughly a quarterly cadence.
There are a number of components in the Livepeer ecosystem. Even though they all need to be maintained, fixed, updated, and improved, work is not necessarily organized around a specific component. Instead, it is generally organized around the concept of a project, with a defined goal and known team members who are focused on hitting the goal.
The active projects can be found in the high level roadmap listed above.
Each active project has a room in our gitter chat for daily standup updates and coordination.
Each week there is a Monday engineering planning meeting where we:
- Look back at the goals and deliverables for the previous week for each of the product and hold ourselves accountable to whether or not we delivered.
- Set goals for the current week and take ownership of deliverables within each project.
We rotate to be the moderator. The moderator's responsibilities include:
- Prepare and send out shared work sheet prior to the meeting
- Create the sections for each project
- Fill out the decided tasks from last week
- Coordinate / start the meeting
- Make sure discussions are happening on pace - the meeting shouldn't exceed an hour
- Make sure discussions are on-topic - prompt people to connect off-line for more in-depth conversations
- Make sure everyone at the meeting speaks - prompt people to speak (what do you think about "x" Eric?)
- Keep notes on the tasks decided for the current week
- Make sure to assign an owner for each decided task
- Publish meeting notes
Team members are expected to come prepared to this meeting by filling out + reviewing the shared work sheet prior to the meeting.
Notes from each week's planning meeting is posted here.
Current moderator rotations:
Yondon -> Eric -> Josiah -> Josh
▲ |
| ▼
----------------------------
Each morning team members on a given project are expected to post a brief virtual standup to the project's status update chat room on Gitter. The format is:
- Date
- What I did yesterday
- What I'm doing today
- Blockers if any
Team members are encouraged to use Github issues and Github projects to overshare their thoughts, ideas, tasks, and issues. File issues for each task worked on or feature change no matter how small and self contained.
Likewise, other collaborators are encouraged to triage these issues (closing them if necessary after responding), and potentially organize them into projects in order to aid in prioritization.
Livepeer level prioritization is expected to take place in the high level roadmap shared above. Individual issues in sub projects are tricker to prioritize.
Team members are encouraged to use Github projects and milestones within individual repositories to prioritize issues contained within that repository. It's recommended to use the "To-do", "In Progress", "Done" columns at the minimum.
The weekly engineering planning meeting is a good time to get feedback on and share the prioritization. But it's also a good idea to ask for some discussion any time priorities are in question.
While the above is meant to help people understand how to get involved in the project and how to fit in the workflow, it's important to remember that Livepeer is a decentralized, permissionless project. This means you are empowered to build what you want to see exist, and no permission is necessary.
If you have questions about how to make an impact or contribution to Livepeer, stop by the gitter chatroom and say hello.