AWS Thinkbox Discussion Forums

Source Code Contributions for AWS Thinkbox

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.

3 Likes

I understand where you’re coming from, but I can’t help thinking that there is lots of missed potential in this workflow. Studios already have lots of code developed, and it is there for the taking.

I imagine some sort of source license agreement that developers can sign (like with some gpl projects) to confirm they pass on the right to Thinkbox, and a protected repository, where only contributors can push, and is available only to Thinkbox subscribers. This does require additional setup, however.
Another option is a “gallery” sort of web page, where one can browse community projects when they are logged in. Think nukepedia, or inkscape’s plugins page.

2 Likes

@eamsler I can only very much support what @moise.moshev said. There needs to be a way for developers to contribute and for users without development capacities to benefit from this.

Thanks for the feedback! I definitely appreciate the challenges here. Feel free to throw more ideas here. I don’t know what I don’t know here, so other examples and ideas are greatly appreciated.

Privacy | Site terms | Cookie preferences