Senhores,
com relação a questão do titanius:
O Java pode ser utilizado para qualquer tipo de aplicação e qualquer tipo de empacotamento. O que você não pode é distribuir a VM da SUN junto, mas existem alternativas que podem. Outro aspecto é que existe uma grande experança para que no próximo JavaONE a SUN libere as restrições que ainda prente com relação a este aspecto.
Com relação ao registro, tenho um produto que utiliza algoritmos genéticos e modelagem especifica para escalonamento de horários. Espe produto foi registrado no INPI e tem suas “licenças” registradas em cartório, de tal forma que se a nossa empresa se sentir prejudicada ela pode recorrer na justiça pelo “mal” uso do produto.
Os cuidados que qualquer softwarehouse deve ter com seus produtos é sempre distribuir junto com o software:
- a cópia clara do contrato, principalmente no que diz respeito sobre a utilização de cópias;
- a quem está liberado o uso;
- quais os limites do suporte técnico;
- as características do produto, o que ele se compromete a fazer e quando couber, o que ele não se responsabiliza em fazer;
- Direitos de autoria;
- Utilização de seu código-fonte por terceiros, seja de forma completa ou parte sem expressa concessão dos autores;
- Caracterização do produto como produto intelectual;
etc
E principalmente, onde a maioria erra, no término do contrato ou de sua validade, clareza com relação a continuidade de uso do produto e os limites de alteração.
Vejam, estas questões não estão relacionados as ferramentas de desenvolvimento e sim as leis que regulamentam:
a) direitos autorais, com relação a autoria intelectual do produto;
b) industrial e de produção, aplicado a construção e distribuição;
c) de serviços, no que tange a maioria dos contratos.
O maior problema das equipe de informática está em “aceitar” algumas premissas, por exemplo:
- Se uma empresa te contrata para desenvolver um siftware, se ela te passa a regra de negócio e você é um funcionário, então o software é de direito inquestionável da empresa contratante.
- Se a empresa te contrata para desenvolver um software, se ela te passa a regra de negócio e você não é um funcionário, então os limites deverão ser estabelecidas no contrato. Embora, independente deste, ambas as partes tem direitos sobre o produto. A primeira por ter financiado e fomentado com o conhecimento especifico e a segunda por ter viabilizado e concretizado a idéia.
Ai é que está o problema, quantos de vocês construiram um software, com seu conhecimento especifico sobre o assunto (sem depender de terceiros), inovaram no uso da tecnologia, fizeram o registros e depois perderam os direitos sobre o produto? não conhece nenhum caso no Brasil que tenha ocorrido isto.
Mas vale a pena discutir para melhor compreendermos as relações empregaticias e mercadologicas envolvidas.
Com relação aos decompiladores do DELPHI eu tive acesso a pelo menos dois que faziam engenharia reversa e geravam os forms e o código-fonte (object pascal) com boa qualidade. Tanto que o nosso sistema utiliza o handProt para evitar a pirataria e dificultar a engenharia reversa.
Mas com certeza é mais dificil do que no Java.
Continuo acreditando que estas questões serão resolvidas de outras formas e que a decisão técnica deve ser na escolha mais acertada sobre qual ferramenta de desenvolvimento que “sobreviverá” aos próximos 10 anos de evolução. Das que eu conheço eu aposto no Java.
Com relação ao desenvolvimento para desktop, acho que o problema maior é que este ambiente está precisando ser reinventado, o desktop tem que incorporar alguns aspectos do padrão web, da iteratividade dos jogos… enfim, algo que poucos desenvolvedores estão procurando. Para melhor exemplificar o que eu digo eu cito o Aerith.
https://aerith.dev.java.net/
fw