4 ms·
Taking away the political terms like contribute and community (which are not in the GPL license text), the actual license requires the 2nd developer to do two t
by mimixco 6y ago
Taking away the political terms like contribute and community (which are not in the GPL license text), the actual license requires the 2nd developer to do two things that are contentious. Release the source to his own mods to the first person's code... AND release the build instructions. If you read the license, this is explicitly specified.
Even if the second developer isn't evil, he may be willing to release his mods to the first person's code, but there can be several technical and business reasons that he cannot release his build process to his customers.
BTW, nothing in GPL requires that the second guy communicate with the first one in any way. There is no "community contribution." It only says he has to make a copy of his source available to his customers on request. That's a pretty huge delta from the idea of folks sitting around in a community and improving software.
To actually use the second guy's code, you'd have to diff it from the first! There is no requirement that the code have any comments or documentation. It cannot be intentionally obfuscated, but it can be obtuse by design. Again, none of this implies any community of people working to improve some theoretical software.
And that's because the second person is likely building very different software from the first! The first person and his community probably don't need or want most of the second guy's code. And if there's a community of devs for the second guy's product, well that's kind of his problem.
The real burdens that GPL places on the second dev are pretty bad problems. Releasing the build process and the surrounding code which is not related to the first guy's product is a huge problem. You don't have to be evil to see that.
There are also many, many cases where the second person is making something that improves the first product but doesn't compete with it. It's in a different technical niche or customer application and in that way, they're not related. (Same software in a TV and a fridge, for example.) Does the TV company care about the fridge people's mods? No, not really. Unless there are some bugs or real improvements in the TV software that the fridge people could make. Since this does happen if the TV code base gets big enough, eventually you see paid software companies like Google and Red Hat who go ahead and fix errors and make improvements in the free software they use. But this only happens when there is a certain critical mass of users or an overlap between the use cases of the base code.
Nothing in the fridge people's proprietary software would be of any help to the TV users! There is no great "GitHub in the sky" where all the mods to the TV code for a fridge or some other thing come together to make the "great, perfect TV software!" That just isn't how software development works.
- simion314 6y ago>The real burdens that GPL places on the second dev are pretty bad problems. Releasing the build process and the surrounding code which is not related to the first guy's product is a huge problem. You don't have to be evil to see that. The idea is that first guy is irrelevant, your user is the person that has the right to demand the code so he can change the software. If you want to sell me some software without giving me the sources then don't use GPL. If the GPL code is some trivial small thing that is not related with your product then find a BSD version or pay for a proprietary version of that library (and have fun not having the freedom to check it's code and fix/improve it)