Help on Creating a Grasshopper Plugin


I need some advice with releasing a Grasshopper plugin. Image 1 shows the entire script setup - that I would give instructions for on setting up. The parts highlighted in yellow are the Python Components while the parts highlighted in white are from the Human plugin. The rest are standard components with Grasshopper.

Question 1 & 2 & 3: From research on these forums, the way I upload these components as an addon is to first compile the components. Then since I understand that the code is pretty hard to obfuscate to anyone who knows what they are doing, I should get a GPU license instead of a proprietary license? Then I upload it to Food4Rhino? If I wanted to charge a subscription fee for future iterations of this addon, I think that I can still do this with a GPU license?

Question 4: Since @andheum wrote the code for the components “Custom Preview Materials” in white, that are needed to make my script run properly, do I need to reference this somewhere in the addon’s release, or gain permission?

I’m also curious to what licenses others used in their Plugin’s, free or subscription based.

If I sound like a noob, it’s because I am. I hired someone to write the code for a project that I am working on, but I realize that these components would make a good plugin so I want to release it.

Thank you

Generally speaking, I think that it doesn’t make much sense releasing commercial plug-ins for Rhino or Grasshopper, since history has shown that very few people are willing to pay for add-ons - especially Grasshopper ones -, and on top the payment moral has been spoiled by most of the greatest plug-ins being free anyway. It’s up to you to decide, but you should be aware of that! Apart from the community, McNeel will profit most from your add-on, but it could potentially offer you other rewards.

I don’t know what a GPU license is, but here you can find information about open-source licenses.

Not knowing what your definition does and given that most components seem to be vanilla components or from other, third-party add-ons, I think that the only ones that probably are interesting to publish would be the Python components?
If you want to run them as a subscription based service, I’d look into offering them for instance via Hops as a web service. This would entail that you host and run a web front and back end, so make sure that what you’re offering, is really worth setting up all of this.
Since you hired someone to write the Python code, you should also check with them whether they agree, and what your agreement or contract says about commercial or free code distribution, just to be sure. You don’t want to be Winklevoss-ed, the moment you reach commercial success. :wink:

Compilation doesn’t do anything for code obfuscation, because .net/C# is a breeze to decompile. It’s really super easy and can be done to each and every Grasshopper component.

Thank you for the feedback. Yes I realize that compilation doesn’t do anything to protect the code. A GPU license is a copyleft license that I read about somewhere on these forums, so the idea was that this would be open source. I just wanted to keep the subscription option open in the future, so I appreciate the insight into how to do this and the complications around it.

So it sounds like I have the steps right to release the add-on:

  1. Compile
    Ensure that I have legal authority to from the contract
  2. Open Source License
  3. Upload