opensoft/opensoft-epl-bundle
Opensoft EPL Bundle is a Symfony bundle that packages EPL integration for PHP applications. It provides bundle configuration and service wiring so teams can add EPL support with minimal setup, keeping EPL-related services organized and reusable across Symfony projects.
epl library — it does not itself deliver the capability, so it informs the "how do we wire it" sub-decision, not the "should we do it" decision.Consider it only when all of the following hold:
opensoft/epl as the expression engine and simply want its services auto-registered.Look elsewhere when:
symfony/expression-language (first-party, actively maintained, usable from Laravel behind a thin service provider) or a vetted rules engine. Note that this package's description — "Bundle for the epl library" — is too thin to confirm its API surface; treat that as a diligence gap, not an assumption.To executives: This is not a strategic dependency and should not be treated as a platform bet. It is a thin integration layer around a third-party library, with a single star, zero downstream dependents, and no release in over seven years. Adopting it buys us almost no code and imports real risk: no security patching, no vendor support, and a runtime version lock. Recommendation: do not adopt for production. If we want expression-based business rules, that is a separate, fundable build-vs-buy decision, and we should evaluate maintained options first.
To engineering: The package adds roughly the value of a service definition — work we can do ourselves in an afternoon with full control. If epl is genuinely interesting, wire it directly, pin the version, and hide it behind our own ExpressionEvaluator interface so swapping to symfony/expression-language later is a one-file change. Timebox any evaluation to a spike; do not let it into a production dependency graph. Flag the framework mismatch explicitly if we are a Laravel shop — this is a Symfony bundle and will not integrate idiomatically.
Net position: Reject for production, allow a short timeboxed spike, abstract the capability behind an internal interface, and record the decision in the dependency ADR so it is not re-litigated.
How can I help you explore Laravel packages today?