OwSink.combine is derived from Akka's Sink.combine but has no Lightbend attribution

Aperta
#5,590 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

@dajiaohuang ci sta già lavorando.

Dal 26/10/2026.

  • #5593 di @dajiaohuang — aperta

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
30/100
Tipo di issue
Documentazione
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
scala
Ambito
documentation

Direzione di ricerca

Read OwSink.combine in common/scala/src/main/scala/org/apache/openwhisk/core/containerpool/logging/DockerToActivationFileLogStore.scala and compare it with Akka 2.5.6's Sink.scala. Check ConcurrentMapBackedCache.scala for the existing attribution pattern and the Spray entry in LICENSE.txt. Done means the source notice and license entry cover the Akka-derived code; the issue notes related work is already underway in Apache OpenServerless.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

OwSink.combine in common/scala/src/main/scala/org/apache/openwhisk/core/containerpool/logging/DockerToActivationFileLogStore.scala says it was copied from Akka:

object OwSink {

  /**
   * Combines two sinks into one sink using the given strategy. The materialized value is a Tuple2 of the materialized
   * values of either sink. Code basically copied from {@code Sink.combine}
   */
  def combine[T, U, M1, M2](first: Sink[U, M1], second: Sink[U, M2])(

It was added in d69f8db02 (#2974, 2017), when OpenWhisk built against Akka 2.5.6. It is derived from Sink.combine in Akka 2.5.6's Sink.scala, which is Apache-2.0 and carries:

Copyright (C) 2014-2017 Lightbend Inc. <http://www.lightbend.com>

There is no licence conflict, but the derived code is not attributed. The file only has the ASF header, and neither LICENSE.txt nor NOTICE.txt mentions Akka or Lightbend. Apache-2.0 §4(c) requires keeping the copyright notices of the source.

Suggested fix, following what ConcurrentMapBackedCache.scala already does for its Spray-derived code:

  1. Keep the ASF header and add the upstream notice below it:

    /*
     * OwSink.combine is derived from Sink.combine in Akka 2.5.6:
     * Copyright (C) 2014-2017 Lightbend Inc. <http://www.lightbend.com>
     */
    
  2. Add an entry to LICENSE.txt next to the Spray one, naming the file, Akka 2.5.6, Apache-2.0 and the Lightbend copyright line.

Akka 2.5.6 ships no NOTICE file, so NOTICE.txt does not need to change. Re-deriving the code from Apache Pekko instead would not avoid this: Pekko's Sink.scala still carries the Lightbend copyright header.

Apache OpenServerless vendors this file and is fixing it in apache/openserverless-build#22 and apache/openserverless#270 (tracked in apache/openserverless#265).

Lingua principale
Scala
Stelle
6.8k
Fork
1.2k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di apache/openwhisk

Tutte le issue di apache/openwhisk

Issue simili

Altre issue su Scala

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.