Ethics of the Responsible Open-Source Developer
I am currently working on writing a program to decode METAR reports. Being curious to see how other people did it, I did a little bit of research. I ran across Jeremy Zawodny’s Geo::Metar Perl module, and even some crazy-ass Scheme code from the Navy.
I was going to tear apart Jeremy’s code, but then I noticed that it was licensed under GPL. Unfortunately, I didn’t realize this until I had looked a second time at his site, and he did have a link saying that the code is GPL. I didn’t realize this because I had found the link to the source before the link to his site, and I had already started to look at code.
Then it dawned on me, the GPL requires a person to include a copy of the license with the software (Taken from the GPL FAQ) :
Why does the GPL require including a copy of the GPL with every copy of the program?
Including a copy of the license with the work is vital so that everyone who gets a copy of the program can know what his rights are.
It might be tempting to include a URL that refers to the license, instead of the license itself. But you cannot be sure that the URL will still be valid, five years or ten years from now. Twenty years from now, URLs as we know them today may no longer exist.
The only way to make sure that people who have copies of the program will continue to be able to see the license, despite all the changes that will happen in the network, is to include a copy of the license in the program.
I sent Jeremy a gentle reminder telling him he needs to include a copy of the license with his software. It’s the responsibility of the open-source developer to fully understand the license they choose to distribute their software under. Not doing so not only causes problems (such as in my case, since I want to release my code under the Apache license), but also weakens the notion and nature of open-source code. If a developer doesn’t realize the code he’s looking at is licensed a certain way (or not), it can cause problems later on… not only legally, but ethically as well.