Offuschi il tuo codice Java commerciale?

Mi chiedo se qualcuno usi gli offuscatori java commerciali / liberi sul proprio prodotto commerciale. Conosco solo un progetto che in realtà ha avuto un passo offuscante nella fase di creazione della formica per le versioni.

Offuschi? E se sì, perché offuschi?

È davvero un modo per proteggere il codice o è solo una sensazione migliore per gli sviluppatori / manager?

edit: Ok, io sono esatto sul mio punto: offuschi per proteggere il tuo IP (i tuoi algoritmi, il lavoro che hai inserito nel tuo prodotto)? Non confonderò per motivi di sicurezza, non mi sembra giusto. Quindi sto solo parlando di proteggere il codice delle applicazioni contro i concorrenti.

@staffan ha un buon punto:

La ragione per evitare di concatenare il stream di codice è che alcune di queste modifiche rendono imansible per JVM ottimizzare il codice in modo efficiente. In effetti, in realtà peggiorerà le prestazioni della tua applicazione.