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

Completing the Moby transition #35115

Open
tiborvass opened this Issue Oct 6, 2017 · 15 comments

Comments

7 participants
@tiborvass
Copy link
Collaborator

tiborvass commented Oct 6, 2017

Problem statement

The moby repository is the home for the Moby Project, an open framework to assemble specialized container systems. It was started in the context of separating the Docker product from the Project itself to allow more innovation.

However, the transition to Moby is not yet complete and this is causing confusion. There are still things to change in this repo to complete that transition and we'd like to make sure we cover it all in this issue. We would like to resolve this issue in a short period.

Success Criteria

  • The purpose and function of the Moby project is well understood as a modular base for building container systems
  • The contents of the moby/moby repo is clearly consistent with the purpose and function of the project
  • The word “Moby” can be used standalone without ambiguity
  • Moby is organised as a collection of tools
  • Some Moby tools implement common container system functionality, such as the engine API, container init, etc
  • Other Moby tools facilitate the development and packaging of a container system, such as build and assembly of containerized components into systems
  • It’s easy to contribute to Moby
  • It’s easy for downstream packagers to distribute Moby
  • People mistakenly looking for Docker products or support can easily be redirected
  • Go developers have clear guidelines for reusing code from Moby - which packages are stable, how to avoid breaking when Moby is updated, versioning and releases
  • The repository makes it easy to maintain and distribute Moby based systems, both forks and platforms using the Moby components. This includes trademark policy.

Tasks

