Skip to content

Proposal: Content Addressed Package Management #83

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

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

andrew
Copy link

@andrew andrew commented Mar 18, 2021

@andrew andrew changed the title Content addressed pkg mgmt Proposal: Content Addressed Package Management Mar 18, 2021
@andrew andrew marked this pull request as ready for review March 18, 2021 18:01
Describe any choices and uncertainty in this scope estimate. (E.g. Uncertainty in the scope until design work is complete, low uncertainty in execution thereafter.)
-->

- Large, 6-10 weeks
Copy link
Contributor

Choose a reason for hiding this comment

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

Do you have a clear enough picture of the steps involved in this to be able to give a rough indication of the relative sizes of what's listed in Brief plan of attack?
It also might be worth considering if there are 2 or 3 discrete sub-projects this could be split up into such that just doing one would provide value in itself while also serving as a way to justify further investigation.

@mikeal mikeal added ease:low Ease rating is 5 or below. impact:high Impact rating is 6 or above. labels Mar 25, 2021
- Initial draft of data model and formats for spec
- Refactor core data model of https://github.com/forestpm/forest to implement draft spec
- Deploy analytics service for monitoring DHT for package usage
- Build and deploy marketing website for https://github.com/forestpm/forest and onboard early adopters
Copy link
Contributor

Choose a reason for hiding this comment

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

I agree this will be important. I foresee this project being 1/3 reference implementation, 1/3 creating the canonical interface/spec, and 1/3 knowledge sharing and prosthelytizing this amongst package managers users and developers to gain additional compatible implementations


<!--
Provide success criteria. These might include particular metrics, desired changes in the types of bug reports being filed, desired changes in qualitative user feedback (measured via surveys, etc), etc.
-->
Copy link
Contributor

Choose a reason for hiding this comment

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

I’d put the core “success metric” to be # of end users of content addressed package managers (ideally built on IPFS/libp2p/Filecoin using this spec)

Copy link
Contributor

Choose a reason for hiding this comment

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

So as you say, number of users/stars/mentions of Forest and the content addressed package mgmt spec - and number of compatible implementations/tools/etc


A documented set of basic standards for how to implement a content address package management system will enable new languages/communities to quickly produce reliable and secure implementations.

To enable this a specification for a protocol for content addressed package management would be written, along with a [working implementation](https://github.com/forestpm/forest), that outlines a standardized way for consumers, publishers and maintainers to share package management data that allows people to opt-in to various levels of decentralization without sacrificing existing usability, performance and security.
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we rename Forest please? I honestly love the name, but it’s just too common (Ex, there’s already a Filecoin implementation named Forest by Chainsafe, and many other projects w the same name). Maybe “foraoise” (Forest in Gaelic? Or another translation?)

A standardized package metadata format can enable the development of:
- a content addressable, public transparency log for all package managers, similar to the ]certificate transparency project](https://certificate.transparency.dev/)
- package maintainers could publish signed nfts of each release of their packages, enabling alternative sources of funding for open source

Copy link
Contributor

Choose a reason for hiding this comment

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

There is a concept forming around “public collections” that would likely apply both to public data like NFTs and Packages. Would love to see this work align with storing public record content addressed data in a fully resilient manner

#### Dependencies/prerequisites
<!--List any other projects that are dependencies/prerequisites for this project that is being pitched.-->

- Whilst not directly dependent on, https://github.com/protocol/beyond-bitswap/pull/29 can help ease onboarding
Copy link
Contributor

Choose a reason for hiding this comment

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

I would love for us to push on this, I think it'll make the process of integrating with existing ecosystems substantially easier as well as help us in a variety of other use cases.

@andrew andrew removed their assignment Dec 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ease:low Ease rating is 5 or below. impact:high Impact rating is 6 or above.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants