1. A machine-implemented method, comprising: importing a motion graphics composition comprising a plurality of linked patches into an editing window of a graphical user interface (GUI), the plurality of linked patches collectively representing a motion graphics composition, wherein each patch comprises a subroutine of source code that, when compiled and executed, renders a graphics object of the motion graphics composition; displaying, in the editing window of the GUI, the plurality of linked patches, wherein the plurality of linked patches includes a first patch and a second patch, the second patch having an input port visually and dependently linked with an output port of the first patch, wherein the links between linked patches define a dependency and a data flow that defines an order in which graphics motion data is processed between the linked patches for the motion graphics composition; in response to selecting one or more patches from the displayed plurality of linked patches, performing a dependency analysis of the selected patches to determine one or more related patches that have a dependency relationship with the selected patches, including identifying a relationship between the first patch and the second patch in which a value that is output by the first patch is used as an input value by the second patch; extracting source code associated with the selected patches and the related patches based on the dependency analysis without extracting source code of unselected and unrelated patches; and exporting the selected patches, the related patches, and the extracted source code as a composition file to be shared with another user to enable the user to recreate the motions graphics composition without having to rewrite the extracted source code.