hey,
I said "delete everything" in the scene has an example. Of course I would 
try to do something that won't damage anything, but just make the plugin 
stop working.
The reason why I am so concerned is that I had a very a bad experience a 
year and a half ago. I trusted the client with my personal work that took 
me a year of hard work, and he ended up lying to me and giving anyone that 
he wanted all of it.
That hurt me a lot, and I lost more than 3000 pounds. So I learned from 
that experience. I think it is important to protect your work.
Thanks for your advice. I 'll try to figure out a clean and none 
destructive way to do it. If I don't, I`'ll consider a license key solution.

R

El viernes, 3 de agosto de 2018, 11:29:10 (UTC+2), Justin Israel escribió:
>
> That sounds really devious to instrument your plugin to destroy the state 
> of someone's work if it thinks certain conditions aren't met. It is 
> borderline virus-like and I think you should avoid that route. What if some 
> connection were deleted by accident? 
>
> I realise you put alot of time into your intellectual property and want to 
> protect it. But this situation is pretty common with commercial products. 
> Safe guards can be hacked and worked around, so it usually comes down to a 
> company wanting to play ball the legit way. That means wanting to ensure 
> the products they are using are licensed, supported, and work reliably for 
> them in production. 
>
> If you don't want to come up with a proper license key solution, maybe 
> there are other ways to deter clients from misusing your technology. I 
> don't have any concrete solutions since I don't write much Maya code these 
> days, but maybe you could think of some way to validate the objects on the 
> other side of the connection to your node? Maybe some type of activation 
> criteria has to be met or else a created plugin node simply won't function. 
> So you could focus less on trying to prevent the creation from happening, 
> and just make it not do anything useful unless it's activated correctly. 
> Maybe that means considering a hash on stuff like the type of the node 
> connecting to your plugins plus some other criteria. Maybe you compile your 
> plugins specifically for each client, with some keys that have to match the 
> rig (c++?) you have given them. 
>
> Im sure others in this forum that write Maya plugins on a regular basis 
> could offer some more concrete criteria to base it on. But overall I just 
> recommend accepting that people can choose to circumvent things but 
> hopefully your clients won't work to circumvent some basic measures that 
> you implement thus making it harder. Just don't delete their stuff :) 
>
> Justin 
>
>
> On Fri, Aug 3, 2018, 6:00 PM Rudi Hammad <[email protected] <javascript:>> 
> wrote:
>
>> Hello, 
>> although this a C++ question, I think it is okey to post it here since it 
>> is Maya's API related.
>> So, I recently started writing plug-ins in C++ and I am planning on 
>> freelancing rigs that use those plugins. Simply put: I want the clients to 
>> use the rigs with the C++ plugins nodes, but I don't want them to be able 
>> to create the node.
>> The reason why I want this is because if I spend months or a year of hard 
>> work developing a muscle plugin, the client can ask me for 1 rig, and then 
>> rip off the plugin and keep it to him self. So without going into license 
>> stuff I thought that
>> maybe in C++ we have more protection measures?
>>
>> This is what I have done so far to protect the plugin:
>>
>> 1-Build the plug-in in release mode (apparently in debug mode you can 
>> hack it somehow, at least that's what a college told me when I was working 
>> at MPC)
>>
>> 2-Delete everything in the scene if a disconnection is detected in the 
>> node with: 
>> connectionBroken(const MPlug& plug, const MPlug& otherPlug, bool asSrc)
>>
>> 3-Delete everything  in the scene if the node is duplicated with:
>> ::copyInternalData(MPxNode* node)
>>
>> But the main problem is that you still can simple write 
>> *cmds.createNode("theNode")* to create a new node. So the previous 
>> measures are useless.
>>
>>
>> Any ideas?Maybe doing something after the maya scene was opened and 
>> loaded the plugins?
>> Thanks,
>>
>> R
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Python Programming for Autodesk Maya" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/python_inside_maya/64a4e39d-3ea7-495e-9f36-16c734d73faa%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/python_inside_maya/64a4e39d-3ea7-495e-9f36-16c734d73faa%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/python_inside_maya/71e23868-279b-496c-9932-7c2b912d6154%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to