Visite também: UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais] ·  Efetividade ·  Linux in Brazil ·  Floripa  

Após campanha, FSFLA conclui que o programa do IRPF 2007 era livre desde o princípio

Após bastante atrito, Fundação conclui que o programa IRPF 2007 em Java era regido pela LGPL desde o princípio.

A campanha da FSFLA contra "Softwares Impostos" no Brasil começou já em 2006, com o objetivo de levar a Receita Federal a dar um passo além do que ela já faz há alguns anos, e lançar versões livres de seus sistemas informatizados de declaração de imposto de renda, e não apenas versões multiplataforma dos mesmos.

Entretanto, após diversas idas e vindas, e baseando-se em um comunicado da própria Receita Federal, a FSFLA conclui (sem confirmação por parte da Receita) que o programa IRPF em Java era regido pela licença livre LGPL (criada pela FSF) desde o princípio. A disponibilização não segue os moldes esperados de um pacote de software livre, mas assumindo ser verdade a conclusão sobre o licenciamento, um integrante da própria FSFLA encarregou-se de gerar código-fonte a partir dos executáveis disponibilizados pela Receita, e com isso alterar o software para remover as dependências relacionadas a programas não-livres.



O desenvolvedor Alexandre Oliva (foto) descreve o processo de criação da sua versão do IRPF, que funciona em implementações livres do ambiente Java. Para ter esta condição, Oliva abriu mão de algumas funcionalidades, como a presença de ambiente gráfico ou a possibilidade de imprimir a declaração ou os recibos, e substituiu as telas de entrada de dados do programa original da Receita pela edição direta de um arquivo XML no qual estes dados são manipulados posteriormente pelo sistema.

Oliva conseguiu usar o seu novo sistema para criar a sua própria declaração, gerando os arquivos de saída necessários, que ele gravou em disquete e entregou pessoalmente, pois não há uma versão equivalente do ReceitaNet, o sistema que permite a entrega da declaração via Internet. Como a sua versão alternativa do IRPF não dispõe dos recursos de impressão de recibos e da própria declaração, ele pretende imprimir o arquivo XML original, caso seja necessário dispor de uma cópia impressa. Se ele precisasse imprimir a guia DARF para o pagamento de imposto adicional, possivelmente causaria bastante confusão na agência bancária ao tentar fazer o pagamento a partir de uma cópia impressa dos dados em XML ;-)

Se você quiser participar do projeto, use as dicas incluídas na documentação do mesmo: "Se você quiser ajudar, faça um 'svn co https://www.fsfla.org/svn/fsfla/blogs/lxo/software/irpf2007-livre' e mande patches, sugestões ou comentários para softwares-impostos@fsfla.org." Como em qualquer situação que envolva entrega de arquivos ou documentos para órgãos fiscais, certifique-se de que todos os aspectos legais e formais estão sendo cumpridos quanto ao ato da entrega, antes de optar por qualquer forma de ação.

Saiba mais (fsfla.org).

Comentários dos leitores

Os comentários abaixo são responsabilidade de seus autores e não são revisados ou aprovados pelo BR-Linux. Consulte os Termos de uso para informações adicionais. Esta notícia foi arquivada, não será possível incluir novos comentários.
Comentário de lxoliva
Era livre?!?: Detalhezinho: pra ser Livre, faltava um elemento crucial.

Embora ele estivesse sob licença Livre, sim, sem o código fonte não havia como exercer as liberdades.

O que a gente fez foi providenciar *um* código fonte (desfalcado de comentários e documentação) e usá-lo para iniciar um projeto de Software Livre.

A versão que a Receita Federal distribui definitivamente não é Livre. Infelizmente. Quem sabe da próxima vez vai ser?

Comentário de brain
LGPL, licenciamento livre e as 4 liberdades: Alexandre, achei muito interessante o seu hack, e estou curioso para saber o que a Receita dirá. Mas me parece que se não fosse por considerar que o software estava sob uma licença livre (ainda que o rito completo não tenha sido seguido, e faltasse um elemento tão importante quanto o código fonte original), você não teria mais nenhum outro dispositivo legal que lhe oferecesse condições de exercer (ainda que não completamente) as famosas 4 liberdades a partir do código-objeto disponível.

Analisando o que você narrou, acredito que foi interessante a forma de agir da Receita, descrita lá: ela adotou uma licença livre sem abrir o jogo a respeito, mas disponibilizou para download apenas o código objeto, como muitos distribuidores fazem.

E uma vez que você concluiu que o código era regido pela LGPL, o que lhe deu condições de estudá-lo, alterá-lo e até redistribuir a versão alterada, acredito que um próximo passo bastante interessante seria requisitar do autor original o código-fonte completo, nos termos da licença adotada por ele.
Comentário de popolony2k
Como deixaram a porta aberta e ....: ....com convite para a festa, porque não entrar ?

--
Popolon Y2k
PlanetaMessenger.org
FreeBSD/OpenBSD/Linux - My dream team

Comentário de lxoliva
Curiosos: > estou curioso para saber o que a Receita dirá

Eu também :-)

De fato, se o programa da Receita Federal não estivesse sob licença Livre, o resultado da descompilação não poderia ser utilizado diretamente em Software Livre, só poderia ser usado como parte de um processo de implementação clean-room.

Tipo assim, pra entender o formato dos arquivos em detalhe, descobrir o algoritmo "secreto" de hash, essas coisas.

Na verdade, o processo todo começou dessa maneira. Foi só depois que a gente se deu conta de que podia usar o código diretamente. Facilitou bem :-)
Comentário de popolony2k
Mas é possível ser LGPL.....: ....sem disponibilizar os fontes ?

Acredito que quem está ferindo alguma lei ou regra é a receita federal.

--
Popolon Y2k
PlanetaMessenger.org
FreeBSD/OpenBSD/Linux - My dream team

Comentário de tux
Declaração via Web: Admiro bastante a arte do desenvolvimento, a arte hack.

