> If the code is useful to enough people, then there is damage to everyone else who might have benefited the port.
So what? There exist enough codes which are licensed under some kind of "open source" license for which you still have to pay to the patent holder if you actually use the code. While "somebody else" can benefit from using it, he/she still has to pay if the patent holder demands so.
Not every "open source" license is automatically a "GNU" one.
It's not only the moral issue (who benefits) but also the legal one. Even ignoring the legal one, imagine you being in his shoes: you earn money by selling your invention, and for convenience to your clients, you sell them your code. Then somebody asks you to allow him to include your code in some other project which is published under some other "open source license." You agree not knowing what that actually means, for example, because he who asked used misleading language. Later you find out that you misunderstood the effects of that action. Morally, the agreement where one agrees only because he was mislead is certainly not the agreement which has to be enforced. It should be annulled.
Firstly, kudos to project maintainer for handling the situation gracefully. I respect that he respected M3 creator's wishes.
You're quite right in an ideal universe. Ours is far from that. The code for the project is out there, so if someone does not want to pay the programmer, then they will reimplement it in house and no one will ever know about it period. If on the other hand they prefer the port, then there must be a good reason for it such as better compatibility/maintainability/performance/etc.
Now let's go to the ideal universe. Well, if everyone abides the rules, then the project creator effectively contaminated other programmers. If someone interested in solving the same problem examined the code thoroughly, then they are influenced by the solution and that is perfectly reasonable because they looked at the code thinking it is under BSD licence. Now that they know they are influenced by the program, they are ethically obliged to avoid solving the problem or they would be infringing author's "copyright" (that is despite the fact that you cannot copyright an algorithm).
The fact that other things are protected by patent is irrelevant, because it appears this creator has no patents for this project.
It's hard for me to imagine myself in the shoes of someone with views on intellectual property which are fundamentally very different from my own. I believe that views on IP like his harm the software community immensely. The fact that his specific take on IP (and his interpretation of relevant US law, which may or may not be accurate) is one which he believes benefits himself, combined with the "put yourself in his shoes" argument, is not sufficient for me to change my views.
Even with all what you say, do you really believe that there should exist any agreement that can never be annulled, no matter why? That if you agree with something not knowing full effects, somebody actually has the right to find you "guilty" for not knowing better? Do you really agree with the world where everybody who ever manages to trick somebody else is absolutely guaranteed to win?
> do you really believe that there should exist any agreement that can never be annulled, no matter what?
Definitely. I believe that most everyday transactions, like when I buy a loaf of bread from a store, should be like that. In general, most simple transactions that occurs within a very short time period without any stipulations for future action from any present party need not be annullable. My claim is that code licensing is an example of this of course any given license only applies to the state of the code when it was released with that license.
So what? There exist enough codes which are licensed under some kind of "open source" license for which you still have to pay to the patent holder if you actually use the code. While "somebody else" can benefit from using it, he/she still has to pay if the patent holder demands so.
Not every "open source" license is automatically a "GNU" one.
It's not only the moral issue (who benefits) but also the legal one. Even ignoring the legal one, imagine you being in his shoes: you earn money by selling your invention, and for convenience to your clients, you sell them your code. Then somebody asks you to allow him to include your code in some other project which is published under some other "open source license." You agree not knowing what that actually means, for example, because he who asked used misleading language. Later you find out that you misunderstood the effects of that action. Morally, the agreement where one agrees only because he was mislead is certainly not the agreement which has to be enforced. It should be annulled.