Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

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

Fechada Para iniciantes
#264 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
72/100
Tipo de issue
Documentação
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
scala
Domínio
cli, documentation

Direção de pesquisa

Comece por build/openwhisk/tools/admin/src/main/scala/org/apache/openwhisk/core/cli/Main.scala e compare printErr com ScallopConf.scala, linhas 77-85, no Scallop 3.3.2. Verifique a LICENSE no nível superior e as issues relacionadas #259 e #260. Considera-se concluído quando a implementação copiada for substituída e seu comentário de atribuição for removido, ou quando ela for preservada com o aviso MIT exigido do Scallop e a referência ao arquivo.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.

Linguagem predominante
Python
Estrelas
576
Forks
29
Merge médio
3d 39min
PRs com merge (30d)
5

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de apache/openserverless

Todas as issues de apache/openserverless

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.