Licence for Grasshopper definitions

I am using Rhino 5 and GH 0.9 for my work. I am wondering if there is any way to protect of some of the definitions from illegal copies. Is there anyway to do this? I usually cluster my definition and put a password on them. However, I would like to have a licence or something else on them to avoid illegal copies. Thanks.

This is not possible. Even cluster password protection is very weak and easily circumvented. If you don’t want your files to end up in the wrong hands, you must not share them in the first place.


Hi David,

I see some conflict in this. Can you not put a license on a piece of code? Isn’t that what a Gh definition supposedly is, but visual?

It is common to create a program and expect other people to use it. “Do not share your definition in the first place” seems kind of an obtuse advise to me.

I see some conflict in this. Can you not put a license on a piece of code? Isn’t that what a Gh definition supposedly is, but visual?

It seems a bit weird to me in this situation, if you think about it you would be putting a license actually on McNeel’s code (or David’s). I think probably an algorithm could get licensed as a concept, but I don’t think you can legally own rights to a Grasshopper definition. If you are going to go the protection route I think it makes sense to script it up. I think if the thing is very ground breaking then might as well create at least a plug-in that you can control licenses on (like Karamba).

Yea I see your point Micheal. But take for example the guy that made the whole definition generating and fabricating paragliders (somewhere in this forum). I don’t know how ground breaking that is but I feel one should totally be able to license something like that.

What do you mean by “script it”? Is it just like Python script it but using Rhino methods? Or creating your whole library from scratch? I mean codes use external libraries all the time no?

David often points out that GH is just the same as or a least a type of programming. If you can’t license it, then maybe it isn’t.

You can write a GH definition using standard components or a Python script using ghpythonlib.components. Do you consider these two different?

Well yes, you can add a license and hope everybody reads it and then follows it. I was assuming @Manoochehr_a was looking for a way to enforce his copyright, not proclaim it.

It is sadly the truth. Either you give away/sell your software for other people to use and you hope nobody does something you don’t approve of, or you keep your software in-house and instead sell the solutions it generates. Or, these days, you sell your software through an online interface meaning it only ever exists on machines you own, but customers can still use it without help.

There are complicated and expensive licensing solutions out there, all potentially crackable and most already cracked.

1 Like

I’m not an expert, but I was under the impression everything you make is automatically copyrighted.

The distinction here is between legal and practical considerations. Copyright and licensing are legal issues and relatively easily achieved. Stopping someone from violating the license agreement is a practical issue and almost unsolvable.

1 Like

Thank you guys for sharing your thoughts. I was under the impression that I could do something to protect my definitions. Sadly this is not addressed well in GH and this has created a point of thought for me.

1 Like

In certain cases devastatingly so. I wish there was a way to convert this stuff easily. Grasshopper is an extremely useful tool, however, its protectability is basically that of a trade secret for the users as a piece of software…