Hey everyone, I wanted to provide some guidance on how your discoveries can help us make our products better since the Deadline plugins aren’t officially open source, they’re “source available”. We still may not be able to make the changes you’ve offered due to other priorities but this is the best way to share how you’ve fixed a problem or added a feature.
Source code contribution is tricky because of legal ownership, but describing how you came to the solution and some tips is very helpful! Think of it sort of like describing the solution to someone learning how to code as opposed to handing them the answer. As an example, let’s look at adding a new command line argument to a fictious plugin. Your change might look like this:
def GpuDetected( self ):
# I'm being lazy here since this is an example, but you’ve done real work here
return True
def RenderArgument( self ):
# Here's some normal args
arguments = "-abc"
if self.GpuDetected():
arguments += " -g"
In the code above, you’ve made a helpful new function (that would actually do something useful) because the program needs to be allowed to make use of GPUs on the machine.
The most helpful thing to do for our engineers here is describe the changes. So this would be most helpful:
I found that if there are GPUs available on the machine, passing the “-g” flag to Program 20XX allows it to make use of the GPUs on its own.
Essentially, describing inputs like regular expressions, which APIs were used, or weird gotchas to solve the problem without actually providing the source is way to give us the right amount of knowledge to implement it. You can read a bit more about clean room design on Wikipedia. We appreciate the feedback and the creativity our community has brought to Deadline over the years, and I’m hoping this makes it more effective to let us share that creativity with others.