From 95f761787cdf90e0da3487922ff8d8705b1c5b1e Mon Sep 17 00:00:00 2001 From: Erik Ingenito Date: Mon, 10 Dec 2018 09:47:16 -0800 Subject: [PATCH 1/7] 2019 Q1 Go Core Dev OKRs ref #792 - [ ] [Score 2018 Q4 OKRs](https://docs.google.com/spreadsheets/d/139lROP7-Ee4M4S7A_IO4iIgSgugYm7dct620LYnalII/edit#gid=1720716278) - [ ] [Async Retrospective](https://docs.google.com/document/d/1gdxLWcFZPQN5921Br2kSEJqMjHx-jO5JTDEbGExMSuE/edit) - [ ] 2019 Q1 OKRs Open Planning (this thread) - [ ] Move 2019 Q1 OKRs to [2019 Q1 OKRs Spreadsheet](https://docs.google.com/spreadsheets/d/1BtOfd7s9oYO5iKsIorCpsm4QuQoIsoZzSz7GItE-9ys/edit#gid=1720716278) --- OKR/GO_CORE.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/OKR/GO_CORE.md b/OKR/GO_CORE.md index 0ba7332c..a3c619fd 100644 --- a/OKR/GO_CORE.md +++ b/OKR/GO_CORE.md @@ -2,6 +2,10 @@ We 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. +## 2019 Q1 + +- In Process + ## 2018 Q4 - [go-ipfs 2018 Q4 OKRs](https://docs.google.com/spreadsheets/d/139lROP7-Ee4M4S7A_IO4iIgSgugYm7dct620LYnalII/edit#gid=1720716278) From 0409db9b8af48a3013e4af4ea71d420f56e3ed25 Mon Sep 17 00:00:00 2001 From: Erik Ingenito Date: Wed, 12 Dec 2018 14:02:56 -0800 Subject: [PATCH 2/7] Update GO_CORE.md --- OKR/GO_CORE.md | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/OKR/GO_CORE.md b/OKR/GO_CORE.md index a3c619fd..6d6a07f4 100644 --- a/OKR/GO_CORE.md +++ b/OKR/GO_CORE.md @@ -4,7 +4,26 @@ We frame our ongoing work using a process based on quarterly Objectives and Key ## 2019 Q1 -- In Process +### Data transfer is fast and efficient +* It takes less than 48 hours to transfer 1TB dataset over Fast Ethernet (100Mbps) +* Bitswap refactor + improvements reduce number of duplicate blocks downloaded by 75% + +### Adding and providing large data sets works efficiently +* Create Provider Strategies system that is solely responsible for providing +* Implement provider strategy such that a user can add (and provide) npm or tr-wikipedia without turning off providing and without significantly impacting finding content + +### Datastore works efficiently for large data sets +* Final go/no-go decision on Badger (full design comparison vs other options + final decision) + +### go-ipfs becomes a well maintained project +* Every non-trivial PR is first reviewed by someone other than @Stebalien. +* A work-tracking process is adopted that allows the team to easily track the highest priority unclaimed issues, see the status of in progress work, and know which PRs need review, easily. + +### gx becomes a beloved tool by the Go Core Contributors Travis are you still working on this? +* go-ipfs doesn't have checked-in gx paths + +### Complete outstanding endeavours that are still high priorities from Q3 +* base32 is supported and enabled by default ! ## 2018 Q4 From 97e9aa14bfbe6bc3dcd0f1eb8a92a6a7d442289e Mon Sep 17 00:00:00 2001 From: Erik Ingenito Date: Tue, 18 Dec 2018 15:37:11 -0800 Subject: [PATCH 3/7] Update GO_CORE.md --- OKR/GO_CORE.md | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/OKR/GO_CORE.md b/OKR/GO_CORE.md index 6d6a07f4..0b80aa81 100644 --- a/OKR/GO_CORE.md +++ b/OKR/GO_CORE.md @@ -7,25 +7,33 @@ We frame our ongoing work using a process based on quarterly Objectives and Key ### Data transfer is fast and efficient * It takes less than 48 hours to transfer 1TB dataset over Fast Ethernet (100Mbps) * Bitswap refactor + improvements reduce number of duplicate blocks downloaded by 75% - +* Transfers of sparsely provided data are roughly as efficient as fully provided content + ### Adding and providing large data sets works efficiently * Create Provider Strategies system that is solely responsible for providing -* Implement provider strategy such that a user can add (and provide) npm or tr-wikipedia without turning off providing and without significantly impacting finding content +* Implement provider strategy such that a user can add (and provide) npm or tr-wikipedia without turning off providing and without significantly impacting finding content ### Datastore works efficiently for large data sets -* Final go/no-go decision on Badger (full design comparison vs other options + final decision) +* Complete development of benchmarks to test speed and reliability across a wide range of datastore sizes +* A new datastore implementation, suitable for very large data volumes, is adopted as default in go-ipfs ### go-ipfs becomes a well maintained project * Every non-trivial PR is first reviewed by someone other than @Stebalien. * A work-tracking process is adopted that allows the team to easily track the highest priority unclaimed issues, see the status of in progress work, and know which PRs need review, easily. + +### go-ipfs is easy to integrate +* A new flexible and performant RPC API is designed -### gx becomes a beloved tool by the Go Core Contributors Travis are you still working on this? +### gx becomes a beloved tool by the Go Core Contributors +// Topic under intense discussion! +* Find a full-time developer for gx! * go-ipfs doesn't have checked-in gx paths ### Complete outstanding endeavours that are still high priorities from Q3 -* base32 is supported and enabled by default ! +* base32 is supported and enabled by default +* CoreAPI refactor is completed -## 2018 Q4 +## 2018 Q4certifi - [go-ipfs 2018 Q4 OKRs](https://docs.google.com/spreadsheets/d/139lROP7-Ee4M4S7A_IO4iIgSgugYm7dct620LYnalII/edit#gid=1720716278) - [Open Planning Thread](https://github.com/ipfs/go-ipfs/pull/5474) From 90c21021fc7f963f6dbf76fa0cf2a53745a5a865 Mon Sep 17 00:00:00 2001 From: Erik Ingenito Date: Wed, 19 Dec 2018 09:14:47 -0800 Subject: [PATCH 4/7] Update GO_CORE.md --- OKR/GO_CORE.md | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/OKR/GO_CORE.md b/OKR/GO_CORE.md index 0b80aa81..2e386597 100644 --- a/OKR/GO_CORE.md +++ b/OKR/GO_CORE.md @@ -12,6 +12,7 @@ We frame our ongoing work using a process based on quarterly Objectives and Key ### Adding and providing large data sets works efficiently * Create Provider Strategies system that is solely responsible for providing * Implement provider strategy such that a user can add (and provide) npm or tr-wikipedia without turning off providing and without significantly impacting finding content +* Providing does not negatively impact go-ipfs's performance when fetching content. ### Datastore works efficiently for large data sets * Complete development of benchmarks to test speed and reliability across a wide range of datastore sizes @@ -19,19 +20,23 @@ We frame our ongoing work using a process based on quarterly Objectives and Key ### go-ipfs becomes a well maintained project * Every non-trivial PR is first reviewed by someone other than @Stebalien. -* A work-tracking process is adopted that allows the team to easily track the highest priority unclaimed issues, see the status of in progress work, and know which PRs need review, easily. +* A work-tracking process is adopted that allows the team to easily track the highest priority unclaimed issues, see the status of in progress work, and know which PRs need review, easily. +* Every file with a non-trivial change gets fully documented. (!) -### go-ipfs is easy to integrate -* A new flexible and performant RPC API is designed - -### gx becomes a beloved tool by the Go Core Contributors -// Topic under intense discussion! -* Find a full-time developer for gx! -* go-ipfs doesn't have checked-in gx paths +### go-ipfs is easy to integrate with +* Extract CoreAPI interface from go-ipfs +* Implement CoreAPI HTTP API +* A new flexible and performant RPC API is designed +* base32 is supported and enabled by default +* Refactored IPFS constructor -### Complete outstanding endeavours that are still high priorities from Q3 +### Optimize developer velocity +* go-ipfs developers are no longer adversly affected by gx + +### Complete outstanding endeavours that are still high priorities * base32 is supported and enabled by default -* CoreAPI refactor is completed +* New fuse mount implementation replaces the existing one +* Add mutable methods (r+w) to the new mount implementation and get it building+tested on all supported platforms ## 2018 Q4certifi From 81f772405a7335c01dec8320d6d6f00a1afd3c88 Mon Sep 17 00:00:00 2001 From: Erik Ingenito Date: Wed, 19 Dec 2018 09:17:45 -0800 Subject: [PATCH 5/7] Update GO_CORE.md --- OKR/GO_CORE.md | 1 - 1 file changed, 1 deletion(-) diff --git a/OKR/GO_CORE.md b/OKR/GO_CORE.md index 2e386597..392a4a53 100644 --- a/OKR/GO_CORE.md +++ b/OKR/GO_CORE.md @@ -34,7 +34,6 @@ We frame our ongoing work using a process based on quarterly Objectives and Key * go-ipfs developers are no longer adversly affected by gx ### Complete outstanding endeavours that are still high priorities -* base32 is supported and enabled by default * New fuse mount implementation replaces the existing one * Add mutable methods (r+w) to the new mount implementation and get it building+tested on all supported platforms From e39e7bede66596dc64769ae49577bc0b848d491c Mon Sep 17 00:00:00 2001 From: MollyM Date: Fri, 1 Feb 2019 14:32:27 -0800 Subject: [PATCH 6/7] Adding Q1 endeavors from 2019 roadmap Some of this is already inflight, however we need an owner for benchmarking efforts --- OKR/GO_CORE.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/OKR/GO_CORE.md b/OKR/GO_CORE.md index 392a4a53..d33a1c16 100644 --- a/OKR/GO_CORE.md +++ b/OKR/GO_CORE.md @@ -8,6 +8,8 @@ We frame our ongoing work using a process based on quarterly Objectives and Key * It takes less than 48 hours to transfer 1TB dataset over Fast Ethernet (100Mbps) * Bitswap refactor + improvements reduce number of duplicate blocks downloaded by 75% * Transfers of sparsely provided data are roughly as efficient as fully provided content +* Awesome go-ipfs benchmark test suite exists comparing ipfs performance and transfer size relative to bittorrent +* Implement GraphSync to make accessing files in large directories log(n) faster ### Adding and providing large data sets works efficiently * Create Provider Strategies system that is solely responsible for providing @@ -37,7 +39,7 @@ We frame our ongoing work using a process based on quarterly Objectives and Key * New fuse mount implementation replaces the existing one * Add mutable methods (r+w) to the new mount implementation and get it building+tested on all supported platforms -## 2018 Q4certifi +## 2018 Q4 - [go-ipfs 2018 Q4 OKRs](https://docs.google.com/spreadsheets/d/139lROP7-Ee4M4S7A_IO4iIgSgugYm7dct620LYnalII/edit#gid=1720716278) - [Open Planning Thread](https://github.com/ipfs/go-ipfs/pull/5474) From bbff5472c0796c0f2785853295cbe7effd75f17e Mon Sep 17 00:00:00 2001 From: MollyM Date: Tue, 5 Feb 2019 15:25:10 -0800 Subject: [PATCH 7/7] move OKRs to sheet and add link --- OKR/GO_CORE.md | 39 ++++----------------------------------- 1 file changed, 4 insertions(+), 35 deletions(-) diff --git a/OKR/GO_CORE.md b/OKR/GO_CORE.md index d33a1c16..91571ab7 100644 --- a/OKR/GO_CORE.md +++ b/OKR/GO_CORE.md @@ -4,45 +4,14 @@ We frame our ongoing work using a process based on quarterly Objectives and Key ## 2019 Q1 -### Data transfer is fast and efficient -* It takes less than 48 hours to transfer 1TB dataset over Fast Ethernet (100Mbps) -* Bitswap refactor + improvements reduce number of duplicate blocks downloaded by 75% -* Transfers of sparsely provided data are roughly as efficient as fully provided content -* Awesome go-ipfs benchmark test suite exists comparing ipfs performance and transfer size relative to bittorrent -* Implement GraphSync to make accessing files in large directories log(n) faster - -### Adding and providing large data sets works efficiently -* Create Provider Strategies system that is solely responsible for providing -* Implement provider strategy such that a user can add (and provide) npm or tr-wikipedia without turning off providing and without significantly impacting finding content -* Providing does not negatively impact go-ipfs's performance when fetching content. - -### Datastore works efficiently for large data sets -* Complete development of benchmarks to test speed and reliability across a wide range of datastore sizes -* A new datastore implementation, suitable for very large data volumes, is adopted as default in go-ipfs - -### go-ipfs becomes a well maintained project -* Every non-trivial PR is first reviewed by someone other than @Stebalien. -* A work-tracking process is adopted that allows the team to easily track the highest priority unclaimed issues, see the status of in progress work, and know which PRs need review, easily. -* Every file with a non-trivial change gets fully documented. (!) - -### go-ipfs is easy to integrate with -* Extract CoreAPI interface from go-ipfs -* Implement CoreAPI HTTP API -* A new flexible and performant RPC API is designed -* base32 is supported and enabled by default -* Refactored IPFS constructor - -### Optimize developer velocity -* go-ipfs developers are no longer adversly affected by gx - -### Complete outstanding endeavours that are still high priorities -* New fuse mount implementation replaces the existing one -* Add mutable methods (r+w) to the new mount implementation and get it building+tested on all supported platforms +- [go-ipfs 2019 Q1 OKRs](https://docs.google.com/spreadsheets/d/1BtOfd7s9oYO5iKsIorCpsm4QuQoIsoZzSz7GItE-9ys/edit#gid=1720716278) +- [Planning Thread](https://github.com/ipfs/team-mgmt/pull/794) +- [Previous Quarter Retrospective](https://docs.google.com/document/d/1gdxLWcFZPQN5921Br2kSEJqMjHx-jO5JTDEbGExMSuE/edit) ## 2018 Q4 - [go-ipfs 2018 Q4 OKRs](https://docs.google.com/spreadsheets/d/139lROP7-Ee4M4S7A_IO4iIgSgugYm7dct620LYnalII/edit#gid=1720716278) -- [Open Planning Thread](https://github.com/ipfs/go-ipfs/pull/5474) +- [Planning Thread](https://github.com/ipfs/go-ipfs/pull/5474) - [Previous Quarter Retrospective](https://docs.google.com/document/d/15m28CgV8aksgHsS_MlQKJhTP0LtgYobIkOIuSXew4WE/edit#heading=h.7bczaod8nf6g) ## 2018 Q3