It would have been ok if GPL forced company M. to distribute those changes to everybody.
Unfortunately, GPL doesn't do this. On the contrary:
- if company M. chooses to distribute the modified code as source, nothing from section 5 of GPLv3 forces it to distribute the code to anybody else but those who pay for the code.
- if company M. chooses to distribute the modified code as binary, they can do so under the terms of 6a from GPLv3. Company M. doesn't have to give the changes to anybody else, because article 6 allows company M. to choose any of the available options.
When a friend of mine, a third-party, requested the modified sources, their reply was "show me your Montavista license and how did you obtain it".
Some might say that all this is a false problem. That anybody that buys the sources from Montavista can distribute later the modified sources, without breaking any license agreement or law. That is true, but impractical because:
- it would require somebody to buy a Montavista product every time they make a new release
- Montavista could decide that, because you've posted the code in the past, your next license should be much more expencive
- they might simply decide they don't want to sell to you once you've posted their changes
But until somebody can convince me of this, I will stop using GPLv3 and look for something else.
My software is neither the Linux kernel, nor the GCC. They are small programs that I do in my spare time and that I want to share with other people. And I don't want to have some shameless company profit of my work.
For the moment, the closest thing to what I want is Creative Commons Attribution Non-Commercial Share Alike. I have seen in many places, including on CC and FSF sites, that the above license should not be used for licensing software.
But what other choice do I have?