2 ms·
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
by dalke 11y ago
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.