Grasshopper

algorithmic modeling for Rhino

Recently I saw kingkong  plugin use the engine of Kangaroo for their own use.

I was wondering is it possible to customize other one's plugins and next how one can access to their codes to ba able to edit them?

Views: 678

Replies to This Discussion

Hi Kaveh,

KingKong is actually just a clustered Grasshopper definition, and anyone can easily do this with any definition they make, whether or not it makes use of 3rd party components, unless that plugin has something in its licensing against this.

Bear in mind though that when using a 3rd party plugin in such a cluster, there is no guarantee that it will remain compatible should the developer change anything in their components or licensing.

Accessing component libraries through code is another thing. Some plugins provide an SDK so you can call functions from those libraries in your own code. This is something I'm working on for a future version of Kangaroo, as several people have expressed an interest in being able to use its physics functions within their own scripted iterative loops in order to have more control (see here for some discussion).

Customizing the code itself of a plugin is something else as well. This is only possible if the code is open-source (a plugin or library could have an SDK, but still be closed-source). Plankton and TurtleMesh are examples of projects which have functions that can be called from your own scripts, and are also open-source (you can access their code on GitHub here and here respectively), so you can modify any aspect of how they work.

There are various possible license agreements with open-source software. All of them allow you to download and modify the source code, but place different restrictions on what you can do in terms of incorporating it into other software, or redistributing modified versions.

Many of these licenses have various clauses aimed at ensuring companies give something back rather than just leeching of the efforts of open-source developers.

(For example, GPL requires that software using GPL libraries is also released open-source under the same license, whereas LGPL allows its use in software which is partially closed-source, as long as any modifications to the LGPL library itself are shared.)

It is an interesting question - particularly when it comes to how it specifically applies to Grasshopper definitions / components and password protected clusters, and whether any special license types are needed, or if existing ones can be applied.

I'd be interested to hear the thoughts of any of you in the community on the issue, and I think it is a critical one, because I believe a great part of Grasshopper's strength and growth so far has been due to the openness and generosity of members of the community you see on this forum, and a reciprocal level of respect for this. Without guards against it there are those who take without giving anything back in a way that I think could undermine this.

Hi Daniel

How far this liscencing can go deep is interesting. cause people make money by the tools freely get from here, printing objects and things and sell them ,it is not just developing the new plugins or components.That can get very complicated.

 

Thanks for your comprehensive answer. That was really helpful!

RSS

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service