Parabéns!!!

Realmente esperamos que a receita com esta iniciativa nos dê a liberdade plena. Até mesmo para melhorar a portabilidade para o linux.

Apenas imagino que todos os anos sempre há mudanças nos programas para se adaptar a possiveis mudanças na lei do fisco.E neste caso como ficaria?

Creio que muito em breve teremos a declaração realizada diretamente via web. Muito mais prático. O que será q falta? Infraestrutura? Por falta de diheiro sabemos que não é.:-)

[]´s




Comentário de lxoliva
LGPL sem fontes?!?: Sim, é possível. Um titular de direito autoral único não está sujeito às condições que a licença impõe aos licenciados, pois ele não é licenciado, é apenas licenciante.

Então, quanto a licença estabelece, para os licenciados, que eles só podem distribuir o programa acompanhado do código fonte correspondente, essa condição não se aplica ao licenciante.

Então, se o licenciante distribui o próprio código sob esses termos, sem os fontes, não está fazendo nada legalmente errado, mas na prática está dizendo algo como que ninguém mais pode distribuir (mas veja mais abaixo)

Isso naturalmente só funciona enquanto não se usou código de terceiros no próprio código. Quem usa código de terceiros passa a ser licenciado também, e aí fica sujeito aos termos da licença.

Complicado, né?


Isso significa que a gente não podia, por exemplo, modificar só o binário e distribuir uma versão modificada; isso seria violação do direito autoral da Receita federal. Só podia distribuir os binários com os fontes correspondentes. Então, precisou descompilar e recompilar pra poder distribuir respeitando a LGPL.

Bacana, né? :-)

Comentário de lxoliva
E pro ano que vem?: > Apenas imagino que todos os anos sempre há mudanças nos programas para se adaptar a possiveis mudanças na lei do fisco.E neste caso como ficaria?

Se a Receita Federal e o SERPRO não quisessem desenvolver a versão do ano que vem partir de uma base de código fonte livremente distribuída, violando os diversos princípios constitucionais que ela vem violando há anos, vamos ter que fazer isso tudo de novo.

Comentário de moranga
Legal, parabens.......agora: Legal, parabens.......agora com a "maravilhosa' descoberta reduziu o imposto de alguem ai???
Legal como sempre se patina no vento e nao cria-se nada realmente fundamental.
"Parabens" a todos.
Comentário de popolony2k
Talvez vc esteja no blog.....: ...errado, pois a discussão aqui é sobre SL e não sobre questões tributárias.

--
Popolon Y2k
PlanetaMessenger.org
FreeBSD/OpenBSD/Linux - My dream team

Comentário de Arnaldo
Na boa?!?! Não duvido da: Na boa?!?! Não duvido da capacidade do cara que fez tudo isso, mas meu, que puta atitude xiita... Cara, informática antes de tudo deveria ser um ferramenta para descomplicar a vida e não ao contrário.. De que vale refazer um software que facilita a vida de todos durante o processo de preenchimento da declaração de imposto de renda desse modo?!?!? Perdeu a interface gráfica e um monte de outras funcionalidades só pra ser ultra-radicalmente livre.. Essa é uma das atitudes que eu não entendo no meio SF.. ao invés do povo fazer coisas que signifiquem avanços ficam perdidos em meio a essas guerras ideológicas.. Sinceramente, ao meu ver isso não prova quase nada.. prova que sobra capacidade técnica, isso é fato, mas essa mesma capacidade foi mal utilizada..
Comentário de popolony2k
A sua colocação foi interessante mas .....: ....a atitude "xiita", questionada por você, é importante para que possamos conhecer de fato as regras de cálculos sobre imposto de renda são efetuados, o que responde ao colega acima de como isso pode melhorar nossas vidas.

Pode melhorar pois PRECISAMOS dar mais valor nos impostos que pagamos, bem como fiscalizar sua utilização, pois os impostos pagos são basicamente 4 meses (quase meio ano) de trabalho para "manter", Vossa Majestade, membros da elite governante e outros puxa sacos, bem como a cavalaria para proteger o Rei.

E saber como o processo se inicia, através do Software é o primeiro passo.

Volte ao passado e imagine o que seria da gente agora se um camarada no "meio do gelo" Irlandês não tivesse iniciado o desenvolvimento de um certo sistema operacional que mostrou como funciona a tecnologia de SO's para o resto do mundo e possibilitou o conhecimento e novas oportunidades para outros Países menos "abastados" como o nosso (tsc, vou tentar acreditar em nossa pobreza) ???

Essa hora estariamos sem opção ao Sistema Operacional do Mal e presos em suas garras.

--
Popolon Y2k (Ácido como sempre)
PlanetaMessenger.org
FreeBSD/OpenBSD/Linux - My dream team

Comentário de Marcelo Mendes
Cada pessoa (ou grupo de: Cada pessoa (ou grupo de pessoas) trabalha e luta pelo que acredita, se *você* acredita que isto é uma perda de tempo, continue usando usando o software que a receita lhe fornece, e continue acreditando cegamente na idoneidade dela. Então, perca" o seu tempo com o que quiser, mas não tente dizer aos outros como deveriam "gastar" o delas. Principalmente se for por uma causa que você não compreende. E se num futuro, a receita por ventura vier a acusar você de fraude na sua declaração, e só então cair a ficha que você simplesmente não tem como provar que foi um engano, lembre-se que um dia alguns "xiitas" lhe proporcionaram um escolha (acho que já vi esse filme), e que obviamente, não foi aproveitada. :P
Comentário de Jamelão M. Angueira
Bacalhau: Olha cara... eu não sei o que você quis dizer com "xiita". Se defender a liberdade é ser "xiita", então acrescente + um a sua lista: eu.

Oliva! Parabéns pela iniciativa. Eu sei que é dificil que otários como o Arnaldo (identidade não confirmada) algum dia entendam por que é importante conhecer o código-fonte. Por que é importante entender o que o software do governo faz com os dados que você é obrigado a fornecer todos os anos. Por que é importante começar um projeto com qualquer código (mesmo sem GUI, o maior "problema" que o Arnaldo (identidade não confirmada) viu no seu projeto). Por que a colaboração leva a produtos melhores do que o modelo consumista vigente. Etc, etc, etc.

Para os que estiverem imaginando o que isso tem a ver com Bacalhau... Bem... a mesma coisa que o projeto do Oliva tem a ver com "xiita": NADA.
Comentário de nemesis
livre porra nenhuma!: Se código-fonte não é disponibilizado, não é livre e ponto-final. Não vamos distorcer as coisas, ok?

O governo brasileiro, malandro como todo bom brasileiro, está simplesmente distribuindo um software licenciado sob uma licença livre sem no entanto distribuir os fontes. Isso é uma violação da licença e passível de punição judicial.

Aqui está o que a licença diz:
"...you must do one of these things:
a) Accompany the work with the complete corresponding machine-readable source code..."
em
http://www.gnu.org/licenses/lgpl.txt

