3 ms·
Even with lets say BSD-licensed code, the code you publish and maintain stays free. There is only the possiblitly that some entity maintains their private fork
by _ph_ 7y ago
Even with lets say BSD-licensed code, the code you publish and maintain stays free. There is only the possiblitly that some entity maintains their private fork of your code and distributes that. But that doesn't change the state of the freedom of the code you publish. Also, it is extremely unlikely, that a company does significant changes to a well-maintained code and doesn't push them back upstream, as this reduces their maintenance effort.
Yet, if you want to completely rule out the possiblity of that "propriatary fork", one could amend the license so that the distributor has to include the sources. This is a legitimate request. If one says: "but that is what the GPL does", that is not correct. The blog posted by the parent poster clearly lists a lot of problems with the variations of the GPL license. The LGPL license too much assumes you are using C, and the GPL of course requires you to relicense your own code just to be able to use a GPL-ed library.
- AsyncAwait 7y agoGPL does exactly that, prevents the distribution of proprietary forks. And yes, the GPL does require you to release all your code if you want to use a GPL'd library. It's not "just" a library. The library is presumably needed for your program to function. If yes, there's noting wrong with the author of that library requiring you pass on the same guarantees with your software that you were given by them when you decided to use their library, which they spent their precious time building.
- _ph_ 7y agoIf you had read my post carefully, I was explicitly stating that the GPL does that. But it doesn't exactly that. As I wrote, it imposes a lot of unrelated restrictions to the code usage. And yes, for myself I consider it an unacceptable demand, that I change the license of code unrelated to the library I am using, just because that library wants to impose that. My code might even be more free than the GPL code I would be using, but that doesn't matter to the GPL. And for that, in the literal sense, in most use cases, GPL is unacceptable for me and consequentely I keep a wide distance to GPL coded libraries.
- AsyncAwait 7y agoWe're free to make our own licensing choices of course. This is all in an interest of a discussion. As I said, this is a choice between not passing on any less freedom you yourself received vs the absolute freedom to do whatever. As far as the GPL is concerned, your code cannot be more free, because it's precisely the limits the GPL imposes that make it valuable. I'd say the BSD is more "developer-friendly", whereas the GPL is more "user-friendly", in a broader sense. The BSD licenses are more 'absolutely free' in a libertarian sense, whereas the GPL offers certain guarantees and if your definition of freedom fails within, they're a lot stronger than what BSD offers, but it's not for everybody.
- _ph_ 7y agoYou cannot separate the user from the programmer, because without a programmer there isn't a software for the user to use. And to require to make the source available for any GPL software used in a project is a very valid request. To relicense other parts of the project isn't.
- hvis 7y agoThat's just a question of where one software ends and another begins. Essentially, for lawyers to decide. But that's also why LGPL exists.
- _ph_ 7y agoThe question is clearly determined by copyright law. If I call a function, this doesn't make the calling function a derived work. LGPL is the GPL variant which is usually reasonable to use, as it doesn't require any other parts of the program to be put under (L)GPL. However, there are some technical details with the license which make problems. It basically assumes that the code put under LGPL is delivered as a shared library. But that doesn't work with many languages. Especially the requirement, that the user needs to be able to modify and relink the code under LGPL is a big headache, if not a deal breaker in many situations.