On September 20th, I presented at Software Freedom Day in Campinas about some ethical issues involving ecosystems and reverse engineering. I didn't intend to present certainties, but questions for contemplation, and some attempts for answers, or the bias I had.

When I talk about ethics and reverse engineering, I refer not to the ethics of reverse engineering as a means. This practice is legitimate, doesn't harm the rights of the original author. Quite the contrary, creating a technology that others cannot freely reproduce, with or without changes, is not ethical. Reverse engineering allows evil to be reverted. Nonetheless, I am in favour that it be done observing the letter of the law, in a way that the resulting work can be used and redistributed by the public in a legitimate way, without running great risks. Therefore, I prefer software to be rewritten than decompiled, as an example.

However, my talk concentrated in ecosystems and the use of reverse engineering for an end. E discussed when such an end is ethical. As an example, when reverse engineering Flash, with the purpose of creating a libre/free player for Flash software, isn't it increasing the value of its ecosystem? E, being that a technology full of traps, with non-existing, unavailable or incomplete documentation, players and editors that are not free software, amongst others, do we want to increase its value, and induce more people to use it, because now we have a libre player?

But I believe there are situations where reverse engineering a closed file format is ethical. When users save their data in such a format, they run serious risks of not being able to access that when the software author leave their users. In such cases, a libre software capable of reading the files and saving them in a libre format can help users.

Be careful, however. Saving in such a format can end up keeping its hegemony, and the libre software used just as a means to increase its value even more. If, on the other hand, the libre software only convert the closed format file to a libre format file, which has open, free, and redistributable especifications, we will help users that didn't know where they were sticking their data, without running serious risks of increasing the closed format value.