Acho que quem licenciou, deveria ter o cuidado de ler antes de postar. É claro, a licença permite que o distribuidor cobre uma "taxa" pela transmissão física do código-fonte. Como é o governo, podemos imaginar a quanto vai ficar essa taxa, se eles resolverem seguir a licença, isto é...

Eu proponho as pessoas seguirem estes passos:
http://www.gnu.org/licenses/gpl-violation.html

--
;; ((lambda (x) x) "Isto é um comentário e não será executado nunca")


Comentário de nemesis
equívoco do governo ou má-fé?: "Sim, é possível. Um titular de direito autoral único não está sujeito às condições que a licença impõe aos licenciados, pois ele não é licenciado, é apenas licenciante."

Verdade. Por outro lado, usar a LGPL nesse caso é inócuo, pois para um distribuidor licenciado (qualquer pessoa), tal distribuidor é obrigado pela licença a prover o respectivo código-fonte. O próprio governo é o distribuidor primário, a despeito de não ser um licenciado, e deve prover os fontes, com taxa ou não.

Sem código-fonte, a liberdade de modificar um software fica deveramente prejudicada, como vc sem dúvida deve ter sentido na pele...

As licenças GPL foram criadas expressamente com o intuito de manter o código-fonte em evidência, o binário é mero produto dele...

--
;; ((lambda (x) x) "Isto é um comentário e não será executado nunca")


Comentário de lxoliva
Xiita, eu?!?: > que puta atitude xiita...

Pra sua informação, os Xiitas são os moderados já faz pelo menos uma década. Eu me recuso a aceitar ser chamado de moderado. Sou radical livre, sim.

> Cara, informática antes de tudo deveria ser um ferramenta para descomplicar a vida e não ao contrário..

Pois então, se eu tivesse tido o código fonte desde o início, poderia ter feito o negócio descomplicar minha vida desde o início, fazendo ele funcionar no sistema operacional que eu uso e que me respeita. Foi justamente a ausência das liberdades que complicou. Entende?

> De que vale refazer um software

Ninguém refez nada. É o código da própria Receita Federal. Apenas umas pequeninas alterações pra ele funcionar (com limitações, admito) num sistema que me respeita, me trata como gente, como ser pensante, não como consumidor, recurso a ser explorado.

O que vale é que eu era obrigado a violar a lei do software para preparar minha declaração de imposto de renda, seja por violação direta da lei do software (uso do software sem saber ter licença para isso), seja por contratar alguém pra fazer isso para mim (formação de quadrilha com intuito de lucro). Por causa de uma portaria inconstitucional da SRF, eu não tinha permissão para utilizar os formulários em papel.

> Essa é uma das atitudes que eu não entendo no meio SF

Leia o texto e assista ao filme em http://www.fsfla.org/svnwiki/texto/flisol2007/index.pt, talvez você consiga entender.

> ao invés do povo fazer coisas que signifiquem avanços

Não subestime a força política desse nosso esforço técnico. O avanço que buscávamos era político, não técnico. O software é o mesmo, só que agora é Livre de fato.

A publicação do código fonte invalida o grande argumento da Receita Federal contra a liberação do código: que se eles o fizessem, ia trazer toda sorte de problemas.

Bom, se a liberação do código seria um problema, ele já existia antes, pois bastava alguém dedicar uns poucos dias para conseguir obter o que supostamente era pra ser segredo. E se for possível alguém levar vantagem financeira com isso, será que já não foi feito antes?

E agora, qual vai ser a desculpa pra não respeitar as liberdades, as convicções filosóficas apoiadas pelao constituição e a segurança jurídica dos cidadãos; a lei da transparência e os tantos outros princípios constitucionais e leis que a Receita Federal vinha violando, abusando do desconhecimento generalizado de princípios básicos de segurança computacional como forma de convencer o grande público a aceitar essas condições?

Deu pra entender agora?
Comentário de lxoliva
equívoco: Até onde pude averiguar, a Receita Federal não tinha noção dessas obrigações que ela tinha, e o desrespeito às licenças, que houve, foi não intencional. Estão averiguando essa questão, não só no que diz respeito ao IRPF2007, mas a *todos* os muitíssimos softwares que ela disponibiliza. Só que isso toma tempo, e já nos avisaram de ante-mão que não daria tempo de corrigir os problemas no IRPF2007 antes do fim do prazo, ainda que para tanto bastasse publicar um termo de licenciamento e os códigos fontes das bibliotecas LGPL que usaram junto aos binários. Essas coisas tomam tempo, mas tempo era um luxo que nós não tínhamos. Até sugeri que se estendesse o prazo de declaração (coisa que o Ministro da Fazenda tem permissão para fazer) até que o problema fosse resolvido, mas a sugestão foi recebida, digamos assim, sem muito entusiasmo. Tipo assim, eu tinha que cumprir os prazos mesmo que pra isso tivesse que violar a lei e minhas conviccções filosóficas, mas eles, pra corrigir a violação da lei deles, podiam ter todo o tempo que precisassem. Justo? Deu no que deu.
Comentário de alan
Correções: Olá!

