I have no idea about the legalities but I would say if you are selling your objects and are prepared to provide support for them (bug fixes, upgrades) then by all means password protect them.
If you are not prepared to support them then don’t password protect. Allow others to maintain them in the future.
I wouldn’t have a problem with all objects having their scripts password protected so long as the parameters were still editable.
A person may make an object and protect it but it will be useless to me as I may use different fills, pens, materials in my template that don’t suit their defaults for the object. I then have no way to edit the default parameter settings as they a locked together with the scripts. (yes I know I can set up favourites).
Please Graphisoft at least allow us to still edit the default parameters even when an object is password protected.
Versions 6.5 to 22
Dell XPS- i7-6700 @ 3.4Ghz, 16GB ram, GeForce GTX 960 (2GB), Windows 10
Dell Precision M6800 - i7 4700MQ @ 2.40GHz, 16GB RAM, AMD FirePro M6100 (2GB), Windows 7 64bit