A purely services based model is difficult, but so is open core. With open core you compete against yourself. Look no further than Nginx as an example and how lousy it is to do things like say a http healthcheck of HEAD /status. In haproxy it is trivial, it can be done in nginx plus, but not the oss version (at least it wasn't supported in any of the versions I tried a year ago sans the commercial version). When you compete against yourself you get put in a difficult situation "Does this valuable user contribution to my OSS project compete with my commercial fork?" and that is just all around a bad situation to be in for the community and for the company.
https://blogs.gnome.org/bolsh/2010/07/19/rotten-to-the-open-...
A purely services based model is difficult, but so is open core. With open core you compete against yourself. Look no further than Nginx as an example and how lousy it is to do things like say a http healthcheck of HEAD /status. In haproxy it is trivial, it can be done in nginx plus, but not the oss version (at least it wasn't supported in any of the versions I tried a year ago sans the commercial version). When you compete against yourself you get put in a difficult situation "Does this valuable user contribution to my OSS project compete with my commercial fork?" and that is just all around a bad situation to be in for the community and for the company.