Tclkit release policy

Tclkit is a standalone runtime which has been ported to numerous platforms. Its ability to run out of the box makes it very attractive to maintain a potentially huge collection of builds, available freely.

This documents the policy decisions adopted to make sure Tclkit continues to grow as a professional development and deployment tool, bringing the best of both open source and commercial efforts together. None of this is set in stone, but it is nevertheless intended to help clarify how I intend to allocate my time to all this - as a long-term commitment.

A THREE-TIER APPROACH

Tclkit builds are categorized as belonging to one of three levels. These can change over time.

Tclkit releases - level 3 - The open source community at its best

At the most general level, all Tclkit builds will be gratefully accepted and made available for download to anyone as pre-packaged Tclkit executables.

I have spent considerable time to come up with the "genkit" script that helps automate everything. It wraps the entire process of downloading, building, packaging, and testing Tclkit into 7 steps - these are fully documented on the Building Tclkit page.

At the end of 2002, over two dozen builds of Tclkit had been collected, with the help of numerous volunteers. A new round of builds is about to be started, using the latest Tcl/Tk 8.4.2 release.

Tclkit releases - level 2 - A set of verified stable builds

For certain platforms, a more formally controlled release cycle may be desired. This hinges on proper maintenance, and hence... maintainers.

For each platform listed as level 2, there will be someone in charge of tracking important releases. This remains a volunteer effort, i.e. it's not a support agreement, or even a hard commitment to track everything continuously, but is nevertheless of considerable value - because you can expect that person to depend on the release and to make sure it is robust and performs as expected.

Anyone who is willing to do occasional builds and tweak/fix occasional problems in the build can be a maintainer for one or more level 2 Tclkit releases. It doesn't come with hooks attached, nor is there any money involved. All it takes to contribute is mind share and some spare time. In return, you'll get an up-to-date Tclkit on your favourite platform, plus a warm fuzzy feeling inside of being member of team which is helping advance a worthy cause. And, hopefullly, the respect and gratitude of others who want to use Tclkit on the platform.

Tclkit releases - level 1 - Primary supported builds

A number of platforms are considered "more mainstream than others". The threshold has been set at a small number of platforms, because this covers a large range (in numbers as well as technical diversity):

Builds for these will always be kept up to date. Hardware and software with a fixed configuration is being maintained to make sure these can be built and debugged in a controlled manner, and that pre-releases can easily be produced.

This does not make any of the other builds less important, it simply acts as an major subset where problems are very likely to be detected and get fixed. Getting the level 1 builds right is hoped to be an effective way to make level 2 and 3 builds succeed with minimal effort.

COORDINATING ALL EFFORTS

I see it more as my role to coordinate this, than to spread myself too thin with builds. I'll be able to respond to questions and help solve issues for level 1, and hopefully level 2. I do get my hands dirty, though - as maintainer for at least the Windows and Linux x86 builds, and for the genkit script.

The set of level 3 Tclkits is likely to grow and evolve quite a bit over time. Luckily, this is also the part which has been most automated. The tar/gz files from "sh genkit C" are all I need to generate Tclkit builds. At last count there were already over 60 - though many of them are more or less equivalent, and of little general use.

One advantage of collecting all "raw builds" in a single spot is that changes to the VFS runtime, i.e. files which are the same for all platforms, can be quickly applied to all Tclkit releases at once.

DELIVERABLES

At the end of this process is a growing collection of Tclkit builds. These binaries use standard Tcl-/BSD-/MIT-style licensing, and are therefore freely available for all uses, including commercially.

At some point, mirrors will no doubt need to be set up, though I don't expect bandwidth or access limits to kick in that soon.

The goal of this collection is not to become the center of the Tcl universe. That is and remains, as always - http://www.tcl.tk - for this reason, this will not include sources, docs, etc (other than the pub/tk/tars/ genkit build area).

As before, everything will be tracked and reported on the Tclkit homepage:

	https://www.equi4.com/tclkit

-jcw