Hacker News new | ask | show | jobs
by jcelerier 1550 days ago
> I’m using copyleft to defend myself a bit. But weak copyleft because I’ve hate that the gpl prevents blender plug-ins from being closed source or linking against something closed source

So you're ok with using copyleft to defend yourself, but not ok with others to use copyleft to defend themselves ? This is bewildering

4 comments

Their stance seems reasonable to me. They seem happy for works to be GPL, but frustrated that it means plugins or extensions or things which are not the core work themselves are then hampered.
That’s exactly my take. What exactly constitutes a “derived work” in the gpl (plug-ins do!) is counter intuitive to me.

Even the lgpl definition of “dynamic linking” is something that scares me in the context of npm modules, which is why I’m nervous I made the wrong choice with lgpl

> That’s exactly my take. What exactly constitutes a “derived work” in the gpl (plug-ins do!)

Of course they do. The goal of GPL is to reduce the amount of proprietary software in the world. Proprietary plug-ins would go directly against this.

The result of GPL is reducing the amount of GPL in the world.
Exactly. I love the irony of "forced openness" :p
But why would a GPL app need to force GPL on a plugin? That seems to me like a perfectly reasonable boundary between the two applications. If I wanted to leverage OBS for example and introduce my own plugin that made use of a closed-source library or tool I had the license for, I should be able to create it. My third-party plugin doesn't impede the distribution and usage of OBS in any way, only provides a separate feature that might require a different license.
As someone who spends most of his days on a GPL app which loads plug-ins, I do not want my work to serve the interest of proprietary software vendors more than strictly necessary, simple as that. I spent the effort of writing the app, defining its plug-in APIs, etc; if others want to benefit from this effort they should also spend the effort of writing GPL plug-ins. The end result is that no end user will ever be stuck because $PROPRIETARY api shut downs or change (and in my field I've seen that a ton of times).

> I should be able to create it.

Why do you feel entitled to that ? No one prevents you to go and write your own OBS-like or look for a proprietary alternative (and don't complain when they change or shut down their API with no possible recourse at all). But here you look you you want to benefit from the work of OBS contributors, without satisfying the simple obligation in return: the program that you redistribute must be open, just like it was when you found it.

Because I'm not beholden to your ideals. GPL is tantamount to a parasite, infecting everything it touches, regardless of the wishes of those who'd make use of the GPL'd software.

I was a contributor to FOSS until I had to make a choice to step back from excessive keyboard use due to RSI. I love and embrace open source software and the ideals behind it, but I believe everyone should be given their own freedoms.

The plugin boundary should be exactly that, a boundary between the primary app and any created plugins. Why do you feel entitled to force a license decision on a third party's work? Yeah, my work might not function without your code, but your code is your code and my plugin is mine. If I choose to write a utility that enhances your code in ways I want, is that not the benefit and flexibility that FOSS clamors about? Hell, what if someone else adopts a similar API and I choose to take my plugin that direction? That's my choice to make, but forcing GPL on my code may now be hampering my freedoms.

I hear the argument of "if only software X was open source, then I could fix this bug here or add this feature there". I'm right there with you on code that is in the mainline and lives inside the source, but if I'm writing a plugin, that's my work and I own that, not you.

If I choose to make use of a proprietary library because it makes sense to me, like for example CAD solvers where the FOSS alternatives aren't there yet, that's my decision for my plugin. All your GPL license does is infect my work.

That's why I don't use GPL, and why I agree with others that the end result of many GPL licenses is to simply reduce the overall amount of GPL code in the world, as people avoid it out of concern of risk.

I agree with that. It's basically impossible to build a legal OBS AI plugin. You need libObs which is GPL but also DirectML which is closed source.
That is a take that I do not understand. How is not allowing closed source plug-ins in Blender defending anyone?

It simply means a percentage of those developers who would have been happy to create third party tools simply now don't.

See for example the thriving plug-in ecosystem SketchUp has.

A third party should be able to create plug-ins without risking their IP - closed source, and any license they like.

This model has been the cornerstone of CAD innovation for the past decades.

True freedom means that you let dowstream users do as they please, not that you lock them in in specific delivery module.

I think it's fine for people to have varying philosophical takes on what should be the normative goals of open source software licenses. Obviously the FSF takes a rather maximalist stance. I personally find this aggressive goal and some of the personalities behind it to not match my vibe. And the reality is that more permissive licenses like MIT are becoming more and more popular.

What I've seen some Blender plugins do to get around this is to have an open-source plugin communicate via IPC to a closed source library. It's totally legal. It's a performance and implementation tax that just seems silly to me.

> It's totally legal.

If the IPC is here only for the sake of circumventing the GPL (e.g. there aren't any meaningful use of the "GPL plug-in" part through this IPC channel outside of communication with the non-GPL program), it's totally not. What are such plug-ins ?

Why would it be illegal to use IPC to communicate from one GPL executable to another non GPL executable?

Files are interprocess communication too. If files are fine and other forms are not, then it starts to get into an argument of speed making something illegal.

Not only that, but network communication is IPC and that would imply that it's fine to have a GPL program go to another computer holding a non GPL program, but not if they are on the same computer. There are a lot of holes in this argument.

Not only that, but any program that can't communicate with other programs (do drivers count?) through file formats, networks operations or anything else is probably limited anyway.

Mr Dildonic it's definitely not illegal, the poster is a troll
I think so. I originally said there were a lot of holes in their argument, but I think they didn't actually make an argument in the first place, they just made a claim with no evidence behind it.
IPC is totally worthwhile for native applications in any case, when separate complex components are combined into a single user session. Running the code in separate heaps reduces the chances of bugs in one application code corrupting the entire application heap.

Very hard to argue that IPC would ever be just for avoiding license. It always increases total robustness.

I agree with you -- it's hard to safely kill a runaway thread but it's not hard to kill a runaway process. But I think it's worth noting that the performance characteristics of IPC can be very bad
As a very tangential side note, behavior like this is fairy common, and a good reminder human being are not rational actors. People drive like asshats when they're in a hurry, but are very upset when someone else drives that way. Rather than bewildering, I would call it human nature. What is rare though, is being very honest about it.
Yes that is correct. I am not ok with others.

Edit: Jesus do you really not recognize sarcasm? People are free to use whatever license they want and I’m free to explain why I choose lgpl over gpl

> People are free to use whatever license they want and I’m free to explain why I choose lgpl over gpl

choosing a license is a political act whether you want it or not - you are free to choose whichever license you want, that does not mean you won't get called out (like for any other choice with political relevancy even tenuous - eating meat, driving a car, etc. to speak about things I am guilty of for instance)

We shouldn't have to live in a culture when being called out for making a 'choice with tenuous political relevancy' is socially expected, and something someone is 'guilty of'.
surely you see how your position is not workable in any decent society ? this is literally one of the only common rule across humankind: https://en.wikipedia.org/wiki/Golden_Rule