As you may have noticed, the move away from approved open source licenses to commercial almost-like-open-source licenses by single-vendor-owned open source projects has created a lot of bad press for the vendors behind such software. I don’t really understand this, because for all that I can tell, a triple-licensing rather than just a dual-licensing approach could have solved their problems. Let me explain.
Leading commercial open source vendors like MongoDB (which I call single-vendor open source firms, because they strive to be the single vendor providing their software as a product) recently changed their licensing away from an open source license for their user community to an almost-like-open-source commercial license, in MongoDB’s case the Server-Side Public License. In addition to this, there is always a regular commercial license, realizing the time-worn dual-licensing strategy of single-vendor open source firms.
MongoDB and others took this step to prevent Amazon Web Services and other cloud providers from competing with them; the old open source licenses allowed that, the new almost-like-open-source ones do not. Naturally, this move annoyed the heck out of the open source community at large.
Competition by cloud providers is not a challenge to all single-vendor open source firms. It only challenges vendors providing infrastructure components, because they tend to use more than one open source license to drive adoption. Specifically, while core source code is most certainly AGPL licensed, any adapters or interfaces to user code will often be permissively licensed. The reason for permissive licensing is to not make developers shy away from using the component because of the AGPL license. This approach drives adoption, which comes before developers possibly pay for the commercially licensed version.
Commercial enterprise open source solutions don’t have that problem, because their users are the end users of the software and their adoption is not hindered by a single all-the-way aggressively reciprocal license like the AGPL.
From this, I see a simple solution by way of triple-licensing. An infrastructure open source solutions provider should license three times: Plain AGPL all the way to satisfy the open source community, almost-like-open-source all the way to drive adoption but keep cloud providers out, and plain commercial all the way for paying customers.