datproject-discussions icon indicating copy to clipboard operation
datproject-discussions copied to clipboard

Improving the dat project repository organization

Open aschrijver opened this issue 7 years ago • 5 comments

(NOTE This proposal is part 1c of Positioning, vision and future direction of the Dat Project)

In https://github.com/datproject/discussions/issues/70 you'll find a chart of the current dat-ecosystem, and a conclusion that it can be improved. This issue has a proposal for improvement:

datecosystem

Github organization for official modules of the Dat ecosystem

Repo name Current name Remarks
dat-node-cli dat remove one overloaded use of 'dat'
dat-node-api dat-node
dat-js-api dat-js
dat-hyperdrive hyperdrive
dat-hyperdrive-http hyperdrive-http
dat-hyperdrive-network-speed hyperdrive-network-speed
dat-hypercore hypercore
dat-hypercore-protocol hypercore-protocol
dat-hyperdiscovery hyperdiscovery
dat-multidat multidat
dat-multidrive multidrive
(other official dat-*) (same) remainder of green modules, 16 modules

Every repository is self-contained:

  • user manual (markdown)
  • api documentation (inline with code, e.g. jsdoc)
  • examples (code snippets included in user manual, api docs)
  • code
  • tests

datproject

Github organization for community-facing websites, non-code repositories

Repo name Remarks
web datproject.org, the central community hub
docs docs.datproject.org, architecture-, protocol-, user- and API- documentation

  • auto-generated
  • auto-aggregated
discussions discussion, questions, feature requests, ideas
roadmaps roadmaps, release planning, development strategy, ongoing projects
style visual design, assets, branding, renamed from design
awesome awesome page, renamed from awesome-dat

datattic

Github organization for archived repositories that are old, outdated, abandoned or just experiments


Next part: Provide high-level project tracking of ongoing work and roadmaps

aschrijver avatar Jul 27 '17 14:07 aschrijver

Given that a lot of the 'official' dat project modules currently are dispersed in repositories belonging to @mafintosh @karissa @joehand @juliangruber and others leads me to following questions:

  • Does this subdivision reflect who is the primary responsible person for a particular module?
  • Does every core team member have full access to each of these repositories?
  • Does every core team member actively monitor the whole of the 'official' ecosystem and jump in if other members are unavailable (respond to issues, merge PR's, change project config, TravisCI, etc.)?
  • Do you have overview yourself of all modules, to maintain consistency and compatibility?

aschrijver avatar Aug 01 '17 15:08 aschrijver

Some of the modules exist independently from dat, like for example hypercore and hyperdrive

juliangruber avatar Aug 02 '17 08:08 juliangruber

Yes, they have their independent uses. But they are foundational to the dat project. Without them no dat project. Its just a move to make it more consistent, nothing else changes. Besides the README's state they are part of dat project.

The reason you don't like the dat- prefix is maybe more to do with the term dat being overloaded about 4 or 5 times (dat = [dat project, dat archive, dat cli, dat api, dat technology, dat et al, ...]). In my proposed awesome page I correct a number of wrong uses of terminology and changed dat to dat archive in many occasions to get a more consistent use of domain language.

aschrijver avatar Aug 02 '17 08:08 aschrijver

Since nodejs is also foundational to the dat project, shall we rename it to dat-node? :P

juliangruber avatar Aug 02 '17 09:08 juliangruber

Ha ha, no, because it is not created by dat core team, does not mention it belongs to dat project..

aschrijver avatar Aug 02 '17 09:08 aschrijver