[racket-dev] proposal for moving to packages
I'm calling for making Racket and package source transparently
accessible, even though not actually bundled into distribution downloads...
Racket has a research and education bent, and also attracts some of the
more sophisticated developers. For all of these audiences, there's a
tradition of accessibility of source, and arguably value in that.
I think transparent navigability to source would be appropriate for
Racket. Transparent navigability to source could mean that DrRacket
will download source on-demand for any binary package that is installed,
rather than source having to be bundled with the package, or requiring
user to go get source separately.
Admittedly, I think source accessibility is not as important in Racket
as in Emacs. (Because, for general programming, the Racket
documentation is sufficient and the source wouldn't help. And for
extension of the programming environment, which was one of Emacs's
greatest achievements, extending DrRacket is much harder; plus, the
DrRacket source is not much help if you didn't previously tackle the
manuals on frameworks and such, which almost no one does.) But there
are uses for source accessibility, especially for independent add-on
packages, and the principle of being able to easily pop the hood still
has value.
Example: Imagine I'm in the middle of writing a Racket program and am
wondering about characteristics of some kind of I/O port in Racket.
With transparent source accessibility, I can just click on an identifier
in my program in DrRacket to start browsing the implementation. Maybe I
see a possible improvement, or seeing the source pre-empts yet another
email list question that otherwise only Matthew could answer, or I feel
empowered to go add a new feature. If the source is not as accessible,
then I'm more likely to be a mere naive user of the tools, rather than
to understand the tools and help improve them.
Side note: I'm also looking forward to seeing how this new packaging
works out, especially if it leads to me being able to ship small binary
packages for iPhone/Mac/Windows, implemented in Racket. (I don't care
about open source principles on those very closed platforms; I just want
their money. Which is totally different from what I want from an
intellectually-inclined open source development platform.)
Neil V.