One of the primary advantages of Tcl/Tk is that the source code is freely available on the Internet from Sun Microsystems. Consequently, there is no need to deal with the economic burden nor the administrative overhead of paying for the package initially and paying again for subsequent upgrades and bug fixes. The author of the package, John Ousterhout, has adamantly stated that the Tcl core and Tk extension will always be freely available. In addition, neither licenses nor royalties are required when distributing applications built with the language.
By making the source code freely available, two other advantages arise. First, that fact that Tcl/Tk is free has undoubtedly contributed to its widespread use. The Tcl/Tk community is estimated to number in the tens of thousands, therefore providing the new user with a well established user-base to fall back on for assistance and guidance. This user-base is easily reached via the Usenet newsgroup comp.lang.tcl. Second, freely distributing the source code leads to open development of the package. End users are free to fix bugs and make suggestions and enhancements to the existing Tcl core. The existence of a clean, well-documented functional interface to the internal mechanisms of Tcl makes it relatively easy to extend Tcl to include features which are either too slow or not directly supported in Tcl. If the extensions are deemed useful to the Tcl community as a whole, then these extensions may be integrated into the core in the next release for the benefit of all users.
Programming a GUI can be a very arduous and demanding chore. Tcl/Tk helps make the task easier by raising the level of abstraction for the programmer, thereby making the implementation of user interfaces easier and quicker. Graphical interfaces written using Tcl/Tk typically require significantly less code than an equivalent interface written in C. Tcl is relatively easy to learn and provides most of the features one would expect from a general purpose programming language. Since Tcl is an interpreted scripting language, there is no need for the developer to compile the code. This makes rapid prototyping more feasible with Tcl/Tk.
Tcl/Tk was originally implemented for the X Window System; as a result, it runs seamlessly under a wide variety of UNIX platforms, including Linux. At the time of writing, ports were in progress to other popular operating systems, thereby enabling an application written using Tcl/Tk to be relatively portable across a variety of different architectures and operating systems. The potential user-base of such an application is, therefore, quite large.