заказчик собрался массово продавать его в открытом виде, вопрос можно ли как то адекватно защититься от перепродажи?
От перепродажи кем? Заказчиком или тем, кто купит "это" у заказчика?
В целом можно, до некоторой степени. Зарегистрировать свой продукт в реестре ПО, получить на него юридические права, если лицензия CodeIgniter'а это каким-то образом сделать не позволит (на что уже обратил внимание предыдущий оратор) - выпилить из проекта CI, к какой-то матери, так как при условии, что
достаточно крупный проект на CI
и при том, что сам CI - довольно не крупный проект - написать вместо него свою обёртку с аналогичным функционалом - меньшее из зол (при условии, что поверх него написан действительно крупный проект)
Далее начинается самое интересное, некий "коллапс и хаос" под названием "попытка защитить исходный код". Вариантов тут много, и каждый из них убог по своему:
1. Обфусцировать код (т.е. превратить его в "нечеловеко-читаемый") - что в свою очередь добавит некоторого геморроя разработчикам, при поддержке такого кода и пару лишних часов работы с отладчиком тем, кто будет это "взламывать"
2. Воспользоваться каким-нибудь "страшным" обфускатором, аки
IonCube и ему подобными, что в свою очередь даст куда большую степень защиты и отобьёт желание у многих "кулхацкеров" копошиться с Вашим кодом, а заодно и желание у многих других делать с Вашим кодом вообще что-то, в т.ч. попытаться установить/запустить его у себя на сервере/хостинге, т.к. для его работы понадобиться ещё довольно приличный "хвост" всякого
дерьма софта, который позволит Вашему коду запускаться.
как это реализовано например в Битрикс?
В битриксе это реализовано с помощью:
0. Регистрации юридических прав на свой продукт
1. Обычной обфускации
2. Агрессивного маркетинга
3. Откатов тем, кто продаёт битрикс (аки "партнерское вознаграждение", кажется это так сейчас называется)
4. Ну и далее там идут всякие ключи и т.д., т.е. общая база, в которой регистрируются все установки системы, из которых не выпилен механизм который отправляет на сервера "битрикса" сведения об установке (и прочая лабуда в таком духе)
P.S. Ну и, разумеется, стоит помнить, что ломают и куда более сложные/совершенные экземпляры ПО, такие как "Photoshop" или "Windows", а так же то, что в современно мире важен не столько сам софт как таковой, сколько его поддержка (исключения разумеется есть, но это частные случаи). Лишите операционную систему или например, антивирус - возможности обновляться и скоро из "лидера рынка" они превратятся в "почти никому не нужный хлам". Если дальше философствовать на эту тему (почему "палёный Windows обновляется" или "почему Linux полностью бесплатный, включая обновления/поддержку") - можно целую книгу или докторскую диссертацию на эту тему написать... но, думаю смысл в общей сложности и так понятен :)