softlayer/objectstorage
PHP client for IBM SoftLayer Object Storage (OpenStack Swift). Provides a simple API for authentication, container management, object uploads/downloads, and metadata, making it easy to add Swift-based object storage to PHP and Laravel apps via Composer.
Storage driver wrapper (or a league/flysystem adapter) around it, or do we standardize on a backend with an off-the-shelf Laravel driver?"NOASSERTION — no clean SPDX identifier. That's a legal-review gate before it ships in a distributed or customer-facing artifact, and it's a real cost in the adoption estimate.Storage:: ergonomics and Laravel-ecosystem test tooling.Adopt (narrowly) when all of these hold:
NOASSERTION license.Look elsewhere when any of these hold:
league/flysystem-aws-s3-v3 behind Laravel's Storage facade. IBM's own successor offering (IBM Cloud Object Storage) is S3-compatible, so the same driver serves both — a strictly better bet than a bespoke Swift client.Storage::fake() in tests. You'd be building and owning that layer.NOASSERTION will block automated policy checks and slow procurement.Net read: treat this as a bridge dependency, not a foundation. The high "opportunity" score against a low overall score is the tell — the upside is confined to a narrow legacy-integration scenario, and everywhere else the right move is a Flysystem/S3 driver.
To executives (one paragraph): We evaluated softlayer/objectstorage, a small client library for IBM's legacy SoftLayer object storage. It's technically adequate for what it does, but it's a bare PHP client — no Laravel integration, negligible community adoption, and an unclear license. Recommendation: do not standardize on it. If SoftLayer storage is still in active use, use it only as a temporary bridge behind our own storage interface, with a defined exit. If we're choosing storage for anything new, standardize on an S3-compatible backend and use the mature Laravel driver. The cost isn't the library — it's the wrapper and maintenance we'd own forever, plus the license review.
To engineering (the ask): Isolate it. Put a thin interface in front of the client so no domain code imports it directly, pin the version, and add contract tests so we can swap in an S3 driver without touching call sites. Enumerate all call sites now — that list is the migration backlog. Flag the license to legal before this touches a shipped artifact.
To finance/procurement: Zero license cost, but non-zero total cost of ownership: bespoke adapter work, ongoing maintenance by us, and a migration project later. The cheaper-looking option is usually the more expensive one across a multi-year horizon.
How can I help you explore Laravel packages today?