Skip to content
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

docs: proposed TRG 7.09 #1045

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 79 additions & 0 deletions docs/release/trg-7/trg-7-09.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
---
title: TRG 7.09 - Deprecation of Unmaintained Product Repositories
tom-rm-meyer-ISST marked this conversation as resolved.
Show resolved Hide resolved
---

| Status | Created | Post-History |
|--------|-------------|---------------------------------------|
| Draft | 02-Oct-2024 | Initial draft |

## Why

Eclipse Tractus-X is an open source project governed by the Eclipse Foundation and its Committers. Beside the role participating in maintaining the code base, within Eclipse Tractus-X the group of committers also acts as the project's security team. They have access to the tab "Security" and may see the vulnerabilities detected by the tooling set up in [TRGs 8](../trg-8/trg-8-01.md). As this group of committers is responsible for the whole project and has limited resources, projects that don't receive any updates for a given time period will be deprecated. This is a "value-for-money" decision.
tom-rm-meyer-ISST marked this conversation as resolved.
Show resolved Hide resolved

## Description

Deprecation applies to repositories of type `product`. This information is maintained in the repository metafile (see [TRG 2.05](../trg-2/trg-2-5.md)).Deprecation of a repository means that **the repository is beeing archived**. It's still accessible from within the project, so that it could be revived. Please refer to [this list for examples of archived repositories within Eclipse Tractus-X](https://github.com/eclipse-tractusx/?q=&type=archived&language=&sort=).
tom-rm-meyer-ISST marked this conversation as resolved.
Show resolved Hide resolved
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Deprecation applies to repositories of type `product`. This information is maintained in the repository metafile (see [TRG 2.05](../trg-2/trg-2-5.md)).Deprecation of a repository means that **the repository is beeing archived**. It's still accessible from within the project, so that it could be revived. Please refer to [this list for examples of archived repositories within Eclipse Tractus-X](https://github.com/eclipse-tractusx/?q=&type=archived&language=&sort=).
Deprecation of a repository means that **the repository is being archived**. It's still accessible from within the project, so that it could be revived. Please refer to [this list for examples of archived repositories within Eclipse Tractus-X](https://github.com/eclipse-tractusx/?q=&type=archived&language=&sort=).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done


Additionally the helm charts and container images are still available and no information about the deprecation is passed to the user.

### Criteria for Deprecation

Committers consider the following criteria to propose deprecation of a repository:

1. The product of the repository has not been released within the *past year's major release cycle* **\***.
2. The standards used by the product have been changed in a major version within the *past year's major release cycle* **\***.
tom-rm-meyer-ISST marked this conversation as resolved.
Show resolved Hide resolved

**\*** The *past year's major release cycle* is the time span between the breaking change releases YY.06 e.g., 24.05 till 24.05.

### Process
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
### Process
### Deprecation Process

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done


To ensure the communities awareness the following process is used at least per major release planning:

```mermaid
graph TD
A[1: Prepare list of unmaintained repositories] --> B[2-1 Inform Eclipse Tractus-X community]
B --> C[2-2: Draft critical issue for committer meeting]
Copy link
Contributor

Choose a reason for hiding this comment

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

maybe switch 2.1 and 2.2

Copy link
Contributor Author

Choose a reason for hiding this comment

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

switched

C --> D[3: 2 week period: Comment on issue for criteria discussion]
D --> E[4-1: Committer meeting: Discuss list]
E --> F[4-2: Send email to mailing list]
Copy link
Contributor

Choose a reason for hiding this comment

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

Isn't this already covered by step 2?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

My idea was like: make the committers and the community aware of the issue. Wait for a grace period (at least one meeting in between) and then inform community "these are subject to deprecation"

I really want to emphasize, that this also somehow should be aligned best to the release cycle as it makes most sense to make persons prior to planning aware of this. One might also consider to trigger the evaluation always in the .03 releases.

Copy link
Contributor

Choose a reason for hiding this comment

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

The problem with the dependency to releases (or open plannings) is that that'll extend the grace period to multiple months in the worst case. Do we want that?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fair point. Likely not. If it's a platform component, we likely will stretch the grace period a little - but not by default.

Nevertheless, then we just need to align on whether we want to have the step 5 to communicate the deprecation planning during the open planning. I'm also fine if we don't do it.
Two mails (inform via mail that there are products that might be subject to deprecation in step 2 and in step 4 we would send a verified list of deprecation ready products) would still be OK, I think

F --> G[5: Open Planning: Communicate deprecation proposal during Open Planning]
G --> H{6: Action taken?}
H -->|No| I[End of Release: Deprecate repository]
H -->|Yes| J[Plan Update of repository]
tom-rm-meyer-ISST marked this conversation as resolved.
Show resolved Hide resolved
```

1. The committers prepare a list of unmaintained product repositories (**criteria 1**).
2. The committers inform the Eclipse Tractus-X community and the Eclipse Tractus-X community lead before the [feature proposal](https://catenax-ev.github.io/docs/next/working-model/release-management/planning/tx-feature-proposal-creation-approval) via the mailing list. This is done by an issue with checkboxes listing all these repositories (find the issue template below). Additionally a critical issue is drafted on the [board for the committer meeting](https://github.com/orgs/eclipse-tractusx/projects/61/views/6) in at least 2 full weeks.
tom-rm-meyer-ISST marked this conversation as resolved.
Show resolved Hide resolved
3. 2 weeks period: The committers comment the issue regarding which repositories are subject to **criteria 1** and **criteria 2**. Also if **Criteria 2** does not apply, deprecation may still be possible due to security concerns.
4. Committer meeting: The committers discuss the list and check the boxes in the issue. A Mail is sent out to the Eclipse Tractus-X mailing list. This list is splitted into platform products (e.g. Tractus-X EDC) and use case products (e.g. PURIS). See a template below.
5. During the [Open Planning](https://catenax-ev.github.io/docs/next/working-model/release-management/planning/tx-release-planning-days) the deprecation proposal is communicated again.
6. If no action is taken, during the Release of the major version, the committers deprecate the repository and inform the association's release management.
tom-rm-meyer-ISST marked this conversation as resolved.
Show resolved Hide resolved

### Issue Template for Deprecation List

``` markdown
# Deprecation List

The following repositories fulfill at least **criteria 1** so that deprectation has been proposed with this issue following [TRG 7.09](https://eclipse-tractusx.github.io/docs/release/trg-7/trg-7-09).

Dear @eclipse-tractusx/automotive-tractusx-committers walk through the following list and comment which of the repositories shall be checked. The list will be walked through as a critical topic in the committer meeting in two weeks.

- [ ] sample repo link 1
- [ ] sample repo link 2
```

### Mail Template for Deprecation

``` markdown
Dear Tractus-X Community,

Following repositories are proposed to be subject to deprecation with the upcoming release following [TRG 7.09](https://eclipse-tractusx.github.io/docs/release/trg-7/trg-7-09).

**Platform Products (CRITICAL)**:
- link to repository 1

**Use Case Products**:
- link to repository 2

**Call to Action**: Please discuss within your company e.g., with your central Catena-X responsibles, whether you run into an issue. We highly encourage the companies to at least find resources for the **Platform Products** to maintain an open-source data space.
```
tom-rm-meyer-ISST marked this conversation as resolved.
Show resolved Hide resolved
Loading