AKKA가 BSL라이센스로 변경되면서 AKKA는 더이상 무료가 아니지만~ 안정적으로 운영되다 전환된 버전을 오픈소스로 지원하네요

최신버전을 사용할수는 없지만 오히려 안정적인 버전을 오픈소스로 이용할수는 있게 되었습니다. 


FORK를 딴버전이라 의존성및 import 경로변경 약간의 수고스러움만 하면 100%호환가능하며 지원 버전은 최신문서를 주시

의존성

	val scalaVersion = "2.13"
	val akkaVersion = "2.7.0"
	val pekkoVersion = "1.1.2"  // 2.6.x 기능지원

	// Akka
	//implementation(platform("com.typesafe.akka:akka-bom_$scalaVersion:$akkaVersion"))
	implementation(platform("org.apache.pekko:pekko-bom_$scalaVersion:$pekkoVersion"))

	// Akka UnTyped Actor
	//implementation("com.typesafe.akka:akka-actor_$scalaVersion:$akkaVersion")
	//implementation("com.typesafe.akka:akka-stream_$scalaVersion:$akkaVersion")
	implementation("org.apache.pekko:pekko-actor_$scalaVersion:$pekkoVersion")
	implementation("org.apache.pekko:pekko-stream_$scalaVersion:$pekkoVersion")

	// Akka Typed Actor
	//implementation("com.typesafe.akka:akka-actor-typed_$scalaVersion:$akkaVersion")
	implementation("org.apache.pekko:pekko-actor-typed_$scalaVersion:$pekkoVersion")

	// Actor TestKit
	//testImplementation("com.typesafe.akka:akka-testkit_$scalaVersion:$akkaVersion")
	//testImplementation("com.typesafe.akka:akka-actor-testkit-typed_$scalaVersion:$akkaVersion")
	testImplementation("org.apache.pekko:pekko-testkit_$scalaVersion:$pekkoVersion")
	testImplementation("org.apache.pekko:pekko-actor-testkit-typed_$scalaVersion:$pekkoVersion")

	// Actor Logging
	//implementation("com.typesafe.akka:akka-slf4j_$scalaVersion:$akkaVersion")
	implementation("org.apache.pekko:pekko-slf4j_$scalaVersion:$pekkoVersion")

Type vs Untyped

IMPORT

// AKKA
import akka.actor.typed.ActorRef
import akka.actor.typed.Behavior
import akka.actor.typed.SupervisorStrategy
import akka.actor.typed.javadsl.AbstractBehavior
import akka.actor.typed.javadsl.ActorContext
import akka.actor.typed.javadsl.Behaviors
import akka.actor.typed.javadsl.Receive

// PEKKO
import org.apache.pekko.actor.typed.ActorRef
import org.apache.pekko.actor.typed.Behavior
import org.apache.pekko.actor.typed.SupervisorStrategy
import org.apache.pekko.actor.typed.javadsl.AbstractBehavior
import org.apache.pekko.actor.typed.javadsl.ActorContext
import org.apache.pekko.actor.typed.javadsl.Behaviors
import org.apache.pekko.actor.typed.javadsl.Receive


Config

pekko {
  loglevel = "INFO"
  loggers = ["org.apache.pekko.event.slf4j.Slf4jLogger"]
  logging-filter = "org.apache.pekko.event.slf4j.Slf4jLoggingFilter"
}

BSD VS BSL

BSD 라이선스와 BSL(Business Source License) 라이선스는 오픈소스 라이선스의 종류로, 각각 소프트웨어의 사용 및 배포와 관련된 권리와 제한 사항이 다릅니다. 주요 차이점을 비교하면 다음과 같습니다.

1. BSD 라이선스 (Berkeley Software Distribution License)

2. BSL (Business Source License)

요약

BSL은 주로 비즈니스적인 이유로 소프트웨어 개발사들이 선택하는 반면, BSD는 오픈소스 커뮤니티에서 널리 사용되는 보다 자유로운 라이선스입니다.