kindcontainer icon indicating copy to clipboard operation
kindcontainer copied to clipboard

Remove unnecessary MIT license header from K3sContainer

Open dajudge opened this issue 1 month ago • 2 comments

Background

During a license audit, we found that K3sContainer.java contains an MIT license header referencing the Testcontainers K3s module. The header was added out of caution when this implementation was created, stating the file was "loosely inspired by" the Testcontainers version.

Analysis

After comparing the two implementations, there are no substantial similarities beyond standard K3s configuration requirements:

Common elements (standard K3s requirements, not copyrightable):

  • Privileged mode (required by K3s)
  • tmpfs for /run and /var/run (required by K3s)
  • CgroupnsMode = "host" (required by K3s)
  • Disabling traefik by default (common practice)

Significant differences:

  • Class hierarchy: KubernetesWithKubeletContainer vs GenericContainer
  • Kubeconfig handling: Custom utilities vs Jackson YAML parsing
  • Dependencies: No Jackson/Lombok
  • Feature set: Version management, node port ranges, command line modifiers
  • Implementation: Completely different code structure

The original Testcontainers K3s module is 70 lines with Jackson-based kubeconfig parsing. This implementation is 124 lines with a completely different architecture and feature set.

Request for Feedback

Before merging, we'd like to confirm with the Testcontainers maintainers that:

  1. They agree this is not a derivative work requiring MIT license attribution
  2. The removal of the header is appropriate

Summoning @kiview @rnorth - would appreciate your perspective on this. If you believe the MIT header should remain for any reason, we're happy to keep it.

Changes

  • Removed MIT license header
  • Replaced with simple comment noting K3s standard requirements
  • No code changes, only license header

🤖 Generated with Claude Code

dajudge avatar Dec 12 '25 19:12 dajudge