REXML is an XML 1.0 compliant, reasonably fast, non-validating XML parser. It has an API that is designed to be intuitive, straightforward. and terse. REXML includes a tree model parser, a SAX2 streaming parser, and a pull parser. It also includes a full XPath implementation. All of REXML's parsers pass 100% of the Oasis XML non-validating tests. As of Ruby 1.8.0, REXML is distributed with Ruby.
PYX is a highly simplified XML derivative/substitute suitable for use in certain applications. In particular, PYX markup is easy to parse, and PYX documents are easily processed with simple tools. MyoPyx is a compact PYX document parser with a SAX-like API. Its small size makes it convenient for embedding in other applications who need some form of structured document markup, but don't need the weight of a full XML processor. It provides both Java and Ruby validating, streaming parsers.
yesClock is an application based on the YES watch. The Yes watch uses a novel approach to displaying time, showing where in the day you are rather than just the time. The Yes watch approach, used by this companion yesClock software application for your desktop, is a way of measuring time that is more intuitive and natural than any other.
Gozirra (previously SERStomp) is a lightweight client and server implementation of the Stomp (TTMP) protocol, implemented in Java. The main goal of Gozirra is to provide a tiny embeddable library that applications can use as a simple messaging provider. Stomp is a simple, lightweight publish/subscribe messaging protocol.
Appropriate use / abuse
This is another of those use/abuse topics. Jeff is right, from one perspective, and I think he's more or less clear about where he's coming from. ASPs are much more acceptable in a business environment, when the company itself is running the ASP. Is it technically an "ASP" in this case? In some cases, ASPs are useful for home users. Although I wouldn't advocate using webmail as a primary interface to email, it is handy when I'm away from a computer I own. Having an account with an ASP word processor is handy for the same reasons, although I wouldn't use it for anything more than authoring trivial documents. Jeff is correct, however, about several points.
First, a (home) computer with a temporary internet connection is more secure than a server that's on-line all the time even if the user is a security novice, simply because of availability. Second, if a user accidentally erases his/her data, this is *acceptible* (note, I did not say "desireable" or "non-damaging") by the user. If the *ASP* loses or corrupts the data, this is entirely unacceptable. Third, availability is very important for certain activities. Most people know ASPs through email services or some such, and I'd argue that if the network goes down, being able to access your email locally is of limited use. However, if I couldn't use my word processor because a construction developer cuts a telephone backbone cable (believe it or not, this happens about once a year in central Oregon), it culd be crippling. Fourth, privacy is probably the strongest argument about storing data at an ASP. The fact is that you can *not* trust any ASP with your data in unencrypted form. The ASP may be completely trustworthy, but ultimately, if they can access your data, you might as well assume anyone can. Which ASP won't roll over when presented with a court-order and hand over your data? Which ASP can vouch, unreservedly, for the honesty of every employee that has access to your data?
Would you believe them if they did?
When ASPs begin delivering applications which run on the client, that encrypt and decrypt data before transmitting that data over the network, and have been evaluated and proven by a third party to contain no back doors, *then* I'll start re-evaluating ASPs.
Caveat: I'm Just A User
It seems to me that the intent of the GPL is to provide for three forms of protection:
Protection for programmers, so that they can create and distribute software, without the fear that a third party will benefit from the original programmer's work without due compensation. Basically, to stop leaches and opportunists.
Protection for software, so that "modules" on which the software depends can not be arbitrarily withdrawn. This provides a sort of insurance against blackmail.
Protection for users, so that by providing access to the sourcecode, software has a life beyond that of the author.
Perhaps I'm missing something in the GPL, but these seem to be the issues the GPL is trying to get at in its (typical for legal documents) convoluted way. What is unstated in the GPL itself, but which is the stated goal by GPL advocates is the Zeroeth rule: to provide freedom for developers.
To me, these are two seperate "domains" of issues. The first point is a sort of moral protection; few people want others to benefit from their hard work without some form of compensation. The second two are practical issues, dealing more with protecting people from blackmail of the sort Unisys employed with the LZW patent, and from the "disappearing author" scenario: where do you go if you depend on a piece of software and the author is killed in a motorcycle accident, and you don't have access to the source?
I don't know how the QPL addresses any of these issues, although I think that if it provided the same three basic forms of protection, the FSF's position against it would be fatally weakened. The letter of the law is important for resolving disputes, but the *intent* of the law is what is most important in the grand scheme of things. If the letter of the law does not provide for the intent of the law, then the letter is flawed -- not vice-versa.
If the GPL, as it appears to my lay perception, restricts a product from *dynamically* linking to an arbitrary library, then the GPL is flawed, because it undermines the zeroeth goal. The GPL *must* restrict dynamically linking to a non-GPL'ed library to protect software from cases (2) and (3), and this is where I have trouble with the GPL -- who is being restricted? Not the proprietary library, but the software developer who wants to use the library.
(2) and (3) are important, but it is my belief that the way they are represented in the GPL makes the GPL overly restrictive, which violates the Prime Directive: freedom for programmers.