pjfanning opened a new issue, #265:
URL: https://github.com/apache/openserverless/issues/265

   
`build/openwhisk/common/scala/src/main/scala/org/apache/openwhisk/core/containerpool/logging/DockerToActivationFileLogStore.scala`
 (vendored from Apache OpenWhisk, shipped in the 0.9.0-incubating-RC7 source 
release) contains code that its own comment says was copied from Akka:
   
   ```scala
   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])(
       strategy: Int => Graph[UniformFanOutShape[T, U], NotUsed]): Sink[T, (M1, 
M2)] = {
       Sink.fromGraph(GraphDSL.create(first, second)((_, _)) { implicit b => 
(s1, s2) =>
         import GraphDSL.Implicits._
         val d = b.add(strategy(2))
   
         d ~> s1
         d ~> s2
   
         SinkShape(d.in)
       })
     }
   }
   ```
   
   It is adapted from `Sink.combine` in Akka 2.6.12 (the version OpenWhisk 
builds against), [`akka-stream/src/main/scala/akka/stream/scaladsl/Sink.scala` 
lines 
315-330](https://github.com/akka/akka/blob/v2.6.12/akka-stream/src/main/scala/akka/stream/scaladsl/Sink.scala#L315-L330),
 `Copyright (C) 2014-2021 Lightbend Inc.`
   
   Akka 2.6.x was released under the Apache License 2.0 (Akka moved to the BSL 
from 2.7.0), so there is no licence conflict, but the derived code is not 
attributed: the file only carries the ASF header, and the top-level `LICENSE` 
does not mention Akka.
   
   Suggested fix, either:
   
   1. Add a `LICENSE` entry noting that `OwSink.combine` in this file is 
derived from Akka 2.6.12 `Sink.combine` (Apache-2.0, Copyright Lightbend Inc.), 
and carry any applicable Akka `NOTICE` text; or
   2. Rewrite `OwSink.combine` independently and drop the "copied from" 
comment. It is a small `GraphDSL` graph; alternatively, [Apache 
Pekko](https://pekko.apache.org/) (the ASF fork of Akka 2.6) has the same 
`Sink.combine`, and deriving from Pekko would make this ASF-to-ASF.
   
   The same code is in upstream Apache OpenWhisk. Related: #260.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to