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?

  • 3
    It's not clear what your question actually is. Is notifying the original author a good thing to do? Sure. Do you want to make additional changes for your own use? Go ahead, that's well within the terms of the freeware license. The only thing prohibited is redistributing the code which you haven't asked about.
    – user53019
    Jul 28, 2014 at 15:14
  • If you ever need to ask whether or not a copyright holder thinks that what you're doing with his code is OK, all you need to do is ask him, especially since you're already in contact with him. That said, the license makes things pretty clear; you can do whatever you want with the code except redistribute it. Jul 28, 2014 at 15:42
  • In theory, I think your employer might have a claim on the software? If you used it at work and were developing some of your changes at work, depending on your contract, your employer might own your code. The open source library can be used without obligation, but if you did some of it at work (or even at home, again, depending on your contract), there is a good chance you don't own that code - your employer does. And they might want you giving it away.
    – Rob P.
    Jul 28, 2014 at 16:48
  • I am not a lawyer. It depends on the copyright laws in you location, and possibly on contract law (a licence is a contract). In uk an ambiguous license is interpreted in favour of the party that did not write it. But of much more importance is the last sentence “Re-distribution of this software is NOT permitted without explicit permission.” Jul 28, 2014 at 20:10
  • @Rob did you mean “And they might not want you giving it away”, if so then they must consider that giving away the 1% is cheaper than writing 100% and keeping it to them self. Jul 28, 2014 at 20:14

1 Answer 1


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.

  • I basically replaced a 100 line switch statement with a single line and 2 helper functions. I replaced a while nested in a for loop with a regular expression. neither change altered the code logically or fixed bugs, but they made the code easier to maintain.
    – Nzall
    Jul 28, 2014 at 17:34
  • @NateKerkhofs: If it's indeed a pure refactoring, sounds like changes i'd have recommended as well -- and welcomed if they were suggested to me. Keep up the good work. :)
    – cHao
    Jul 28, 2014 at 18:08

Not the answer you're looking for? Browse other questions tagged or ask your own question.