Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: 2018 Q3 OKRs #207

Merged
merged 12 commits into from
Jul 4, 2018
Merged
35 changes: 35 additions & 0 deletions OKR.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Quarterly Objectives and Key Results

We try to frame our ongoing work using a process based on quarterly Objectives and Key Results (OKRs). Objectives reflect outcomes that are challenging, but realistic. Results are tangible and measurable.

## 2018 Q3
Copy link
Member Author

@daviddias daviddias Jul 2, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's continue discussing the OKRs over the markdown, taking inspiration from the notes already shared in this thread.

I've defined 3 main objectives so far (rewording is welcome if you see the need) for this quarter which capture the most requested and needed features and bug fixes.

Let's shoot to get the final list of KRs by Wednesday, final review on Thursday and ship it on Friday.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@diasdavid should we add IPNS parity and interoperability with go?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Absolutely @vasco-santos, good call!

I've updated the OKRs list and started assigning some based on previous work. Please review:

  • Check if wording makes sense.
  • Check if they are achievable this quarter.
  • Check the ones you will want to take the lead.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe that we can achieve this list!!

I would like to take the lead on DHT interops with go-libp2p.
By the way, is there any issue for the network visualization tool? I think I would like to go with it as well.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think it's worth having a 'technical debt' section? There was something about speeding the tests up here a minute ago but it seems to have been removed.

Feature parity with the go API would also be a good thing to shoot for.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With this, I assigned the remaining to @jacobheun, hope you agree. I do think that we need to find more stuff to keep @jacobheun busy, otherwise he will be done in the first couple of weeks :D

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cool, thanks @diasdavid ! Then we sync about the tool 🙂

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you are confusing js-ipfs OKRs with js-libp2p OKRS

Oops, yes. I've added the comment there.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@diasdavid haha, yes I'm good with taking the rest. I know NAT traversal was part of q2 but I'd like to make sure that gets done, as I think it's important to making libp2p the painless go to in p2p.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rad!! And you are right, let's add NAT back in.


**All pieces are there. Ship Peer & Content Routing + IPNS**

- Delegated Peer Routing is completed - @jacobheun
- Delegated Content Routing is completed - @jacobheun
- DHT interops with go-libp2p - @vascosantos
- NAT Traversal is implemented in js-libp2p (for at least TCP) - @jacobheun
- IPNS works over PubSub (+ go-libp2p interop) - @vasco-santos
- IPNS works over DHT (+ go-libp2p interop) - @vasco-santos

**libp2p debugging and interop testing is not painful**

- Error handling is done correctly and error codes are part of the API - @jacobheun
- libp2p and libp2p-switch become full state machines - @jacobheun
- libp2p has a network visualization tool - @vasco-santos
- js-libp2p has a daemon with a RPC API and a client library - @jacobheun
- We get the RPC API standardised so that go-libp2p and rust-libp2p can implement it as well - @jacobheun
- Write the first set of interop tests that tests - @jacobheun

**libp2p is seen as the go to p2p networking stack**

- js-libp2p releases get proper fanfare - @diasdavid
- kick off the js.libp2p.io Welcome page - @diasdavid
- Onboard 3 new full time contributors - @diasdavid

Once these OKRs are finished, you will be able to find them on the [2018 Q3 libp2p OKRs Spreadsheet](https://docs.google.com/spreadsheets/d/1HTXfgR5FyPTFhsTkFPRThkeMvHvCgJOaAs7BSl_vQ_0/edit#gid=1241853194)

## Previous Quarters

For the quarters before 2018 Q3, js-libp2p shared their KRs with the [IPFS OKRs](https://github.com/ipfs/js-ipfs/blob/master/OKR.md).