"... (1) RMS didn't like Tcl because it wasn't a full Lisp - Graham's Law and all that. (2) RMS was profoundly disturbed by Sun's hiring of JKO and announcement of TclPro. RMS thought of TclPro as being a closed-source fork, where in fact it was a suite of closed-source tools to facilitate Tcl development. ... and he saw Sun's adpotion of Tcl as 'taking it proprietary.' ... including calling JKO a "parasite" to his face in public at one of the O'Reilly workshops. RMS' concern regarding closed-source fork was at least sane. That it didn't happen that way is down to Sun's ... good graces, I guess. RMS then mounted a lot of technical criticisms about the language, most of which were more or less well founded. The Tcl community took those in its usual spirit - as a challenge - and fixed virtually all of them in the branch that became 8.0. I say "the community" rather than "John's team at Sun" because much of the work came from outside; Karl Lehenbauer, Mark Diekhans, George Howlett, Henry Spencer and Don Libes all come immediately to mind as significant contributors. and in fact, the 8.0 and 8.1 releases showed pretty emphatically that Sun and Scriptics were not "taking it closed-source". one account of the incident is at http://www.oreilly.com/openbook/freedom/ch11.html RMS' concern was valid insofar as the license didn't prevent its being closed. However, it ignores something else operating to prevent the enclosure. For example, had Sun decided tcl would be its Java, things may have gone as RMS feared, one can't rule it out, but RMS thought a license could. The interesting thing was that the trigger for the outburst was John's statement that businesses need well-packaged, supported, documented distributions that (in his opinion at the time) only a proprietary model could achieve. http://www.techweb.com/wire/story/TWB19980824S0012 There's no question that Sun's investment improved tcl. Sun had already cast its lot with Java by that point. Sun was more positioning Tcl to be its counterpart to VB, just as Java was its conterpart to VC++. However, I think it's probably arguable that enclosing a language is self-defeating. Eventually, Sun fell victim to its own hype and decided to push Java in both tiers. Tue Sep 12 19:03:17 2006 62.112.158.224 [MSG] ircbridge: serg says: i think Sun is not sponsoring tcl development any more, right? Tue Sep 12 19:04:00 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <kbk> serg: Correct: Sun decided that Tcl was diluting its Java message and allowed JKO to found Scriptics. Tue Sep 12 19:04:25 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <kbk> About half of John's team came with him; the other half found other positions at Sun and elsewhere. Tue Sep 12 19:05:03 2006 62.112.158.224 [MSG] ircbridge: serg says: so he founded scriptics, enterprise has ended and now it is leading Electic cloud Tue Sep 12 19:05:15 2006 62.112.158.224 [MSG] ircbridge: serg says: Electric cloud* Tue Sep 12 19:05:32 2006 62.112.158.224 [MSG] ircbridge: * serg feeling hard pain on the right hand Tue Sep 12 19:05:57 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <kbk> Scriptics renamed itself to Ajuba Solutions. Tue Sep 12 19:07:26 2006 62.112.158.224 [MSG] ircbridge: serg says: domain http://www.ajubasolutions.com/ seems to be expired Tue Sep 12 19:07:31 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <kbk> Ajuba found itself the target of a takeover by Interwoven, which (I speculate) bought it in an effort to kill Tcl - because of the fact that its largest competitor, Vignette, was heavily invested in Tcl. Certainly Ajuba didn't remain as a singificant presence after the buyout. Tue Sep 12 19:09:29 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <kbk> Of course, Ajuba had significantly diluted its position by that point by trying to present itself as a vendor of B2B middleware; John once described Tcl as the "secret sauce" in Ajuba's B2B offerings. Tue Sep 12 19:10:48 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Cameron> That story deserves treatment in the *New Yorker*. It's hilarious. Tue Sep 12 19:10:56 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <miguel> nowadays, the way to kill Tcl would be what? Sending each developper five cases of assorted premium single malts? Tue Sep 12 19:10:57 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <kbk> In the course of the wreck of Ajuba, John found himself reasonably wealthy, and was semi-retired for a little while at least before deciding to found Electric Cloud. Tue Sep 12 19:11:39 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Cameron> 'Makes sense to me. Tue Sep 12 19:12:01 2006 62.112.158.224 [MSG] ircbridge: * ijchain miguel fears that the real answer would be: make eggdrop THE teenager app :o Tue Sep 12 19:12:36 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <kbk> And since Interwoven had no interest in supporting Scriptics's TclPro customers, John quietly released TclPro to the open source. Tue Sep 12 19:12:38 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Cameron> Just take out Western civilization. That would suffice. Tue Sep 12 19:12:50 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <kbk> Under the Tcl license. Tue Sep 12 19:13:37 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <kbk> ActiveState saw a business opportinity there, and began building TDK at least partly from a closed-source fork of TclPro. Tue Sep 12 19:14:24 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Colin> Reading the O'Reilly rendering of events ... it seems that RMS, having suffered a series of setbacks, needed for psychological reasons to strike someone. Tue Sep 12 19:14:42 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Colin> Becoming strident, because he feared becoming irrelevant. Tue Sep 12 19:15:09 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Cameron> Colin, are you going to work your personal language-dual ruminations into http://wiki.tcl.tk/16717 Tue Sep 12 19:15:18 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Cameron> I encourage you to do so. Tue Sep 12 19:15:41 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <kbk> That's certainly Sam Williams's view of the matter. RMS is a complex and often puzzling figure - explanations like that are far too simplistic to explain him. Tue Sep 12 19:15:42 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Colin> Cameron, yes I am. I started a little text on precisely why tcl's a good abstract machine for this purpose. Tue Sep 12 19:15:54 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Cameron> Stride on. Tue Sep 12 19:18:07 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Colin> kbk, it seems to me that RMS needs to be asked whether he accepts that his condemnation of tcl7.6 is now obsolete. Tue Sep 12 19:18:32 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Colin> Cameron, are you aware of any other language having anything like [uplevel] ? Tue Sep 12 19:19:38 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Colin> Because, as mentioned, that seems to me to be the thing unifying LLs as a component of tcl with whatever virtue tcl has as a LOP platform. Hence significant, if different. Tue Sep 12 19:19:41 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <kbk> Cameron - The hilarious story, alas, is something that I couldn't really put in print, for lack of evidence; I reconstruct it from whisperings in hotel hallways and drunken ravings of the tangentially involved. Tue Sep 12 19:20:42 2006 62.112.158.224 [MSG] ircbridge: * ijchain dkf back Tue Sep 12 19:20:50 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <miguel> "something that I couldn't really put in print, for lack of evidence"? I do not see that you'd have a career in politics, stick to tech Tue Sep 12 19:20:58 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <kbk> Colin - [uplevel] is similar to the various forms of macro in lisp Tue Sep 12 19:21:20 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Colin> kbk, except macros are expanded prior to evaluation, I think. Tue Sep 12 19:21:28 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Colin> as macros tend to be :) Tue Sep 12 19:21:52 2006 62.112.158.224 [MSG] ircbridge: serg says: tcl is still alive, but is is hibernating Tue Sep 12 19:22:04 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Colin> No doubt similar in effect, and purpose, but more like #define than [uplevel] no? Tue Sep 12 19:22:15 2006 62.112.158.224 [MSG] ircbridge: serg says: never more comes out tcl 8.5 or tcl 9 Tue Sep 12 19:22:29 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <miguel> if I/we/someone finds a way to have bcc speed in uplevel scripts ... it could change a lot of things Tue Sep 12 19:22:36 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Colin> I guess the distinction as to when they're run is probably irrelevant, though. Tue Sep 12 19:23:08 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Colin> miguel, can't you compile in a given scope? I guess the problem is where do you keep the compilation products, huh. Tue Sep 12 19:23:31 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <miguel> no - the problem is slow access to the variables in the up-context Tue Sep 12 19:24:07 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <kbk> Colin (eval) and (apply) with optional args specifying the binding environment used to be a commonplace in Lisp. Tue Sep 12 19:24:07 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Colin> I mean the problem of compiling in the up-scope is not having anywhere to keep the bytecode. Tue Sep 12 19:25:03 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <kbk> Eventually, the Lispers found the case for strict lexical scoping, tailcalls, and call/cc to be compelling enough that explicit binding enviorments were sacrificed in their favour. Tue Sep 12 19:25:13 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Colin> kbk, the binding environment was specified as in (letrec)? Tue Sep 12 19:25:56 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <miguel> the compilation product is kept in the tcl_obj, and we do compile uplevel scripts. But one of the major wins of bcc is the fast var access, and that we do not have Tue Sep 12 19:25:56 2006 62.112.158.224 [MSG] ircbridge: serg says: kbk: what is behind the "next VErsion of tcl never more comes out" fact? the missing of new features or debugging? Tue Sep 12 19:26:22 2006 62.112.158.224 [MSG] ircbridge: *** lectus joins Tue Sep 12 19:26:24 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Colin> miguel, can you explain to me why we don't? Tue Sep 12 19:26:28 2006 62.112.158.224 [MSG] ircbridge: * ijchain dkf has enjoyed reading kbk's history lesson Tue Sep 12 19:26:39 2006 62.112.158.224 [MSG] ircbridge: * serg too Tue Sep 12 19:27:26 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <kbk> Colin - Originally the binding environment was just an alist, but eventjually became an opaque thing for the sake of performance. Tue Sep 12 19:27:27 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <miguel> serg: because we keep adding features to the current (major) version, and no change has been compelling enough to justify the hassle of talking people into upgrading ... Tue Sep 12 19:27:38 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <miguel> ... so many are still using 8.0 :o Tue Sep 12 19:27:57 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <dkf> It was an alist to start with? Oooh. Ugh. Tue Sep 12 19:28:15 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <miguel> Colin: in a proc body, we know which are the local vars at compile time, and access them by an offset into a locals table Tue Sep 12 19:28:24 2006 62.112.158.224 [MSG] ircbridge: serg says: yeah, but 8.5 is an alpha since .... i don't remember Tue Sep 12 19:28:35 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <miguel> an uplevel script cannot know which are its local vars until runtime Tue Sep 12 19:28:39 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Colin> Yes, dkf. I think they were called ummm ... Weisenbaum environments, and there's a beautiful bit of link-bending code to perform context switches. Tue Sep 12 19:28:51 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <dkf> 8.5 has been in alpha ever since the day 8.4.2 came out Tue Sep 12 19:29:00 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Colin> I mean *beautiful*, it works for pushing and popping environments. Tue Sep 12 19:29:04 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <miguel> so it needs a hash-based access (or worse ...) Tue Sep 12 19:29:09 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Colin> same code - reversible. Tue Sep 12 19:29:40 2006 62.112.158.224 [MSG] ircbridge: serg says: i think the TIP's process too bureaucratique Tue Sep 12 19:29:55 2006 62.112.158.224 [MSG] ircbridge: serg says: i dont' know tha correct spelling Tue Sep 12 19:29:56 2006 62.112.158.224 [MSG] ircbridge: serg says: :P Tue Sep 12 19:30:00 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Colin> miguel, so the uplevel expression is compiled at the same time as the enclosing proc? Tue Sep 12 19:30:01 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <dkf> You're entitled to your opinion Tue Sep 12 19:30:25 2006 62.112.158.224 [MSG] ircbridge: serg says: dkf: that was for mw? Tue Sep 12 19:30:29 2006 62.112.158.224 [MSG] ircbridge: serg says: dkf: that was for me? Tue Sep 12 19:30:30 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <kbk> Now, the fact that an uplevel script doesn't know its vars until runtime is both a blessing and a curse. I would often prefer uplevel scripts to be honest-to-$env(LC_DEITY) closures. Tue Sep 12 19:30:31 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <dkf> yse Tue Sep 12 19:30:46 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <miguel> serg: you are welcome to compare Tcl's alpha stability and performance to many betas, or even released packages Tue Sep 12 19:30:49 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <Colin> I thought clue was what entitled one to an opinion, but what would I know? Tue Sep 12 19:30:53 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <kbk> serg - I've gotten noncontroversial TIPs through in a week. Tue Sep 12 19:31:19 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <dkf> Colin: Everyone has opinions. Not everyone has clueful opinions or informed opinions. Tue Sep 12 19:31:25 2006 62.112.158.224 [MSG] ircbridge: serg says: what are you meaning with noncontroversial? Tue Sep 12 19:31:30 2006 62.112.158.224 [MSG] ircbridge: * ijchain Colin is reminded of the board meeting in MP's meaning of life. Tue Sep 12 19:31:54 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <dkf> serg: Look at TIP#260 Tue Sep 12 19:31:57 2006 62.112.158.224 [MSG] ircbridge: ijchain says: <kbk>