daytonaio / daytona

The Open Source Dev Environment Manager.
https://daytona.io
Apache License 2.0
8.46k stars 778 forks source link

Align component naming #747

Open vedranjukic opened 2 months ago

vedranjukic commented 2 months ago

Is your feature request related to a problem? Please describe. Component naming is not aligned with other products in the same dev tools space. It can confuse the new users and complicate the naming of new components and features.

Daytona uses the following components to define the relationship between applications (e.g., repositories) that are being developed. These components are:

Project - a container instance of a development environment consisting of OS, runtime, source code, packages and libraries, and development tools needed to develop an application. Each Project is related to a single application repository. Project configuration - a configuration schema for the Project instance (e.g., custom base image, builder configuration, environment variables, etc.) (WIP) Workspace - a set of related Projects (one or more) that can interact with one another over the Workspace network. The Workspace provides the interface that the user interacts with (to create, start, stop, or destroy a workspace). Workspace Template - a configuration schema that allows instant creation of predefined Workspaces (WIP).

Compared with other products in the same dev tools space, it indicates that Daytona's naming is not aligned with other products in the space.

Daytona AWS CodeCatalyst Azure DevBox Cloud Workspaces OpenShift DevSpaces GitHub Codespaces Gitpod Codesandbox
Workspace Template Blueprint (?) ? N/A N/A N/A N/A N/A
Workspace Project Project Workstation Cluster (*) N/A N/A N/A N/A
Project Configuration N/A (**) DevBox Definition Workstation Configuration N/A (Devfile) Prebuild N/A (gitpod.yaml) N/A
Project Dev Env DevBox Workstation Workspace Codespace Workspace DevBox

The Workspace and Project components in Daytona are used in very different contexts in other products.

Describe the solution you'd like We need to align the naming of Daytona's components so that they don't confuse the new users.

nkkko commented 2 months ago

My 2¢, I would always choose simplicity and follow the don't make me think principle, for example:

  1. "Workspace Template" is simply "Template"
  2. "Workspace" becomes "Project" - Aligns with the industry standard term for a collection of related components.
  3. "Project Configuration" is simply "Configuration"
  4. "Project" becomes "Environment" - Emphasizes the self-contained nature of each development setup within a project.
vedranjukic commented 2 months ago

I'm thinking the same about Workspace <> Project change. As for Project <> Environment - it makes sense, but I'm open to more suggestions. It is very important that there is no ambiguity here.

ivan-burazin commented 2 months ago

Workspace <> Project change seems very logical to me. so I agree with that. 👍

As for Project name, feels that alining with any doesn't help, as we have 2 x Devbox, 2 x Workspace, 1 x Workstation, 1 x Codespace and 1 x Dev Environment so there is no "correct" or even majority answer.

My suggestion still stay the same as before due to the confusion of adding new terminology (note on a call yesterday had to explain what a workspace was, again).

Dev Environment is all over marking materials and as such my vote is for that. "Dev Environment"