> ....a atitude "xiita", questionada por você, é importante
> para que possamos conhecer de fato as regras de cálculos
> sobre imposto de renda são efetuados, o que responde ao
> colega acima de como isso pode melhorar nossas vidas.

As regras estão disponíveis no site da Receita Federal: IRPF 2007 - Perguntas e Respostas - Sumário.

> Volte ao passado e imagine o que seria da gente agora se
> um camarada no "meio do gelo" Irlandês

Linus é finlandês.

> não tivesse iniciado o desenvolvimento de um certo sistema
> operacional que mostrou como funciona a tecnologia de SO's
> para o resto do mundo

A teoria de sistemas operacionais sempre foi conhecida, amplamente discutida e difundida. Além disto, o mérito do Linus não foi disponibilizar o kernel de um SO, pois já havia outros disponíveis na mesma época, por exemplo, o Minix, no qual o Linux foi basead, mas a forma como o Linus conduziu o desenvolvimento do Linux é que deve ser destacada.

Abraços,
--
Alan Kelon Oliveira de Moraes - www.kelon.org

Comentário de popolony2k
Hummm.....: ...vejo que retornou mais afiado do que nunca.

E vou apoiar seu comentário essa vez.

--
Popolon Y2k
PlanetaMessenger.org
FreeBSD/OpenBSD/Linux - My dream team

Comentário de Arnaldo
Cara, ainda não entendi...: Cara, ainda não entendi... eu fiz minha declaração usando a versão java no slackware, não tive problemas.. devo acreditar que ele funciona no SO que eu escolhi..
Xiitas ou outros extremitas que sirvam de exemplo à parte, ainda não entendo por que todo essa indignação com um software que é usado uma vez por ano e depois provavelmente apagado do computador.. Sei lá, não sou especialista em direito, mas acho que ninguém irá preso por formação de quadrilha ou por não pagar licença só por usar um sistema que foi distribuído pela própria receita federal, e que serve para fazer declarações.. ainda acho que deve existir alguma coisa no mundo que mereça mais indignação e atenção do que isso, mas enfim, por mais que eu tenha parecido grosso em me expressar respeito sua decisão, ainda que não entenda muito bem.. E ao contrário do que foi dito, me considero um respeitador de convicções, liberdades e etc.. só acho que nesse caso foi como querer matar um mosquito com um canhão.. e infelizmente o grande público está alheio a tudo isso...

No mais, gostaria de dizer que admiro a filosofia do SL no que tange ao compartilhamento de conhecimento e na possibilidade de crescimento que isso proporciona. Acredito que muitas soluções hoje utilizadas não seriam possíveis através de outra forma.. Só não fico à vontade com esse tom de militância política que acabou se mesclando a ela.




Comentário de nemesis
só pra manter a forma...: só pra manter a forma... ^_^;;

--
;; ((lambda (x) x) "Isto é um comentário e não será executado nunca")

Comentário de nobody
A comunidade emo-br-linux: Os emos do br-linux surtaram e te moderaram negativamente...
Comentário de lxoliva
Transparência: > As regras estão disponíveis no site da Receita Federal: IRPF 2007 - Perguntas e Respostas - Sumário.

Sim. Mas como você faz pra ver se o programa está cumprindo de fato as regras? Faz as contas na mão, duplicando o trabalho que o programa deveria fazer pra você? Se precisar fazer isso pra ver se o programa tá certo, mais fácil e muito mais seguro fazer a declaração no papel, enquanto permitirem...
Comentário de lxoliva
Slackware não é livre?!?: Qual máquina virtual Java você usou?

Eu, na minha ingenuidade, achava que slackware não distribuía software proprietário...

Foi uma máquina virtual que você mesmo instalou em cima do sistema, por opção própria, ou alguma coisa que faz parte do Slackware mesmo?

> só acho que nesse caso foi como querer matar um mosquito com um canhão..

> Só não fico à vontade com esse tom de militância política que acabou se mesclando a ela.

Qual alternativa você sugere? Que um dos fundadores da FSF América Latina cometa um crime e ainda por cima use uma porção de softwares proprietários, só pra cumprir com suas obrigações fiscais?

Você acha mesmo que eu tinha alguma alternativa moralmente aceitável?
Comentário de popolony2k
Mas como comprovar .....: ...se tais regras destacadas por vc estão de fato implementadas ????

"As regras estão disponíveis no site da Receita Federal: IRPF 2007 - Perguntas e Respostas - Sumário."

Show me the code !!!!

"A teoria de sistemas operacionais sempre foi conhecida, amplamente discutida e difundida. Além disto, o mérito do Linus não foi disponibilizar o kernel de um SO, pois já havia outros disponíveis na mesma época, por exemplo, o Minix, no qual o Linux foi basead, mas a forma como o Linus conduziu o desenvolvimento do Linux é que deve ser destacada."

A teoria sempre foi discutida, mas estamos falando de VIDA REAL, ou seja, diversos dispositivos diferentes com barramento diferentes, velocidades diferentes, interfaces diferentes e outras particularidades implicitas em cada uma delas. IDE != SATA, ISA != EISA != PCI, ........

Teoria sempre é bom, mas a prática é mais dolorosa.

--
Popolon Y2k
PlanetaMessenger.org
FreeBSD/OpenBSD/Linux - My dream team

Comentário de popolony2k
Irlandes vs Finlandes !!!: Vc está certo, me equivoquei....se bem que é tudo farinha do mesmo saco.

#.D

--
Popolon Y2k
PlanetaMessenger.org
FreeBSD/OpenBSD/Linux - My dream team

Comentário de roberio januario
Cada um é feliz do seu jeito: Olha sinceramente eu acho sim perda de tempo e de dinheiro reconstruir a roda. Eu não faria de jeito nenhum. Prefiro aproveitar esse tempo com minha família, filhos, etc.

É claro que se alguém tem alguma satisfação pessoal em fazer seu próprio programa, gastar seu próprio tempo e dinheiro para atingir essa satisfação orgásmica, tem todo o direito de fazê-lo.

Quanto aos cálculos do imposto, é fácil fazer na mão para ver que o programinha da receita calcula direitinho. Eu não fiz, mas meu contador fez.
Comentário de nemesis
à propósito...: me entusiasmei tanto em bater no governo que até esqueci de te congratular pelo esforço! Valew! :D

--
;; ((lambda (x) x) "Isto é um comentário e não será executado nunca")

Comentário de Paulino Michelazzo
Curioso não estou em saber: Curioso não estou em saber o que a Receira dirá, mas sim se eles irão aceitar uma declaração feita por um software que teoricamente não está homologado por ela ou que não saiu de seu celeiro.
Comentário de lxoliva
Como vão saber?: Se o arquivo tá no formato correto, como eles iriam identificar que ela não foi preparada usando somente seu próprio código?
Comentário de Copernico Vespucio
Código de Terceiros: Oi Alexandre,

Vc. chegou a detectar quais foram os códigos de terceiros incluídos no programa?

Eu só detectei o JavaHelp (LGPL)... Embora não tenha descompilado o bytecode como vc. fez.

Nesse caso, sendo o JavaHelp um projeto público, com código-fonte disponível, não bastaria à receita fornecer informações sobre como obter os fontes desse pacote (no http://www.java.net)?
Comentário de Copernico Vespucio
Mais correto...: ...seria criar uma forma de homologar implementações. A implementação livre (e outras) poderiam ser certificadas pela receita ou SERPRO.

Afinal, o que realmente interessa para a receita é o recebimento de um arquivo (autenticado e autorizado) dentro das especificações do Receitanet. Como o arquivo é gerado é problema do comitente.

O usuário final (comitente) só precisa do certificado da Receita para ter a certeza de que o aplicativo que usa gera o documento correto para envio, sem lhe causar complicações.
Comentário de Copernico Vespucio
Receita via Web:

Creio que muito em breve teremos a declaração realizada diretamente via web. Muito mais prático...


Não tanto... Vou explicar o porquê.

A declaração de IR é uma operação que pode ser mais ou menos complicada, consistindo normalmente no registro de uma grande quantidade de dados (para a declaração simplificada, já há uma interface web, que funciona bem justamente pq os dados são poucos).

Sistemas via web tem como desvantagem (uma entre várias) a necessidade de se trabalhar online (seu browser com uma sessão aberta no site da receita). Imagine vc. levando duas horas para montar a sua declaração e, por um erro de rede, vc. não consegue submeter e perde total ou parcialmente os dados digitados...

Outro recurso existente na aplicação para desktop é a cópia local que vc. tem da declaração, da qual vc. pode dispor caso seja necessário comprovar a mesma.
Comentário de Copernico Vespucio
Ela vai saber...: Ela vai saber, por exemplo, lendo essa notícia, oras... Que existe um software sendo distribuído por aí que não foi homologado por ela...

Ou pode saber, e isso seria muito pior, quando pegar na malha fina um indivíduo qualquer que venha a declarar que usou a versão que vc. distribuiu para fazer a declaração dele. O que vale para a conferência é o documento gerado, mas essa "informação" pode servir para enrolar o processo.

Embora nós técnicos consideremos que a sua declaração é correta, outros podem não entender assim e isso pode resultar em uma infinidade de problemas.

Melhor mesmo é contatar o SERPRO e debater com eles uma solução. Nem que no final saia uma garantia de que quem distribuir um hack que gere o arquivo correto não será penalizado por isso.

Não há prejuízo no diálogo.
Comentário de Copernico Vespucio
É mais fácil...: ...calcular manualmente seu imposto uma vez e comparar com os resultados do aplicativo (para que vc. possa continuar confiando nele na próxima vez), do que ler todo o código do software.

A importância do software livre neste caso está em outro lugar. Está no direito que a comunidade deve ter de melhorar o software (sem mexer na forma como os cálculos são feitos nem no formato do arquivo). Melhor usabilidade, melhor desempenho, etc.

Me pareceu que a versão livre saiu "piorada" :(. Mas se o projeto for aprovado pela receita e atrair mantenedores, creio que é só questão de tempo para que fique tão boa ou melhor quanto a versão original.
Comentário de Copernico Vespucio
Oliva...: ...por via das dúvidas, entra em contato com a receita, para evitar problema pro teu lado.

Não que eu ache que você está errado, ao contrário. Mas é sempre bom ter um diálogo antes de cair numa polêmica que envolve um orgão federal.
Comentário de Copernico Vespucio
OpenJDK:

Qual máquina virtual Java você usou?


Oliva, sem problema. O OpenJDK é GPL e, embora ainda faltem alguns pedaços mais específicos, com o que foi disponibilizado até agora dá pra rodar softs como o da receita. Vc. não precisa se limitar ao GNU-Classpath para isso.

Quer tirar a dúvida baixa e compila a distribuição do Open-JDK pra Linux, diretamente.

Não é necessário hoje usar "soft proprietário" para rodar o programa da receita.

Mas e se precisasse? A *distro* Slackware é livre. E softs livres são importantes sim, mas o *usuário* baixa, instala e usa o que ele quiser!

*Distribuir* software proprietário pode até ser considerado imoral, mas é certo que *utilizá-lo* não é.
Comentário de Copernico Vespucio
Oi Nêmesis...: Não acho que a intenção do governo federal tenha sido "esconder" o código-fonte do aplicativo da receita.

Se fosse, creio que eles seriam um pouco mais competentes.

O binário (bytecode) do aplicativo da receita está compilado de forma simples. Quem conhece java sabe que os binários (arquivos .class) mantém fielmente a estrutura do código-fonte (ao contrário do binário nativo). Com as opções certas do compilador, dá até pra manter os números de linha e informações de depuração!

Ou seja, deu pra descompilar o software sem grandes problemas.

Se eles quisessem realmente ocultar o código, usariam um expediente simples e bem difundido conhecido como "ofuscadores" (a idéia é parecida, na prática, com a dos "compactadores" de código nativo executável). Eles embaralham o bytecode e tiram todas as informações que podem para dificultar a engenharia reversa.

Ficaria então mais difícil ter acesso ao código, ainda que um programador mais experiente possa "passar por cima" de um ofuscador com mais ou menos facilidade.

O que eu acho que aconteceu foi a boa e velha desinformação e negligência. Usar uma licença livre (por que um dos componentes incluídos a usa) no projeto e não fornecer explicações sobre o fato de não fornecer o código.

O que eu temo é que o código descompilado tenha problemas para ser distribuído, porque não se trata do código original disponibilizado pelo autor, sendo que envolve explicitamente o nome da entidade como fonte do código e até mesmo responsável.
Comentário de Copernico Vespucio
Importante:

Eu não fiz, mas meu contador fez.


E é isso que *deve* ser feito, por todo mundo que tenha uma declaração um pouco mais complexa e pode dispor dos serviços de um contador.

Independente da questão do software ser ou não livre, ser ou não um fork, etc.
Comentário de popolony2k
Contadores .....: ....é bom não confiar demais neles. Melhor que isso é ter acesso aos fontes mesmo.

--
Popolon Y2k
PlanetaMessenger.org
FreeBSD/OpenBSD/Linux - My dream team

Comentário de nemesis
forçado, hein?: "mantém fielmente a estrutura do código-fonte (ao contrário do binário nativo). Com as opções certas do compilador, dá até pra manter os números de linha e informações de depuração!"

Ou seja, se mantiveram as informações de debug (desleixo?) então de fato dá pra recuperar o fonte. Mas isso é muita forçação de barra, não acha?

Mais provável é que não tenha nenhuma linha de debug (convencional para softwares em produção) e que, a despeito da estrutura mantida, os nomes dos identificadores/variáveis tenham sido mudados pelo javac para coisas como x787E5 e endereços binários. (pra ser honesto, não sei se o javac se comporta nesse sentido como o gcc)...

Sem dúvida é menos trabalho do que de nativo para C, mas ainda é trabalho pesado e desnecessário visto a licença em questão...

--
;; ((lambda (x) x) "Isto é um comentário e não será executado nunca")


Comentário de roberio januario
Não é necessário ver o: Não é necessário ver o fonte, basta calcular, a forma de cálculo é simples e o programa é transparente nos cálculos.

Sinceramente fazer engenharia reversa no fonte da receita pra mim não vale nada.

Se quer fazer então faz do zero de uma vez. Ou então não cria marola.

Comentário de popolony2k
A questão levantada por mim .....: ....nem foi tanto pela importância de ler os fontes e sim de não confiar demais nos "contadores".

--
Popolon Y2k
PlanetaMessenger.org
FreeBSD/OpenBSD/Linux - My dream team

Comentário de CWagner
(In)Felizmente nós vivemos: (In)Felizmente nós vivemos tendo que confiar em alguém.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Carlos Wagner - São Luís / MA
Comentário de popolony2k
Exato, mas ....: ...se puder evitar que esse alguém seja um "contador"....melhor.

--
Popolon Y2k
PlanetaMessenger.org
FreeBSD/OpenBSD/Linux - My dream team

Comentário de Copernico Vespucio
nem...:

Mais provável é que não tenha nenhuma linha de debug (convencional para softwares em produção)


Vou testar, mas o default para bytecodes é que ao menos os números das linhas sejam gravados. Se foi feito com a "despreocupação" que imagino, mantiveram o default.


e que, a despeito da estrutura mantida, os nomes dos identificadores/variáveis tenham sido mudados pelo javac para coisas como x787E5 e endereços binários. (pra ser honesto, não sei se o javac se comporta nesse sentido como o gcc)...


O javac não faz e nem foi projetado para fazer esse tipo de coisa... :) Isso é tarefa para os ofuscadores dos quais falei.

O que provavelmente aconteceu é que fizeram a coisa e, quando adicionaram código licenciado de terceiros, repetiram a licença sem se preocupar com o pequeno detalhe da distribuição do código.

Segundo o que os BSD-Boys dizem, a LGPL "estava atrapalhando".
Comentário de lxoliva
Informação de debugging...: ... tava lá na versão original do IRPF2007. Lá pelo meio de março trocaram por uma que não tinha mais e tinha sido passada por um ofuscador. Mas eu fiz o download já no primeiro dia e guardei aquela cópia. Quase que nem percebi que tinham trocado na surdina.
Comentário de lxoliva
Re: Código de Terceiros: Não só detectei como preparei um script que baixa cada um deles, em versão código fonte, pra dentro da árvore de fontes. https://www.fsfla.org/svn/fsfla/blogs/lxo/software/irpf2007-livre/DEPENDENCIAS

Sobre JavaHelp, não me pareceu Livre, de modo que deixei de fora da versão Livre, assim como uns adaptadores de AWT para Mac.

http://java.sun.com/products/javahelp/ afirmava ser "open source", mas só vi como baixar os binários e a licença me pareceu esquisita.
Comentário de lxoliva
Por enquanto, "Open"JDK: > O OpenJDK é GPL e, embora ainda faltem alguns pedaços mais específicos

... tipo a bibliotequinha padrão de Java, que é desse tamaninho, né? :-)

> Vc. não precisa se limitar ao GNU-Classpath para isso.

desde que esteja disposto a abrir mão da sua liberdade...

> Não é necessário hoje usar "soft proprietário" para rodar o programa da receita.

De fato, dá pra rodar a versão pra Windows em cima do Wine. Mas e daí, o próprio programa em proprietário. Já perdeu.

> E softs livres são importantes sim, mas o *usuário* baixa, instala e usa o que ele quiser!

E viva a quinta liberdade! (a liberdade de dar um tiro no próprio pé e machucar os vizinhos com os estilhaços)

http://www.fsfla.org/?q=pt/node/138#1

> *Distribuir* software proprietário pode até ser considerado imoral, mas é certo que *utilizá-lo* não é.

Distribuir é anti-ético. Aceitar a licença restritiva, dando força ao agente anti-ético contra toda a sociedade, é imoral.

Se não fosse, por que a gente ia estar fazendo esse escarcéu todo? :-)
Comentário de lxoliva
Mas como vai saber...: ... que eu de fato usei o meu programa, e não o outro, se o formato do arquivo é exatamente o mesmo? Se todos os bits são iguais (espero ;-), como poderiam criar encrenca?

Tipo, pra preencher o formulário em papel, poderiam exigir o uso de caneta Mont Blanc? ;-)
Comentário de Copernico Vespucio
Dependências de JavaHelp: Legal o script (pq c não usou o Ant? Ficava menor, eu acho), parabéns! Vou dar uma olhada nas dependências pra poder acompanhar o caso.

Já o JavaHelp, vai da versão utilizada. A versão atual é coberta pela LGPL, sendo trabalhada e oferecida em https://javahelp.dev.java.net/.

A versão "pré portal www.java.net" também tem os códigos disponíveis (não lembro onde, mas eu tinha na minha máquina velha - se eu bem me lembro, o projeto tinha um site só pra ele, que não existe mais), no entanto a licença era a SCSL, se eu não me engano (código com acordo de confidencialidade: padrão para os produtos Java antes das "modernas" licença de pesquisa e GPL/LGPL).
Comentário de Copernico Vespucio
vc. tem razão...: quanto ao ofuscador. Eu também não tinha percebido.

Aí, meus caros, isso é uma decisão deliberada de não disponibilizar o código. O que levanta realmente dúvidas da motivação dos mesmos.

Quem será que foi o (vou dizer com todas as letras aqui, dane-se, aí acima e à direita diz que eu sou o único responsável pelo que escrevo por aqui) IDIOTA que teve a idéia de ofuscar o código?

Em relação à quebra de licença, se fosse só o Javahelp, sem problemas: o LGPL convive com código proprietário, desde que não tenha sido alvo de nenhuma alteração.

No entanto, se foram utilizadas *linhas de código* ou dependências licenciadas pela GPL, isso é sim quebra de licença, visto que os desenvolvedores do aplicativo são "licenciados" (conforme definição encontrada na GPLv2) deste código reutilizado.

Essa questão independe das pessoas desejarem rodar o aplicativo como está ou não. O usuário final não viola nenhuma licença ao usar o programa como está. A GPL é clara em informar que ela atua sobre a distribuição do aplicativo, e não sobre o seu uso.

Nesse caso, defendo a advertência ao órgão mediante carta aberta e a comunicação do caso ao ITI. Não ia ser nada legal uma instituição governamental brasileira constar na lista de violadores de licenças livres, não é mesmo? Nem seria legal que os autores dos códigos usados fossem advertidos e viessem a afirmar que o governo brasileiro violou sua licença.

Se o SERPRO quiser manter o sigilo de seu código (besteira), basta escrever seu próprio código e todas as suas dependências em primeiro lugar, ou apenas reutilizar código com as licenças adequadas.

Em segundo lugar, não chamem os hackers de ingênuos. Não é qualquer Proguard ou similar que vai impedir alguém de quebrar o código do aplicativo. Criptografia de verdade é um bom começo.
Comentário de Copernico Vespucio
Dependências: Dei uma olhada no seu script, Oliva. E analisei cada dependência informada. Segue a lista:

commons-collections
beanutils
commons/logging
digester
xalan
Xerces

JDOM (usa uma licença Apache-like)

Todos com licença Apache (projeto Jakarta). Esta licença permite a integração com soft de código fechado.

iText (MPL/LGPL)

JFreeChart (LGPL)

jasperreports (LGPL)

swing-layout (LGPL)

LGPL permite a integração com soft fechado, desde que as mesmas não sejam alteradas, o que não foi o caso.

hsqldb (bsd)

Foxtrot (BSD)

JGoodies (BSD)

JCommon (BSD)

Eclipse JDT (EPL, algo entre a BSD e a Apache)

swixml (uma BSD-like)

Bibliotecas Bouncy Castle (muito mais permissiva q BSD, quase uma não-licença)

Isso é meio chato... NENHUMA das dependências é GPL. Isso significa que, se as dependências forem apenas essas e não há reuso de linhas de código de terceiros licenciadas pela GPL, não há a alegada quebra de licença. O código do aplicativo pode ser fechado sem problemas.

O SERPRO é, nesse caso, o licenciante do seu próprio código. E como licenciado das depedências que usa, está cumprindo suas obrigações.

O que nos leva ao seu "hack". Não tenho certeza de que não haverão problemas com ele...

P.S.: Mesmo assim, ofuscar código LGPL é no mínimo ridículo!
Comentário de Copernico Vespucio
Ei, ninguém contou a novidade a você??:

"embora ainda faltem alguns pedaços mais específicos"

... tipo a bibliotequinha padrão de Java, que é desse tamaninho, né? :-)


Não. o OpenJDK está licenciado pela GPL, assim como toda a API JSE, ou seja, as bibliotecas. O pessoal do GNU não tem mais como encher o saco por isso.

Por "pedaços específicos", leia-se por exemplo coisas como filtros de formatos de imagem, código nativo de renderização de fontes true-type (que não prejudica realmente a maior parte das aplicações e pode ser substituído, se ainda já não foi, por equivalentes no mundo Linux).

Minha sugestão continua válida: baixe o OpenJDK, compile, troque seu GNU-Classpath por ele e teste suas aplicações.


desde que esteja disposto a abrir mão da sua liberdade...


Será que eu falo alemão, Oliva??? JAVA (principalmente JSE, por enquanto) AGORA É GPL!!!! Abrir mão de liberdade (sob o ponto de vista do GNU way of Life) coisíssima nenhuma!

C tá parecendo um Kamikaze japonês que não foi avisado do fim da guerra... :P


De fato, dá pra rodar a versão pra Windows em cima do Wine. Mas e daí, o próprio programa em proprietário. Já perdeu.


Não... Dá pra rodar o programa da receita em Java, sobre o OpenJDK. Qual é a parte que vc. ainda não entendeu???


E viva a quinta liberdade! (a liberdade de dar um tiro no próprio pé e machucar os vizinhos com os estilhaços)


Não deixa de ser uma liberdade, certo? Negá-la é incompatível com o conceito universal de liberdade, não importa o que os gurus xiitas da FSF digam. Ninguém os elegeu os donos da verdade.

Vc. pode não achar certo, mas não pode negar essa liberdade. E usar pouco código proprietário é melhor do que muito.


Distribuir é anti-ético. Aceitar a licença restritiva, dando força ao agente anti-ético contra toda a sociedade, é imoral.


Não, não é imoral. Reservar-se o direito de escolher o que é melhor para si não é imoral. A sociedade não deve se sentir atingida, pois nela cada um também tem o mesmo direito de escolha.

Nós, técnicos, apenas temos a missão de garantir que a escolha GPL sempre exista.

Sei que é um conceito difícil para alguns, mas é assim que funciona. O conceito de liberdade foi inventado pelo Homem antes da criação da FSF.


Se não fosse, por que a gente ia estar fazendo esse escarcéu todo? :-)


Uma parte do "escaréu" eu considero legítima: o povo (uma parte dele), que são os reais "patrões" da receita, requer um soft livre para declaração e gostaria de ser ouvido e considerado.

O resto "é areia".
Comentário de Copernico Vespucio
Releia: Releia essa parte:

"Ou pode saber, e isso seria muito pior, quando pegar na malha fina um indivíduo qualquer que venha a declarar que usou a versão que vc. distribuiu para fazer a declaração dele"

Sua versão não foi homologada pela receita. Até provar que o arquivo fica rigorosamente igual na versão oficial, a dor de cabeça já veio pro teu lado.

Ao disponibilizar a sua versão, vc. declara que o usuário pode fazer seu imposto por ele como se fosse o aplicativo original. Sem adicionar a pequena informação de que o soft não foi homologado e, por isso, não é garantido (mesmo que na verdade o seja), vc. pode se encrencar.
Comentário de Copernico Vespucio
Reconsidere...: ...o que eu disse.

Pelo visto, eles aprenderam a usar os ofuscadores... :-/
Comentário de nemesis
Oliva: Não sou fã de Java e o Copérnico sabe disso, mas de fato um dos fatos mais marcantes de fins de 2006 foi a abertura de Java sob a GPL, Oliva. Isso inclui a VM, stdlibs etc. O próprio Stallman deu seu pitaco:

http://www.sun.com/2006-1113/feature/customers.jsp

gostando ou não de java, sua abertura sob a GPL sem dúvida é uma das melhores notícias na comunidade livre há muito tempo...

--
;; ((lambda (x) x) "Isto é um comentário e não será executado nunca")

Comentário de Copernico Vespucio
Agora, Java espera os resultados...: Ainda há algum trabalhinho por fazer para tornar o OpenJDK 101% livre. Por exemplo, como disse, integrar um renderizador de TTFs livre e outras coisinhas.

A esperança é que a própria comunidade Livre cuide disso... É mais fácil do que continuar tocando um GNU-Classpath à parte. Agora é que vamos ver se liberar a implementação oficial valeu à pena ou se (observe a capitalização das letras) Foi Só Frescura.

Mas reiterando: Nada disso tem a ver com o programa da receita. OpenJDK deve rodar ela tranquilamente.

Quem quiser ter o JDK livre mas não quiser baixar e compilar tudo, pode pegar o pacote pronto no repositório do Ubuntu, parece que já está lá a algum tempo... Não sei se no Debian oficial já tem.
Comentário de Copernico Vespucio
rs*: Um contador (com ou sem aspas) é tão confiável quanto qualquer outro profissional (inclusive programadores e técnicos de suporte), Popolon...

Não há motivo para malhar a categoria deles aqui. Se vc. tem problemas com um ou mais contadores por aí isso é com você.

Não há motivos para sugerir que esses profissionais sejam desonestos ou incompetentes, gratuitamente. Você não deveria fazê-lo aqui, a menos que tenha um motivo forte pra isso. Você tem?

Dessa vez errou a mão, amigo.
Comentário de popolony2k
Sim.....: ...na verdade só tive problemas como todos os "profissionais" dessa área desde que comecei a interagir com os dito cujos.

Por isso amigo, não errei de mão ao dizer para "não confiar" que as coisas vão de vento em popa quando estão nas mãos de contadores....

Não acho que seja desonestidade não, apenas incompetência mesmo, ainda mais num País que não contribui com nada e as regras mudam a cada momento, mas como esses "profissionais" escolheram essa área para atuar, isso deixa de ser uma desculpa.

Just keep your eyes open.

--
Popolon Y2k
PlanetaMessenger.org
FreeBSD/OpenBSD/Linux - My dream team

BR-Linux.org
Linux® levado a sério desde 1996. Notícias, dicas e tutoriais em bom português sobre Linux e Código Aberto. "A página sobre software livre mais procurada no Brasil", segundo a Revista Isto É.
Expediente
Sobre o BR-Linux
Enviar notícia ou release
Contato, Termos de uso
FAQ, Newsletter, RSS
Banners e selos
Anunciar no BR-Linux
BR-Linux apóia
LinuxSecurity, Tempo Real
Suporte Livre, Drupal
Verdade Absoluta
Pandemonium
Efetividade, Floripa.net
sites da comunidade
Ajuda
Moderação
Flames: não responda!
Publicar seu texto
Computador para Todos
Notícias pré-2004
Tutoriais, HCL pré-2004