Closed daviddias closed 5 years ago
Just starting to dive into these docs, one thing that initially jumps out at me about the spreadsheet is that it mixes clients and registries together.
For example, some of the Javascript package managers are clients that talk to an npm registry whilst npm is both a registry and a client.
Another example is Maven (both a client and a registry) and clojars, which is a registry, (the most popular clojure specific package manager clients are Leiningen and Boot but in reality clojars is a Maven repository, which Java pm clients (Maven, ant, gradle etc) can speak to as well.
I'm going to spend a little time categorizing clients vs registries, where a registry is a source of package code and metadata of which there can be multiple instances with mirrored or unique data, and clients that people use to interact with those registries.
To get a working IPFS implementation of a package manager, we'll definitely need the registry support, and client support can be achieved in varying levels of implementation, such as:
All of this is working under the assumption that we are focused on IPFS as a transport for existing package managers, with the ability to publish in a decentralized manner directly to IPFS as a separate goal for the future.
Started to put together some notes on the categorization of package managers, which will help to restructure the spreadsheet a little: https://docs.google.com/document/d/1WwekeTJ4tAPjLVDnfIt-dXrgu7vGD29T07EQWN2_G-A/edit?usp=sharing
@andrew This is kind of on the user side of package managers but very related, an issue I wrote up mid last year regarding private packages & enterprise: https://github.com/ipfs/user-research/issues/1 It isn't top priority but is still something that does need to be taken into consideration as not every org open sources everything.
@andrew Is this issue a candidate for your add-to-docs-directory effort?
@jessicaschilling yeh good call
I believe all of this has been transferred to other places in this repo (most likely all in the docs directory ). I'm going to close this issue as done since conversation about the package manager use case has well and truly been kicked off and moving forward 🎉 .
@andrew or others -- please re-open if everything here hasn't been documented/linked elsewhere, and drop a status update.
As promised during yesterday's PL IPFS Team Call (Jan 29) and Project WG Weekly Sync (Jan 29), I come here to present my first stab at unpacking (more untangling) what we know and don't know about Package Managers, creating a soundboard for continuous brainstorming.
This is of course a first pass with the time I had available today, there is lot more to do. I want to give you an update today as promised and I do believe it is best to share with you at this stage so that now we have shared resources to brainstorm around it.
The docs to look for are:
I'll avoid duplicating the information into this issue as you can read it directly in the doc. Nevertheless, here are brief introductions and a quick birds eye view of their contents
Package Manager Requests & Pre-boot Discussion
This document is effectively a brain dump. I groomed it to have its information organized. You can learn here about what is the state of the multiple conversations with package managers people, what we learned so far and notes on what is next. It is also a great index to all previous discussions.
Requirements for Package Managers
This spreadsheet is the result of a Deep Dive during the 2018 Dev Meetings in Berlin. It is a framework to capture info about each package manager ecosystem.
The Package Managers Usecase
This is a new document. It is the soundboard that is mention on the first paragraph. It packs and introduction to why Package Managers as a usecase and presents sections with prompts for us to collectively gather the known knowns and the known questions we have to answer.
Please read them and ask all your questions either here or through comments on the docs directly :) Have fun reading it all 📖 👓 🤯