В тексте GPL вполне доступно, ИМХО, изложено, что распространение ПО (в т.ч. продажа) в виде объектного кода (НЕ исходного: скомпилированного, закодированного, обфусцированного) само по себе не противоречит лицензии, но есть нюанс: автор обязан предоставить доступ к исходникам тем же путём, которым распространяется объектный код, или дать письменное обещание предоставить его по первому требованию, но это касается только некоммерческого ПО или ПО, которое поставляется вместе с материальным изделием.
Совместимый с движком, но не являющийся его частью - довольно размытая формулировка. Согласно лицензии GPL, всё, что линкуется к ПО, выпущенного под лицензией GPL, должно распространятся по лицензии, которая не накладывает ограничения на требования GPL (GPL-совместимой лицензией). То есть, наследуете базовый класс контроллера в своём модуле - должны предоставить исходник, дёргаете драйвер БД - должны предоставить исходник и т.д. Написали свои хелперы, куда вынесли всю логику, которая представляет собой коммерческий интерес, и не лезет в код OpenCart - закодируйте и можете никому не показывать.