both Python and Perl are available as open source software, which means that if you want to fork them, you're perfectly free to; just grab the tarballs and code away.
that's what the GPL means, and this puts rather a limit on just how tightly the person or persons in charge of the respective projects can control them; if you don't like the guys who run Perl, or if you have something against Guido, you're
free to make your own fork. by comparison, Java is controlled
much more tightly by a far more exclusive group; Sun has the option to take legal action against people who try to fork Java in such a manner.
(in fact, with both of these projects you're actually even more free than that. Perl gives you a choice of either the
GPL or the
Artistic License, and Python comes with a GPL-compatible license which even gives you the right to
redistribute modified binaries without distributing the source!)
the projects in question — like the vast majority of free software projects, in fact — are maintained through
publically available mailing lists that anyone can join, and anyone can read the archives of without even joining; i have a really hard time seeing how this could reasonably be called "secretive". whereas the development of Java is hard to seriously influence without addressing (either directly or indirectly, on at least some level) the profitability and fiscal interest of Sun Microsystems, a topic not open to very many who don't work for that company's management team.
the nature of free software also somewhat mitigates the fact that many (although
by no means all) free software languages don't have a formal specification, free or otherwise — because the source code is free, it can serve as the
de facto specification. in a real and important sense, the definition of what a Perl or Python interpreter "should" do is simply, "whatever the most widely accepted, commonly used interpreter for the language does".
each of these languages happen to have one single such widely accepted interpreter, but that's only because their respective development communities have managed to keep the respect and support of their users. if they were to completely lose face, you could easily see something like what happened to the XFree86 project; a fork, followed by the obsolescence and irrelevance of the original project, having been replaced by a better and
more free successor group.
free software projects, most commonly, are held in cohesion by respect, social support, and technical excellence as well as other, softer human factors. proprietary software projects are, in the extreme if not in practice, held in cohesion by the blunt force of the law. it's debatable which approach is more efficient and/or effective — you could even say that that's what the whole free/open source software debate is all about — but i for one am firmly in the free software camp. again, i could go into detail on my reasons for that, but to do so would be to open a purely political debate, and i don't feel comfortable doing so on a nonpolitical forum such as this; i worry this discussion might have gone too far afield as it is, frankly.
[edit: added link to ANSI Scheme, improved last sentence.]
[ May 17, 2005: Message edited by: M Beck ]