CycloneDX / CycloneDX/cyclonedx-core-java

Confusing name of `LicenseChoice` class

Open
#307 1 comment 2 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
120
Forks
90
Avg merge
12h 43m
Merged PRs (30d)
18

Description

I'm continuously stumbling over

https://github.com/CycloneDX/cyclonedx-core-java/blob/79b808f5a77b6f6465d649761974841293887f99/src/main/java/org/cyclonedx/model/LicenseChoice.java#L31

To me, the name of the class sounds as if it would implement a choice mechanism that for example says "whenever you encounter the SPDX license expression `MIT OR BSD`, choose `MIT`". But actually, no "choice" seems to be involved here at all, and the class simply holds a list of license objects and / or its belonging SPDX license expression string.

So, where does "Choice" in the class name come from? Does it make sense to clarify this in the class docs?

Contributor guide

Open the contributing guide

Research direction

Read src/main/java/org/cyclonedx/model/LicenseChoice.java around line 31 and compare the class name with its documented role of holding license objects and/or an SPDX license expression. Done means the class documentation clearly explains the meaning of “Choice” or the naming concern is resolved; the issue has no test location mentioned.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
documentation
Issue type
Documentation
Difficulty
1/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.