Hacker News new | ask | show | jobs
by walrus 1550 days ago
It appears to use C3D as its CAD kernel, which is proprietary. You can't build it without a copy of C3D. I'm guessing the source will be available for inspection, but the binary will cost money.
1 comments

A full build from scratch would require the c3d headers, which I can’t provide.

What I am planning is to something like this: divide the app into two pieces, an npm wrapper around the kernel and the electron front end that uses the module.

You will need a license key to “activate” the node module. You would then use the electron app or the module directly if you’re a programmer. You will be able to build your own fork of the electron app, but not the npm module.

In effect you will be paying for a license key, not the binary

I will say I’m constantly bewildered by which license to choose. 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. Plasticity will allow plug-ins to do whatever they want, that’s the goal.

There is some possibility I will switch to MIT since philosophically I’m more in that camp

> 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

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.

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 ?

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
[edit: misunderstanding]
Please correct me if I’m wrong but I was not under that impression

https://stackoverflow.com/questions/5419923/can-gpl-be-re-li...

I thought I am the copyright owner and I can offer my code under as many licenses as I want. Many people dual license gpl code is my understanding. Converting my own code to mit should be allowed right?

Every Google result I’ve found says I’m the copyright owner and I can offer as many licenses as I want. Are you just trolling?

Correct, the commenter you're replying to appears to be completely misinformed.
>GPL means the code belongs to the public and you cannot copyright it

That's incorrect. The author still retains the copyright and is free to relicense their work any way they want.

So external contributors can only provide patches without being able to test themselves I suppose.

Is the c3d dev license cheap enough for determined contributors to join? As in, cheaper than a f360 maker license?

I do not mean this in any pejorative sense. As a dev/maker I kept an eye on c3d for a long time, since that seems the only advanced-enough and commercially affordable brep kernel around to get off the ground quickly.

However, there's no discussion the closed nature pretty much bars any sort of in-depth contributor.

At least, contributing to a project like this would be extremely off-putting for me, to the point that besides having the ability to look a bit deeper than usual, I question whether keeping the source open does much.

> So external contributors can only provide patches without being able to test themselves I suppose.

My intention is that if you buy a license for plasticity, you can then build locally and test locally. You can contribute back or not depending on your interest.

Think of it like this. There will be a typescript/javascript wrapper around a limited version of the c3d kernel. this is the plasticity api. You will call plasticity.Enable(license_key) at the top of your program and you will be good to go. You buy a license key from me.

Although I do hope people will contribute the plasticity's development, my main goal with it being open source is that people will write plugins that they can then give away or sell themselves.

I have used commercial software that I pay for -- like Fusion 360 and MoI3d -- where I ran into bugs that I could have fixed for myself if only I had the code. I'm still happy to pay for them. Instead I literally waited 2 years for Fusion to fix a bug I cared about.

I'd be raising both eyebrows if c3d allowed this. That would be a very non-conventional licensing model.
It is for sure a murky area where I'm working out the details. You don't have the full kernel. But you can think of it a bit like a scripting API on top of the kernel, which is not uncommon in CAD apps, like OnShape's FeatureScript or something.