Is it OK to modify nodes of third party packages and use it in local package for myself?

First of all, I have a lot of respect for others work, and some excellent packages like clockwork have really helped me a lot. But I found that I need to modify some nodes which can be modified , and then publish it locally for my own use. I don’t know if it is ok.There are 2 reasons:

  1. Sometimes I need to add a little function, or remove some unnecessary output, that is to add a little customization to the third-party node.
  2. Because I am using the Chinese version of Revit, I found that some nodes don’t work or report error just because of the translation of parameter names. I need to manually replace the revit parameter names written in the python script node.
    I respect other people’s work, I will add the name of the original author and package using # when modify the node, if the behavior is not right or the author is not willing to do this, I may try not to do this in the future.
    Plus I won’t public my package online,I just create it for my own use.

Unfortunately there isn’t an easy answer here, so i’m going to go with the easy way out and say: it depends.

What it depends on is the license under which the package was published. If you aren’t sure what license was used, you’re best bet is to dig into the documentation which comes with the package. Many packages list the license in the metadata contained in the pkg.json file which comes with the package. You can open those in the text editor of your choice and have a look at the contents. One such example is this from my package, “GenerativeNeighborhoods”, where I have highlighted the specific license info.


As another example, this is the contents of the Rhythm package which I have installed for my Revit 2023 instance:

Other packages (including many of the older ones) have the license referenced somewhere else. For example clockwork lists theirs on their github (which is common practice for projects with a GitHub). Reviewing that pkg.json we see:

, and opening that link and reviewing the license we see:

The most common license I have seen in use within the Dynamo community is the MIT license, which you can read about at various sources on the web, such as this handy link: MIT License (Expat) Explained in Plain English - TLDRLegal.

As far as what each license means, I am not a lawyer so i can’t say. It’s up to you as a developer to research what is within the limits of the license which you were granted when you downloaded the package.

2 Likes

It’s a bit complicated, but thanks for checking out so many docs. Personally, I am not willing to do this. I have done a few, and it doesn’t feel very good. If there is a risk, I will try to make it from scratch.

1 Like

re: anything Rhythm related. You are good to go. The BSD license protects me (and my brand) from people using it to advertise their products that are derivatives of my stuff.

and for simple copy-paste stuff, I have a few of the Rhythm nodes in Python here:


Aside from licensing, the biggest issue I find with pulling nodes out of packages is you are the one on the hook now for maintaining that. At a previous firm, we had someone do that with dozens of nodes and when it came time to update, it was a nightmare. The drive to not have to install packages caused a whole mess of trouble.

5 Likes

Thank you for your reply,john. :grinning:

2 Likes

as long you are not using it for your own profit. any code published under dynamos own server is free to use provided you dont claim the code as your own.

in other words if you are open with who wrote it in the first place nobody can come after you saying you stole thier code unless you sell it off as your own software app of course

if you however want to take the code from packages on github or other places outside of dynamos own package server there might be diffrent rules.

all falls back to old rules in software particular games where any software made within the engine (mods for games for instance)(in this case revit/dynamo) belongs to the copyright owner but cannot be sold unless permited from copyright holder of the software owner (autodesk) in short you cant sell dynamo nodes or packages without permission from autodesk anything you make inside it can of course be copyrighted by the crator but as long you dont try to claim you yourself have made it no one is going to be able to give your truble for reusing thier code.

(apps goes around this issue by being built in c or python from the ground up and not using dynamo at all).

to summrize keep all parts of the code that say person x made this and dont try to sell whatever you are making as your own and you are safe.