-
Notifications
You must be signed in to change notification settings - Fork 386
fix: rename Cisco EULA to General terms #4433
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
Conversation
|
This pull request is automatically being deployed by Amplify Hosting (learn more). |
📝 WalkthroughWalkthroughThis PR updates the license field in multiple package.json files. The root package.json and these packages change their license value to “Cisco’s General Terms (https://www.cisco.com/site/us/en/about/legal/contract-experience/index.html)”: @webex/internal-plugin-llm, @webex/internal-plugin-voicea, @webex/media-helpers, @webex/plugin-meetings, and packages/webex. Additionally, @webex/plugin-cc changes its license from “MIT” to “Cisco’s General Terms.” No other fields, code, dependencies, scripts, or behavior are modified. Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
Status, Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
♻️ Duplicate comments (3)
packages/@webex/media-helpers/package.json (1)
4-4: Standardize license metadata to a publish-safe format.Same as other packages: prefer an SPDX identifier, "UNLICENSED", or "SEE LICENSE IN " over a prose string with a URL.
Proposed change:
- "license": "Cisco's General Terms (https://www.cisco.com/site/us/en/about/legal/contract-experience/index.html)", + "license": "SEE LICENSE IN LICENSE"Ensure a LICENSE file with the approved Cisco terms is present in this package directory and included in the published artifact.
packages/@webex/internal-plugin-voicea/package.json (1)
4-4: Align with npm’s license field conventions.Avoid embedding URLs in the license value; use "SEE LICENSE IN LICENSE" (with a checked-in LICENSE file) or "UNLICENSED" as directed by Legal.
Suggested change:
- "license": "Cisco's General Terms (https://www.cisco.com/site/us/en/about/legal/contract-experience/index.html)", + "license": "SEE LICENSE IN LICENSE"packages/@webex/plugin-meetings/package.json (1)
4-4: Align with SPDX-friendly practice: prefer "SEE LICENSE IN LICENSE" and ship the LICENSE file.Same note as for other packages: a non-SPDX string will cause license tooling friction. Recommend switching to the “SEE LICENSE IN” pattern and adding a LICENSE file in this package directory that references Cisco’s General Terms (or includes the applicable text).
- Consider calling this out in release notes (legal change can impact consumers).
- If this package is published to npm, ensure the LICENSE file is included in the published tarball (npm will include LICENSE by default if present).
Proposed change:
- "license": "Cisco's General Terms (https://www.cisco.com/site/us/en/about/legal/contract-experience/index.html)", + "license": "SEE LICENSE IN LICENSE",If helpful, I can generate a standard LICENSE file for all touched packages and a small script to validate inclusion during packing.
🧹 Nitpick comments (1)
package.json (1)
20-20: Root metadata: prefer a license file + SEE LICENSE IN for clarity and tool compatibility.Even though the root is private, GitHub license detection and internal tooling work best with a LICENSE file and a compliant license field.
Recommended:
- "license": "Cisco's General Terms (https://www.cisco.com/site/us/en/about/legal/contract-experience/index.html)", + "license": "SEE LICENSE IN LICENSE"Also ensure a LICENSE file exists at the repo root with the current Cisco General Terms or the approved notice, and that downstream packages reference their own LICENSE if they differ.
To ensure consistency across the monorepo, run the script provided in the plugin-cc comment; it will flag any remaining URL-based license values and missing LICENSE files.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (7)
package.json(1 hunks)packages/@webex/internal-plugin-llm/package.json(1 hunks)packages/@webex/internal-plugin-voicea/package.json(1 hunks)packages/@webex/media-helpers/package.json(1 hunks)packages/@webex/plugin-cc/package.json(1 hunks)packages/@webex/plugin-meetings/package.json(1 hunks)packages/webex/package.json(1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-05-13T17:01:05.340Z
Learnt from: Kesari3008
PR: webex/webex-js-sdk#4258
File: packages/@webex/plugin-cc/src/webex.js:0-0
Timestamp: 2025-05-13T17:01:05.340Z
Learning: In the webex-js-sdk project, `PACKAGE_VERSION` is a constant that's injected by the build system and doesn't need to be explicitly imported in the source files.
Applied to files:
packages/@webex/media-helpers/package.jsonpackage.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Build Packages
| "name": "@webex/internal-plugin-llm", | ||
| "description": "", | ||
| "license": "Cisco EULA (https://www.cisco.com/c/en/us/products/end-user-license-agreement.html)", | ||
| "license": "Cisco's General Terms (https://www.cisco.com/site/us/en/about/legal/contract-experience/index.html)", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Use npm-compliant license metadata ("SEE LICENSE IN") and include a LICENSE file.
Non-SPDX strings in the "license" field often trigger npm/yarn warnings and break license scanners. For proprietary or non-SPDX terms, the recommended pattern is:
- Set license to "SEE LICENSE IN "
- Check in a LICENSE (or LICENSE.md) file in this package directory containing the applicable Cisco terms or a clear reference to the URL.
This keeps consumers’ compliance tools happy and avoids “UNKNOWN” license flags.
Proposed change (only this line):
- "license": "Cisco's General Terms (https://www.cisco.com/site/us/en/about/legal/contract-experience/index.html)",
+ "license": "SEE LICENSE IN LICENSE",If you want, I can generate the LICENSE file contents referencing Cisco’s General Terms and open a follow-up PR to add it across all affected packages. To verify consistency and link health across the repo, you can run:
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "1) List all packages and their license values:"
fd -a -t f package.json | sort | while read -r f; do
lic=$(jq -r '.license // empty' "$f" 2>/dev/null || true)
echo "$f => ${lic:-<no license field>}"
done
echo
echo "2) Check for LICENSE files next to package.json when using 'SEE LICENSE IN':"
fd -a -t f package.json | while read -r f; do
dir=$(dirname "$f")
lic=$(jq -r '.license // empty' "$f" 2>/dev/null || true)
if [[ "$lic" =~ ^SEE\ LICENSE\ IN ]]; then
name=$(echo "$lic" | sed -E 's/^SEE LICENSE IN[[:space:]]+//')
# Try several common locations
if [[ -f "$dir/$name" || -f "$dir/LICENSE" || -f "$dir/LICENSE.md" || -f "$dir/LICENCE" || -f "$dir/LICENCE.md" ]]; then
echo "OK: $dir has license file ($name or standard)"
else
echo "MISSING: $dir lacks $name (or LICENSE/LICENCE) file"
fi
fi
done
echo
echo "3) Validate Cisco General Terms URLs (HTTP status should be 200 or 3xx):"
fd -a -t f package.json | while read -r f; do
url=$(jq -r '.license // empty' "$f" | grep -o 'https\?://[^)]*' || true)
if [[ -n "$url" ]]; then
code=$(curl -s -o /dev/null -w "%{http_code}" "$url" || true)
echo "$f => $url => HTTP $code"
fi
doneLength of output: 75702
Update license field and include LICENSE file for internal-plugin-llm
Replace the non-SPDX license string in packages/@webex/internal-plugin-llm/package.json and add a LICENSE file:
• packages/@webex/internal-plugin-llm/package.json (line 4): update license metadata
• packages/@webex/internal-plugin-llm/LICENSE: add file with Cisco’s General Terms or reference URL
- "license": "Cisco's General Terms (https://www.cisco.com/site/us/en/about/legal/contract-experience/index.html)",
+ "license": "SEE LICENSE IN LICENSE",Verified the Cisco URL returns HTTP 200. Similar updates will be needed for other packages using “Cisco’s General Terms” (plugin-voicea, media-helpers, plugin-cc, plugin-meetings, webex). I can help generate the LICENSE contents and open a follow-up PR across all affected packages.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "license": "Cisco's General Terms (https://www.cisco.com/site/us/en/about/legal/contract-experience/index.html)", | |
| "license": "SEE LICENSE IN LICENSE", |
🤖 Prompt for AI Agents
In packages/@webex/internal-plugin-llm/package.json around line 4, replace the
non‑SPDX license string with a SPDX-compatible pointer (e.g., "license": "SEE
LICENSE IN LICENSE") and add a new packages/@webex/internal-plugin-llm/LICENSE
file containing Cisco’s General Terms or a short header that references the
verified Cisco URL; ensure the package.json license field exactly matches the
LICENSE filename and that the LICENSE file includes the URL and any required
attribution text.
| "name": "@webex/plugin-cc", | ||
| "description": "This package provides a set of APIs to perform various operations for the Agent flow within Webex Contact Center", | ||
| "license": "MIT", | ||
| "license": "Cisco's General Terms (https://www.cisco.com/site/us/en/about/legal/contract-experience/index.html)", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Use an npm-compliant license value (avoid free-form strings with URLs).
npm expects either an SPDX identifier, "UNLICENSED", or "SEE LICENSE IN ". A free-form string with a URL will trigger warnings and can break license scanners and compliance tooling, especially if this package is published.
Apply this change to align with npm guidance and make the license auditable:
- "license": "Cisco's General Terms (https://www.cisco.com/site/us/en/about/legal/contract-experience/index.html)",
+ "license": "SEE LICENSE IN LICENSE"Follow-ups:
- Add the LICENSE file with the Cisco General Terms/EULA text (or the approved notice) to this package directory and ensure it’s included in the published tarball.
- If Legal prefers “UNLICENSED” for EULA-governed modules, use
"license": "UNLICENSED"instead, and still include a LICENSE (or NOTICE) file.
Run this repository-wide check to see all license values and any missing LICENSE files:
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "License values (path,license):"
fd -a package.json | while read -r f; do
lic=$(jq -r '.license // "N/A"' "$f" 2>/dev/null || echo "N/A")
echo "$f,$lic"
done | sort
echo
echo "Packages with non-standard license values (contain http/URL or Cisco strings):"
fd -a package.json | xargs -I{} awk -F: '/"license":/ {print FILENAME ":" $0}' {} | \
grep -Ei 'license.*(http|cisco)' || true
echo
echo "Packages using SEE LICENSE IN without a LICENSE file next to package.json:"
fd -a package.json | while read -r f; do
lic=$(jq -r '.license // ""' "$f" 2>/dev/null || echo "")
if echo "$lic" | grep -qEi '^SEE LICENSE IN '; then
dir=$(dirname "$f")
file=$(echo "$lic" | sed -E 's/^SEE LICENSE IN[ ]+//')
if [ ! -f "$dir/$file" ]; then
echo "$f -> missing $file"
fi
fi
doneLength of output: 44434
Standardize npm license fields across affected packages
A repository-wide check shows multiple package.json files using free-form license strings or URLs, which will trigger npm warnings and break license scanners. npm requires a valid SPDX identifier, "UNLICENSED", or "SEE LICENSE IN <file>".
Packages to update:
• ./package.json
• ./packages/@webex/internal-plugin-llm/package.json
• ./packages/@webex/internal-plugin-voicea/package.json
• ./packages/@webex/media-helpers/package.json
• ./packages/@webex/plugin-cc/package.json
• ./packages/@webex/plugin-encryption/package.json
• ./packages/@webex/plugin-meetings/package.json
• ./packages/webex/package.json
• ./packages/webex-node/package.json
As an example, in packages/@webex/plugin-cc/package.json apply:
- "license": "Cisco's General Terms (https://www.cisco.com/site/us/en/about/legal/contract-experience/index.html)",
+ "license": "SEE LICENSE IN LICENSE"Follow-ups:
- Add a LICENSE file containing the Cisco General Terms/EULA (or approved notice) in each package directory.
- Ensure the LICENSE file is included in published tarballs.
- If Legal prefers EULA-governed modules to be
"UNLICENSED", update the field accordingly and still include a LICENSE or NOTICE file.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "license": "Cisco's General Terms (https://www.cisco.com/site/us/en/about/legal/contract-experience/index.html)", | |
| "license": "SEE LICENSE IN LICENSE" |
🤖 Prompt for AI Agents
In packages/@webex/plugin-cc/package.json around line 4, the "license" field
uses a free-form string/URL which is invalid for npm; update it to a valid SPDX
identifier (e.g., "UNLICENSED" if Legal prefers) or use the SEE LICENSE IN
pattern such as "SEE LICENSE IN LICENSE" and add a LICENSE (or NOTICE) file in
the package directory containing the Cisco General Terms/EULA, ensuring that
LICENSE is included in the package tarball; repeat the same standardized change
across the other listed package.json files.
| "name": "webex", | ||
| "description": "SDK for Cisco Webex", | ||
| "license": "Cisco EULA (https://www.cisco.com/c/en/us/products/end-user-license-agreement.html)", | ||
| "license": "Cisco's General Terms (https://www.cisco.com/site/us/en/about/legal/contract-experience/index.html)", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Public package: avoid non-SPDX license strings to keep compliance tooling happy.
This package is typically published to npm; using a free-form string with a URL can cause npm warnings and confuse automated scanners.
Recommended update:
- "license": "Cisco's General Terms (https://www.cisco.com/site/us/en/about/legal/contract-experience/index.html)",
+ "license": "SEE LICENSE IN LICENSE"Follow-up:
- Add/verify a LICENSE file in this package.
- If corporate guidance mandates a different representation (e.g., “UNLICENSED”), align consistently across all published packages.
You can reuse the repository-wide script shared in the plugin-cc comment to validate consistency and file presence.
🏁 Script executed:
#!/usr/bin/env bash
set -euxo pipefail
# Print the license field from the webex package.json
jq '.license' packages/webex/package.json
# Check for the presence of a LICENSE file in the package directory
find packages/webex -maxdepth 1 -type f \( -iname "LICENSE" -o -iname "LICENSE.md" \)Length of output: 273
Update SPDX license reference in package.json
The packages/webex/package.json currently uses a free-form license string which can trigger npm warnings and tooling issues. Since there is already a LICENSE file present, update the field to point to it:
• packages/webex/package.json (line 4):
- "license": "Cisco's General Terms (https://www.cisco.com/site/us/en/about/legal/contract-experience/index.html)",
+ "license": "SEE LICENSE IN LICENSE"• Confirmed packages/webex/LICENSE exists.
If your corporate policy requires a different SPDX notation (e.g., "UNLICENSED"), please apply it consistently across all published packages.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "license": "Cisco's General Terms (https://www.cisco.com/site/us/en/about/legal/contract-experience/index.html)", | |
| "license": "SEE LICENSE IN LICENSE" |
🤖 Prompt for AI Agents
In packages/webex/package.json around line 4, the license field uses a free-form
string which causes npm/tooling warnings; replace it with a SPDX-safe reference
that points to the repo LICENSE file (e.g., set "license": "SEE LICENSE IN
LICENSE") and save; if your corporate policy requires a different SPDX value
(for example "UNLICENSED"), apply that instead and ensure the same SPDX-style
license value is used consistently across all published packages.
COMPLETES AdHoc
This pull request addresses
As per internal discussions, it is highlighted that this contains some code that can be public but the copyrights should still be with Cisco.
by making the following changes
Changed License in package.json from MIT to Cisco EULA
Change Type
The following scenarios were tested
NA
The GAI Coding Policy And Copyright Annotation Best Practices
I certified that
Make sure to have followed the contributing guidelines before submitting.