Mah... ci sono degli encoder che però richiedono l'installazione di una componente sul server d'esecuzione e poi degli offuscatori che "mescolano" il codice rendendolo "poco comprensibile"... dipende molto dalla motivazione. Nel secondo caso in particolare il codice è di fatto disponibile "in chiaro" anche se "confuso", mentre nel primo solitamente è trasformato in un formato intermedio e più difficilmente manipolabile.
p.s.: io ho anche realizzato un sistema intermedio che non richiede l'installazione di alcun componente aggiuntivo, ma impedisce qualunque modifica al codice, però non è ancora in una release "stable" e lo sto usando solo per progetti personali per ora