Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Main.scala (OpenWhisk admin tool) contains MIT-licensed code from Scallop without attribution

Geschlossen Anfängerfreundlich
#264 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
72/100
Issue-Typ
Dokumentation
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
scala
Bereich
cli, documentation

Rechercherichtung

Beginne mit build/openwhisk/tools/admin/src/main/scala/org/apache/openwhisk/core/cli/Main.scala und vergleiche printErr mit ScallopConf.scala, Zeilen 77-85, in Scallop 3.3.2. Prüfe die LICENSE auf oberster Ebene sowie die zugehörigen Issues #259 und #260. Als erledigt gilt die Aufgabe, wenn entweder die kopierte Implementierung ersetzt und ihr Attribution-Kommentar entfernt wird oder sie mit dem erforderlichen Scallop MIT-Hinweis und dem Verweis auf die Datei beibehalten wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

build/openwhisk/tools/admin/src/main/scala/org/apache/openwhisk/core/cli/Main.scala (vendored from Apache OpenWhisk, shipped in the 0.9.0-incubating-RC7 source release) contains code copied from Scallop, which is MIT-licensed:

  private def printErr(message: String): Unit = {
    //Taken from ScallopConf
    if (overrideColorOutput.value.getOrElse(System.console() != null)) {
      Console.err.println("[\u001b[31m%s\u001b[0m] Error: %s" format (printedName, message))
    } else {
      // no colors on output
      Console.err.println("[%s] Error: %s" format (printedName, message))
    }
  }

This is the default errorMessageHandler from Scallop 3.3.2 (the version the admin tool depends on), jvm/src/main/scala/org.rogach.scallop/ScallopConf.scala lines 77-85, minus the final sys.exit(1):

  errorMessageHandler = { message =>
    if (overrideColorOutput.value.getOrElse(System.console() != null)) {
      Console.err.println("[\u001b[31m%s\u001b[0m] Error: %s" format (printedName, message))
    } else {
      // no colors on output
      Console.err.println("[%s] Error: %s" format (printedName, message))
    }
    sys.exit(1)
  }

Scallop is licensed under the MIT License, Copyright (C) 2012 Platon Pronko and Chris Hodapp. MIT is Category A, so it can be included, but the MIT licence requires its copyright and permission notice to be kept with the copied code. Currently the file only carries the ASF header, and the top-level LICENSE does not mention Scallop.

Suggested fix, either:

  1. Rewrite printErr independently (it is a few lines of error printing), and drop the "Taken from ScallopConf" comment; or
  2. Keep it and add a LICENSE entry for Scallop (MIT, with its copyright line and licence text), noting the file it is used in.

The same code is in upstream Apache OpenWhisk (tools/admin/src/main/scala/org/apache/openwhisk/core/cli/Main.scala). Related: #259, #260.

Vorherrschende Sprache
Python
Sterne
576
Forks
29
Ø Merge
3 T. 39 Min.
Gemergte PRs (30 T.)
5

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus apache/openserverless

Alle Issues in apache/openserverless

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.