To complete the Moby transition, the following tasks must be completed:

  • Update README (#35141)
  • Update CONTRIBUTING (#35168)
  • Update ROADMAP (#35171)
  • Update mobyproject.org website
  • Rename dockerd to moby-engine (#34226)
  • Rename the other docker- prefixed tools to moby-. (#34226)
  • Remove other places where the word "docker" is used over time, taking care to allow existing applications to transition. This includes names of environment variables, sockets etc.
  • organize the code in a clear way that reflects the new architecture, with each component and tool in a top level directory, and documented import paths for libraries.
  • Replace the old Go import path github.com/docker/docker/... with github.com/moby/moby/... in as clean a way as possible, and help the community make this transition.
  • rename "Docker Engine API" to "Moby Engine API", making the short format "Engine API" still hold.
  • Merge github.com/moby/tool into github.com/moby/moby, and rename the moby tool to moby-assemble
  • Bring the registry binary and libraries now in github.com/docker/distribution into the Moby project and rename the binary moby-registry.
  • Bring other components of the platform into the project.
  • Define a release cadence and document stability guarantees
  • Set a new version and versioning scheme (eg semver) and apply across the entire repo. We propose to resume the original open-source engine versioning (starting at 2.0 for smooth transition) and cadence (Linux-style loosely time-based release trains, every 4 to 8 weeks, with an always-releasable master)
  • Restart source and binary releases and document them clearly
  • Complete issue transition so issues are relevant to this repo.

Criteria for inclusion into Moby

  • Inclusion of a tool in github.com/moby/moby
    • If code has a direct dependency or tight coupling to other moby tools, it should be in moby/moby
    • If code implements part of the APIs of the Docker project, so it is a core part of a container runtime, it should be moved into moby/moby
  • Spin-out of a fully standalone project to its own organization
    • If a project is fully standalone in API, functionality and community, it should be moved to its own github org.
    • These projects may be donated external organizations as they mature, eg OCI, CNCF
  • Incubation of a standalone project in the github.com/moby organization
    • If a project is on track to becoming fully standalone, but not completely there yet, it should be incubated as a separate repo in the moby org.

Let us know if you want to help or have questions!

@AkihiroSuda

This comment has been minimized.

Copy link
Member

AkihiroSuda commented Oct 7, 2017

Rename dockerd to moby-engine

Why "Moby Core" was abandoned?
cc @shykes

@AkihiroSuda

This comment has been minimized.

Copy link
Member

AkihiroSuda commented Oct 7, 2017

  • Are we no longer trying to rename moby/moby to moby/moby-core (moby/moby-engine)?
  • Are we no longer trying to define gRPC version of Engine API?
@AkihiroSuda

This comment has been minimized.

Copy link
Member

AkihiroSuda commented Oct 7, 2017

@tiborvass Please add "Update ROADMAP.md" to the task list?

@justincormack

This comment has been minimized.

Copy link
Contributor

justincormack commented Oct 7, 2017

@AkihiroSuda the main aim of this is to resolve the transition fully with the least confusion, and keeping this repo at moby/moby to avoid another move reduces change and confusion, and it is a reasonable place. core vs engine people seemed divided but engine has more continuity. Plus we are making it clear that you can use the Moby name. We felt that moving the repo caused so much confusion last time that doing it again would be a mistake.

gRPC is not removed, but this is just trying to cover what is needed to clear up confusion and enable contributions, the items listed here are organizational and naming changes not big technical pieces of work.

@yongtang

This comment has been minimized.

Copy link
Member

yongtang commented Oct 7, 2017

:+1 for moby/moby, I think that will help reduce confusion.

@shykes

This comment has been minimized.

Copy link
Collaborator

shykes commented Oct 7, 2017

@shykes

This comment has been minimized.

Copy link
Collaborator

shykes commented Oct 9, 2017

Can I suggest one more task: complete issue transition. The current state of github issues on this repo is a mess - it still mixes Docker CE and Moby issues. I think the influx of Docker CE issues is slowing down, now that there is github.com/docker/for-mac, github.com/docker/for-linux, etc. But we need to do a pass on the pre-existing backlog. Any suggestions on the best way to do that?

@justincormack

This comment has been minimized.

Copy link
Contributor

justincormack commented Oct 9, 2017

@shykes added to list

justincormack added a commit to justincormack/docker that referenced this issue Oct 9, 2017

Update README for Moby Project
As described in moby#35115 Completing the Moby Transition, we would like to complete the transition
stage that we began a while back. This tries to clarify what and who this project is for.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
@thaJeztah

This comment has been minimized.

Copy link
Member

thaJeztah commented Oct 9, 2017

👍 for this proposal

justincormack added a commit to justincormack/docker that referenced this issue Oct 11, 2017

Remove Docker logo
No longer used as we are using the Moby logo.

Refer to moby#35115 for more details.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>

This was referenced Oct 11, 2017

justincormack added a commit to justincormack/docker that referenced this issue Oct 11, 2017

Update the Roadmap
As part of the Moby transition (see moby#35115), update the Roadmap to
reflect the new priorities. Also just update it as it was written
a while back, and we made some progress in areas such as `containerd`.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>

justincormack added a commit to justincormack/docker that referenced this issue Oct 11, 2017

Update the Roadmap
As part of the Moby transition (see moby#35115), update the Roadmap to
reflect the new priorities. Also just update it as it was written
a while back, and we made some progress in areas such as `containerd`.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>

justincormack added a commit to justincormack/docker that referenced this issue Oct 11, 2017

Update the Roadmap
As part of the Moby transition (see moby#35115), update the Roadmap to
reflect the new priorities. Also just update it as it was written
a while back, and we made some progress in areas such as `containerd`.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>

justincormack added a commit to justincormack/docker that referenced this issue Oct 11, 2017

Update the Roadmap
As part of the Moby transition (see moby#35115), update the Roadmap to
reflect the new priorities. Also just update it as it was written
a while back, and we made some progress in areas such as `containerd`.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>

justincormack added a commit to justincormack/docker that referenced this issue Oct 11, 2017

Update the Roadmap
As part of the Moby transition (see moby#35115), update the Roadmap to
reflect the new priorities. Also just update it as it was written
a while back, and we made some progress in areas such as `containerd`.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
@AkihiroSuda

This comment has been minimized.

Copy link
Member

AkihiroSuda commented Nov 10, 2017

Bring the registry binary and libraries now in github.com/docker/distribution into the Moby project and rename the binary moby-registry.

Not sure this is the right place to ask this question, but what is the plan about the registry API spec?

Is it going to be transferred to the Moby Project as well as its implementation, or is it still under Docker, Inc.'s control?

@tiborvass @dmcgowan @stevvooe

@thaJeztah

This comment has been minimized.

Copy link
Member

thaJeztah commented Nov 10, 2017

I personally see no reason to keep the API spec separate from the project, but my 0.02c

@sheerun

This comment has been minimized.

Copy link

sheerun commented Nov 14, 2017

Set a new version and versioning scheme (eg semver) and apply across the entire repo. We propose to resume the original open-source engine versioning (starting at 2.0 for smooth transition)

just FYI you already use v17.x in tags, and this is semantically greather than v2.0. Any go dependency tool that respects semver will suggest v17.x tags as an upgrade of v2.0..

@tiborvass

This comment has been minimized.

Copy link
Collaborator Author

tiborvass commented Nov 14, 2017

@sheerun I tried with go dep and it was upgrading to v2.0 instead of v17.x.

@sheerun

This comment has been minimized.

Copy link

sheerun commented Nov 14, 2017

hmm it might be because v17 has suffix and is treated as prerelease

salah-khan added a commit to salah-khan/moby that referenced this issue Nov 15, 2017

Update README for Moby Project
As described in moby#35115 Completing the Moby Transition, we would like to complete the transition
stage that we began a while back. This tries to clarify what and who this project is for.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>

salah-khan added a commit to salah-khan/moby that referenced this issue Nov 15, 2017

Remove Docker logo
No longer used as we are using the Moby logo.

Refer to moby#35115 for more details.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>

salah-khan added a commit to salah-khan/moby that referenced this issue Nov 15, 2017

Update the Roadmap
As part of the Moby transition (see moby#35115), update the Roadmap to
reflect the new priorities. Also just update it as it was written
a while back, and we made some progress in areas such as `containerd`.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
@AkihiroSuda

This comment has been minimized.

Copy link
Member

AkihiroSuda commented Jan 18, 2018

Registry API is being donated to OCI: https://docs.google.com/document/d/15y0SBrrDFIEM7pnU-Oe3Y6pq-eTZfo0mk-k33cS2hR4/edit?ts=5a5fd0ec

Anyone working on moving docker/distribution implementation to moby-registry?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment