(Translated to English from the original letter in Portuguese)
To: joaquim.figueiredo@receita.fazenda.gov.br, deivi.kuhn@serpro.gov.br
Cc: softwares-impostos@fsfla.org, psl-brasil@listas.softwarelivre.org
Subject: Request for source code for IRPF2008v1.0_Teste
From: Alexandre Oliva lxoliva@fsfla.org
Organization: FSF Latin America
I hereby request Receita Federal and SERPRO to provide me with access to the source code, owned by the Union, developed by the latter on behalf of the former, corresponding to the classes in the test version of IRPF2008, in directories "irpf" and "serpro" packaged in the file irpf.jar.
The reasons for this request include, in the spirit of collaborative development that moves Free Software, that of contributing to the behavior and security validation of the software, as well as that of simplifying the development of Free Software with similar purpose.
Ideally, I'd like to be able to directly use the public files, created by SERPRO, for this latter purpose. Since the Union is the copyright holder over these public files, and considering the limited usefulness of the code at hand, I see good reasons to publish the aforementioned code under a Free Software license. On the other hand, it seems to me that the limitations of purpose mentioned in the download page contradict the license of some of the third-party components used in this program.
I remind you that the allegations of supposed security reasons to not divulge the source code are voided by the possibility of decompilation of the Java code, which I've already proved with IRPF2007-Livre.
In fact, I've already started the decompilation process of the test version for 2008, and the big similarity with the 2007 version enables a mapping of equivalences and subsequent recovery of almost all the information that was discarde or removed during the process of artificial obfuscation of the object code.
If I, far from being an expert in reverse engineering, am finding little difficulty in doing this, even in the obfuscated version, imagine what someone, with knowledge on the subject and interest in reaping illegitimate advantages or causing harm, would do if the emprisionment of the code sought to hide, in such an ineffective way, information that would enable such benefits or harm?
As for legitimate interests, in the face of the current situation, unfortunately even after I complete the decompilation and publish the result, I still won't have achieved the goal, worth repeating, that any taxpayer be able to comply with his or her tax obligations without giving up digital freedom. The explicit delimitation of purpose for the software in question, although incompatible with other utilized licenses, makes the mere recovery of the source code insufficient to render the mentioned Software Free, like it should be.
To achieve this goal, publication of source code is needed under terms that permit its unrestricted use, its study, modification, distribution and publication, as well as that of versions based on it. It would be best if Receita Federal itself took the initiative of Freeing the code developed for it.
However, if there's opposition to the conveyance of the code copyrighted by the Union under a Free Software license, I, in order to comply simultaneously with my legal obligations and my ethical and moral commitment to not use non-Free Software, will find myself obligated to work in order for there to be Free Software to comply with my legal obligations, even if to this end I end up having to duplicate work that my taxes have already paid for.
It is worth mentioning that the conveyance of the requested information, to any Brazilian citizen or resident who requests it, is required by law, as I understand this is constitutional matter, and that effective security reasons indicate that the validation of tax declarations must be performed by the software that receives them, and not only by that which prepares them on an unknown environment, that may be not only unreliable, as in computers fail, but also potentially hostile, as in under potentially-adversary control.
This request is supported by the constitutional principle of publicness, imposed on the public administration in the 1988 Federal Constitution, in its Article 37, and in the right to receive from public offices information of personal or collective interest, established in Article 5.XXXIII, without room for objection to the conveyance based on the exceptions regulated by law 11.111, dated May 5, 2005, for this is a program that merely facilitates the filling in of income tax declarations, and a test version thereof while at that.
Furthermore, I point out that any contractual restrictions between Receita Federal and SERPRO that might prevent any of the parties from complying with their constitutional obligations, towards myself or other citizens, are void of effect, just like any contractual provision conflicting with current law.
Should you find that any more-formal procedure would be necessary to enable the fulfilment of this request, I'm ready to get it started, and I'd appreciate your suggestions as to what procedure would be most adequate to make it easier for you to seek means to comply with the law and respect citizens in their rights hereby described.
Reassured of being able to count on your cooperation,
At your service,
--
Alexandre Oliva http://www.lsd.ic.unicamp.br/~oliva/
FSF Latin America Board Member http://www.fsfla.org/
Red Hat Compiler Engineer <aoliva@{redhat.com>, gcc.gnu.org}
Free Software Evangelist <oliva@{lsd.ic.unicamp.br>, gnu.org}