Evolving the Tcl/Tk Core


Evolving the Tcl/Tk Core

The Tcl/Tk core is managed by the Tcl Core Team and the Core Maintainers.

The Tcl Core Team act as a technical oversight board for new features for the core. They are trying to make sure that as many people as possible are happy with each new feature that is added and that the overall effect is coherent.

The Core Maintainers are the people who do the actual code-editing work and have the right to modify the core. You can become a core maintainer if you want! Just tell the TCT your SourceForge user-id and say what bit of the core you want to maintain. All it takes is a willingness to work with the code (mostly high-quality C with some Tcl and a bit of shell/make scripting in the build) and a bit of time and effort.

If you want to get in contact with either the TCT or the Maintainers, just send an email to mailto:[email protected] though we'd request that you subscribe [L1 ] if you're going to be sending many messages.

Common questions about Tcl

Q. Who is the leader of the Tcl community? Who makes the final decision about what goes into Tcl or settles arguments?

A. The Tcl Core Team has the final say about what goes into the "core" but anyone building a distribution gets to choose what they distribute. That's what being Open Source Software is all about. Occasionally we'll ask John Ousterhout's opinion, but that's rare as we usually feel that the person doing the work has the clearest view of what needs to be done. :^)

Q. What features are being planned for the next version of Tcl?

A. All sorts of things. Some ideas are still in peoples' heads, but others are written down more formally as TIPs. All new features must eventually be TIPped, but support for additional platforms doesn't count; we want to support as many platforms as possible in all versions. :^)

Q. Where do I go to download Tcl?

A. The source code is available in a Fossil repository at http://core.tcl.tk and you can also view a full history of all changes since the Tcl developers switched to using reasonably recent source code management software (which was shortly after the release of Tcl 8.0). Older versions of Tcl and Tk are also available from SourceForge, but the detailed change history appears to have not survived.

Q. But what if I just want to use Tcl - not build it? Where do I find a binary version?

A. The TCT and Core Maintainers do not, as a body, create binary distributions of Tcl and Tk. On the other hand, some community members do create various binary distributions. And in some cases, these members also hold core maintainer or TCT roles. However, the binary distributions they offer are not in general considered official distributions. (The Getting Started page has links to the binary distributions.)

Q. Why don't you include [insert your favorite feature here] in the Tcl core?

A. There are a few possible answers.

  • Maybe it is just that nobody's proposed to put it in the core. Different people have different priorities, after all.
  • Maybe nobody's had the time to write the code to make it happen and build cross-platform. (Only 24 hours per day!)
  • Maybe the code works just as well (or even better) as an extension package. (For example, Expect works just fine without being included in the core, and Img can't go in the core because of annoying third-party library issues.)
  • Maybe the feature doesn't fit the way that the core works, like a square peg in a round hole.