Skip to content

Latest commit

 

History

History
235 lines (154 loc) · 7.81 KB

File metadata and controls

235 lines (154 loc) · 7.81 KB

Attribution and Credits

This project builds on the work of the open source community. We acknowledge and thank the following projects and contributors.


Research and Inspiration

Modem Compatibility Research

Data Contributors (Auto-Generated)

Users who provided modem captures for parser development:

Contributor Modem Contribution Issue
@captain-coredump ARRIS SB6141 HTML samples and compatibility testing (Community Forum)
@dlindnegm Motorola MB8611 Original HTML page captures #4
@cvonk Motorola MB8611 HAR captures, debug logs, iterative testing #6
@Mar1usW3 Technicolor TC4400 HTML samples and compatibility testing #1

External References (Auto-Generated)

Open source projects that informed our parser implementations:

Project Used For Contribution
BowlesCR/MB8600_Login Motorola MB8611 HNAP HMAC-MD5 challenge-response authentication
Tatsh/mb8611 Motorola MB8611 HNAP action names and response field definitions (StatusSoftwareSfVer, etc.)
xNinjaKittyx/mb8600 Motorola MB8611 Protocol reference and prior art for understanding HNAP flow
philfry/check_tc4400 Technicolor TC4400 Related prior art for TC4400 web interface monitoring

Polling Interval Research

SNMP Polling Best Practices

  • Source: Obkio Network Monitoring Blog
  • URL: https://obkio.com/blog/snmp-polling/
  • Contribution: Industry standards for network device polling intervals (5-10 minutes standard)
  • Applied: Default scan interval configuration (300 seconds)

API Polling Best Practices

Network Device Polling Guidelines


Dependencies

This integration relies on the following open source libraries:

Python Libraries

Development & Testing


Community Contributions

Hardware Testing & Samples

  • @captain-coredump - Confirmed ARRIS SB6141 compatibility, provided HTML samples and testing feedback (Community Forum)
  • @esand - Provided Technicolor XB7 HTML samples and detailed modem information (Issue #2)

User Contributions

  • Users who report modem compatibility issues
  • Contributors who provide HTML samples for new modem support
  • Community members who test pre-release versions
  • Documentation improvements and bug reports

Thank you to all community members who help improve this integration!


Tools and Platforms

  • GitHub - Code hosting and collaboration
  • GitHub Actions - CI/CD automation
  • HACS (Home Assistant Community Store) - Distribution platform
  • Home Assistant - Smart home platform

Attribution Policy

For This Project

When using or referencing this project:

Our Commitment

We commit to:

  • ✅ Properly attribute external research and code
  • ✅ Credit community contributors
  • ✅ Acknowledge dependencies
  • ✅ Respect open source licenses
  • ✅ Give back to the community

If We Missed Something

If we've used your work without proper attribution:

  1. We sincerely apologize - it was unintentional
  2. Please open an issue or contact us
  3. We'll add proper attribution immediately

Open source thrives on mutual respect and acknowledgment. We're committed to doing our part.


Attribution Standards

When adding a parser informed by external code or research, follow these standards.

Parser docstring template

Document the source in the parser docstring:

"""
{Manufacturer} {Model} parser for Cable Modem Monitor.

Auth implementation informed by:
- {Author/Project name}: {URL}

See ATTRIBUTION.md for full credits.
"""

Adding to ATTRIBUTION.md

Add an entry under "External References" with:

  • Project name and author
  • Repository URL
  • What we learned from it
  • License acknowledgment

We learn from, not copy. External references inform our approach; we implement in our own architecture with proper attribution.

AI-assisted attribution discipline

AI tools sometimes add plausible-sounding citations that weren't actually referenced during development. Before committing:

  1. Review all attributions — verify each one is real and that you can explain how it influenced the work.
  2. Verify you can answer "how did we use this?" — if you can't explain the specific influence, use softer framing instead of claiming direct learning.
  3. Data contributors are verifiable — issue numbers, forum posts, and HAR captures can be traced. External code references added by AI may not be.

Honest framing levels

Framing When to use it Example phrasing
"Based on" / "Informed by" The source's approach is traceable in the code "Auth flow informed by BowlesCR/MB8600_Login (HMAC-MD5 challenge-response)"
"Field definitions from" Specific field names or values came from the source "Response field names from Tatsh/mb8611"
"Related prior art" Similar work exists; direct influence can't be verified "Related prior art: other DOCSIS modem monitoring projects"

When in doubt

  • Don't remove existing attribution — removing credit looks worse than over-crediting.
  • Soften the language — change "Based on" to "Related prior art."
  • Document the uncertainty — note in your tracker that influence couldn't be verified.

How to Get Credit

Contributing Code

  • Pull requests with merged code are automatically credited in release notes
  • Your GitHub profile is linked in commit history
  • Significant contributions acknowledged in this file

Contributing Research/Ideas

  • Open an issue describing your contribution
  • We'll add you to the acknowledgments section
  • Credit will be included in relevant documentation

Providing Modem Support

  • Users who provide HTML samples for new modem support are credited in:
    • Release notes when support is added
    • Comments in the code for that modem
    • Compatibility guide

Contact

Questions about attribution or credits?


Last Updated: 2025-10-28 Document Version: 1.1