>There's no requirement to distribute modifications upstream or to "the community."
No, that would obviously be a onerous requirement. The GPL strikes a reasonable balance between the individual user and the community of users.
I'm just saying the customers should be allowed to get the derived software on the same generous terms as the company received the original on. The customers are obviously not required to redistribute anything, but it encourages good behaviour.
If it's "obviously [an] onerous requirement" then what does "they will at least have repay the favour to the users and the community" mean?
You clarify that "customers should be allowed to get the derived software on the same generous terms as the company received the original on", but that assumes that the companies have customers. Very few companies that use academically produced bioinformatics software have downstream customers of that software.
For the vast majority of companies that only use the software in-house, which is likely 99+% of all companies, how does using the GPL or any other free software license lead to the company repaying the favor? What's wrong for asking for payment in cash instead of other more nebulous contributions?
>If it's "obviously [an] onerous requirement" then what does "they will at least have repay the favour to the users and the community" mean?
The users will get the sources and the permission to use those sources so they do not have to be powerless and dependent on the company's good will to provide patches. I can't imagine why this is a difficult concept to comprehend.
>You clarify that "customers should be allowed to get the derived software on the same generous terms as the company received the original on", but that assumes that the companies have customers. Very few companies that use academically produced bioinformatics software have downstream customers of that software.
Yes, if they have customers, no matter how few, those customers should have all the permissions associated with free software. I don't see the problem here. It's not an unreasonable assumption that a nonzero number bioinformatics companies have a nonzero number of customers.
>For the vast majority of companies that only use the software in-house, which is likely 99+% of all companies, how does using the GPL or any other free software license lead to the company repaying the favor? What's wrong for asking for payment in cash instead of other more nebulous contributions?
If nothing else, the burden of maintaining a private fork, and integrating upstream changes with your own, can be an incentive to just send your changes upstream.
I have studied how this happens in my field, which is cheminformatics, not bioinformatics.
One company decided to 'sell' a GPLv2 product, that is, provide the product for free and sell a support contract. They had about 12 paying support customers. They ran into a problem in that some of their customers made local changes in order to add new features. This is one of the well-known advantages of having the source code.
However, it was difficult for the customers to contribute the code upstream. One reason is that some of the changes were considered, or could be considered, proprietary. This means they would have to deal with legal in order to get permission to send upstream, and they didn't want to do that.
As a result, when the vendor distributed new releases, the customer would actually integrate the changes each time. Or rather, not integrate the new changes at all, because it was too much work each time. They ended up with code that was out of date (and buggy) because of the decision to make local changes that were difficult to integrate upstream.
The "right" solution would have been to work with the vendor to change the code and/or provide new APIs for what the customer wants in order to integrate the proprietary methods, but without fully integrating those methods. However, when you have the code Right There it's very easy to just go ahead and do everything. Talking with upstream to get consensus on changes, even from a vendor that you are paying, is more difficult than cranking out code.
As you can tell, this short-term decision to get code done NOW can to long-term problems. Frankly most of the customers don't have the software development experience to handle those problems. They are chemists who learned to program, not software developers.
The vendor polled all of their customers and found that while the customers liked having the source code but had no real need for the source code, and were more willing to use the traditional vendor/customer route to add new features than the free software/contribute upstream/"community" route. Another way to say it is that they had the money to pay for support, but didn't have the time to go through the community process.
I'm just saying the customers should be allowed to get the derived software on the same generous terms as the company received the original on. The customers are obviously not required to redistribute anything, but it encourages good behaviour.