Sunday, May 27, 2007

Paranoid Programmeroid

I think free software is great. I mean, really great. People ‘working together’ to build helpful applications is, naturally, generally a very good thing. But there some small drawbacks and even some scary parts.

The first thing is a matter of feeling ‘this is my code’. In most (if not all) licenses for free software, a central part is that you need to include the name of the author of the code you borrowed from. But that can be easily bypassed if you want to; if you just alter the code sufficiently and hope no one will read your code carefully enough to recognize its similarities with that of another programmer. The free software licenses to some extent depend on trust, and it’s not always easy to trust people you don’t know.

To look at this from a slightly different angle, if you steal the free software code from another programmer you could simply modify the code to make it look different from some free software, take it off the free software license and sell it for money. No one will have the right to look into your program to notice that you are basing your program on someone else’s code. I have no idea if this is something that happens, or happens enough to make it a big problem, but it feels like it’s very possible. Also, I don’t know if any free software license organization has lawyers employed who could help people who feel like they have been stolen from. It could be an interesting idea, if the funding was available.

Another thing is that someone could deliberately sabotage code, opening security gaps in it to be exploited at a later time, or installing spyware at the same time as the ‘benevolent’ code. Of course, this is very possible also in software that isn’t free. It’s probably also less likely to be the case with free software as other users may have read through the code and found weird parts of it. Why I added the thought here is that it anyone can use your code for whatever, you have no control over its final destination. Sort of along the lines of how a clock is innocent until it’s the timer of a bomb.

However, the problems I have listed here are more paranoid than valid. Free software is still a good thing, and these points don’t really take anything away from that. In my next entry, however, I will explore some more valid issues with free software.

No comments: