A "source" command simply executes the Tcl commands located in the file. These commands are executed in the same context (same namespace) as where it was called from. In other words, the commands in a file that is "sourced" are not a subprogram.
This is not like calling a procedure. A procedure is defined with a "proc" command and executed by invoking the named procedure (with arguments). The procedure is executed in a different namespace; any variable used in a procedure is in a different namespace than the calling scope.