I recently used a library from http://www.braemoor.co.uk/software/index.shtml (the EU VAT No validation library at http://www.braemoor.co.uk/software/vat.shtml) in a project at work. It mentions as the license (or something that looks like one):
All software is provided as freeware for personal or commercial use without obligation by either party. The author will not accept responsibility for any problems that may be incurred by use of this software, although any errors reported will be corrected as soon as possible. Re-distribution of this software is NOT permitted without explicit permission.
I checked the code and found (and applied) a few ways to improve the code so it’s more easily maintainable and more readable (you can find one of them on CodeReview.SE). After applying these changes, I considered that others might benefit from them as well and sent them as feedback to the author on his contact address. A few hours later, the author sent a reply thanking me for my suggestions, and that he would go over my changes and keep me informed.
My main concern is that while the website mentioned that it was freeware, I’m not sure how far I am allowed to go in altering his software without knowing the license. I assume it’s license-free, but it’s not specifically mentioned as open source, and I’m slightly worried that I might have overstepped my bounds and took too much liberty with the whole thing.
Did I do the right thing?
8
Legally, you’re almost certainly fine (assuming the changes you offered are yours to offer). The author provided the source, and shouldn’t be surprised if people use it and/or improve on it. The only reasonable restriction would be on distribution, and even that is probably not an issue in your case. (But ask the author before you host the code somewhere, for example).
Ethically, in my opinion, there’s nothing wrong with offering improvements to someone’s code, as long as:
- they’re within the project’s intended scope;
- they work exactly as advertised (or as close to it as at all possible); and
- their addition to the project wouldn’t subject anyone to any hidden or onerous license terms, or make the project incompatible with its own license.
If the change fixes bugs or improves maintainability without changing functionality, you definitely did the right thing.
2