Para quem não está familiarizado com o termo, gerar MDE (ou “compilar”) é um procedimento no qual o Access cria um arquivo (com extensão .mde ou .accde) e nele inclui os objetos de bancos de dados (tabelas, consultas, formulários, relatórios, macros e módulos), montando uma estrutura de bloqueio que impede o acesso e a modificação dos formulários, relatórios, macros e módulos. Este processo é muito utilizado pelos programadores Access para disponibilizar seus aplicativos para os clientes, pois é uma forma de impedir alterações não autorizadas (e evita uma série de problemas e suporte).
Há alguns anos atrás acompanhei uma discussão em um fórum de Access em que um dos colegas celebrava o início da prestação de serviço que prometia recuperar o código de uma aplicação MDE/ACCDE. Embora o serviço não tenha sido inovador na época (existem empresas fora do país que fazem o mesmo serviço há mais de 10 anos), gerou uma discussão pertinente e interessante. Alguns se posicionaram contra, alegando que isto abriria um precedente para que seus clientes viessem a procurar o serviço no intuito de obter o código fonte sem a devida autorização; outros se colocaram a favor, com o argumento de que isto ajudaria uma empresa que se tornou “refém” de um sistema que foi desenvolvido por um colaborador que não faz mais parte do quadro de funcionários e, por diversas razões, não disponibilizou a aplicação.
Particularmente, acredito que uma boa conversa e transparência na proposta, no contrato e sobretudo no serviço prestado resolvem este impasse sem criar rusgas entre cliente e fornecedor. É muito mais uma questão comercial do que técnica. Percebo que grande parte dos programadores Access se preocupam com a possibilidade de o cliente “trocá-lo” por outro programador (eu conheço programadores que realmente passaram por isso). Neste sentido, vale o início do parágrafo: boa conversa e transparência.
Hoje com tantos códigos, frameworks, módulos e bibliotecas à disposição, vejo mais sentido em colaborar e compartilhar soluções do que seguir o contrário. Basta fazer uma pesquisa no Google e encontramos diversas ferramentas que auxiliam no desenvolvimento. Existem diversas ferramentas que prometem tanto proteger quanto recuperar o código compilado. No Brasil temos uma excelente solução de proteção construída por um grande amigo meu e que pode ser encontrada aqui.
Por aqui deixamos claro que em nossos projetos (o que consideramos entregue após a devida validação) as regras de negócio específicas são do cliente e proporcionamos liberdade para que faça alterações, desde que decorrido o tempo de garantia, evitando assim assumir uma responsabilidade sobre um problema decorrente de má manutenção ou algum erro causado por outro programador. E, neste caso, nos colocamos à disposição para dar suporte, como desenvolvimento adicional.