IP Incredible Paradoxes
Before beginning this rant I have to specify several things about myself:
- I am a software developer, I earn my beer money producing code for several different purposes
- I believe in Free Software but not think of myself as a zealot. I just think that FS happens to be one of the best ways to develop software, and yet another use of Newtons' famous shoulder of giants model for the generation of knowledge.
- I like Linux far more than I like Windows, but have programmed with M$ tools, and learned to program in a windows box
With that out of the way. I'll go on and describe a thing that happened to me yesteday:
I did a little work in the documentation of piece of code that was created on the request of a software development firm. This firm (let's call them Yet Another Elevated Corporation or YAEC for short) needed a software component, and needed it fast, so they hired a friend of mine (let's call him Yet Another Koder or YAC), who in turn, asked me to do a litle bit of the work.
It was an small work, not more that about 50 hours or something like that. As we do most of the times, before even trying to begin coding, YAC looked to the Internet for help. And the internet came to his aid, with shining colors. He found a component that performed a piece of the work he needed to do, in fact, he found the most complicated piece of the code already built for him. The best part was that the license for this code allowed him to use the code for any purpose, as he saw fit. So he did. This meant that the hardes part of the coding was already done. So he delivered to YAEC. The people at YAEC where happy. At no point did YAC try to hide the fact that he had used a piece of code from the net.
So far so good, the code has been delivered and the money is in the bank.
Yet a few weeks later a representative from YAEC calls, furiously saying that all of the code was on the net. YAC calmfully explained to him that his work was indeed not all development, but rather reusing and adapting. To this YAEC replies, with great anger, that YAC should have not charged, that this was unethical behaviour on YAC's part.
One of the few lessons I learned on software engineering is that reuse is good. It is better to use a piece of code that is already tested, provided that it is legal to do so. Now, If you have to perform a task and are given a certain amount of resources (money, time, monkeys -which by the way should not be called resources, it's denigrat
ing-) , and are smart enough to embrace and extend a piece of software that is available on the net you should do so. What you do if you have money, resources or monkeys left to spare depends of the kind of relationship that binds you with the provider of the money, resources or monkeys. If you were hired for a certain amount of money then go party, you did your job. If you are working as an employee, then you should return the resources or the monkeys and awsk for a raise, for giving such a boost to producvtivy. If you are a kind soul, you might even donate the remaining resources to whoever made life easier for you without knowing it. Or donate to charity. It depends, anyway.