On 12/17/06, David Powell <[EMAIL PROTECTED]> wrote:

What you can do however, is to specify that feed licenses apply to the
"feed", and inherit to the entries in the feed. ... It
means that the license applies to all entries in that feed, not just
ones in that specific feed document. This is probably reasonable
behaviour for licenses anyway.


Particularly in the case of licenses, it is very important to distinguish
between the "feed" or stream of all entries (past, present and future)
associated with a feed id and the actual feed documents that encapsulate
subsets of that stream. Atom provides no mechanism for associating meta-data
with "feeds." Atom only supports associating meta-data with Feed Documents.
Data in one feed document does not apply to entries found in another feed
document -- or to entries that stand-alone. Feed meta-data found in one feed
document does not override, compliment or invalidate feed meta-data found in
other feed documents. This is one of the many reasons we have atom:source --
so that we can bind specific feed meta-data to an entry no matter what
context in which that entry might appear or when it might be read.

If we had a case where data in one feed document overrides data in other
feed documents, we'd have a mess. Some of the questions that we'd have to
answer are:

  - Elements like atom:author, atom:contributor and atom:rights can and
  do change over time -- sometimes frequently. If such a change occurs, does
  it mean that we've implied a change to all previous entries published in all
  previously published feed documents? This rule would tend to force us to
  create new feeds (i.e. new feed ids) whenever authors, contributors,
  or rights change. This would make a mess for aggregators and feed readers
  who have enough trouble keeping up with changes in the syndisphere...
  - If data is present in one feed doc but not another later document,
  does the absence of the data in the later document override the previous
  document or do we combine what we know from both documents? (i.e. if
  the earlier Feed document had an atom:contributor field but a later Feed
  Document does not, does this mean that we wipe out knowledge of the
  contributor who might have been essential to creating some of the earlier
  entries? (That's kind of heartless -- it would be a high tech version of
  "What have you done for me lately?...") Or, do we improperly maintain the
  old contributor as a contributor of new entries --potentially long after the
  contributor has died?)
  - How do we handle mistakes? For instance, if after publishing several
  thousand feed documents in sequence, I might publish one that accidentally
  grants "all rights to everyone" when I really meant to grant only
  "non-commercial" rights. Does the new badly coded feed document force all of
  the thousands of entries I've been working on over time into the public
  domain even if that wasn't what I intended?
  - How do I "repair" the mistake discussed immediately above? If I
  publish a new feed document with a license grant for "non-commercial use,"
  does that then apply to all previously published entries -- including those
  that were accidentally published with over-generous rights? Does this mean
  that I can use a license in one feed document to *restrict* or rescind
  rights granted by another feed document? (This would be a very bad
  thing...)
  - If I have an aggregator that picks up some content which is licensed
  for general use today, how can I be sure that I can still use the content
  tomorrow? If the content of a Feed Document applies retroactively, it would
  seem that I have to re-fetch the feed every time I use content from the feed
  so that I can check the metadata. This doesn't seem to make sense. If I were
  sued by someone, could I use the argument: "But, I didn't read the new, more
  restrictive Feed Documents!" Is ignorance an excuse?

I could go on...But, I hope the case is made. Feed Documents only describe
themselves and the entries they contain. They do not "describe" the feed.

if you store a feed in an implementation such as
Microsoft's Feed Engine, only a single set of feed
extensions will be associated with the feed.

While it is important to be aware of the inadequacies (as well as the
strengths) of implementations by companies with significant market power, I
don't think that we can simply delegate the standards writing process to
such companies or modify standards to cover up their bugs. The fact that
Microsoft or any other company has done the wrong thing should not, in
itself, be sufficient to dictate the development of standards. Hopefully,
they will eventually see the error in their ways and correct them.

bob wyman

Reply via email to