[Standards] Algorithms and XMPP
waqas20 at gmail.com
Thu Mar 4 10:40:04 UTC 2010
On Sun, Feb 28, 2010 at 1:08 AM, Stephan Maka <stephan at spaceboyz.net> wrote:
> Waqas Hussain wrote:
>> I propose that we start a small project to act as an aggregator for existing
>> open source implementations which could be used as references. Once we have
>> that going, an implementation selected for its readability could become the
>> (official?) reference implementation.
> I like this idea, as long as reference implementations are published
> under a liberal (non-viral) license.
> Still, I want to argue against it because I think the standard specs are
> way more important.
I meant them merely as correct examples. And yes, I agree completely
about a liberal license.
>> 1. It would save people writing new implementations hours and hours of
> Guesswork means the standards miss detail.
They do. Or they are extremely verbose. Or they have bugs. Or they are
ignored in favor of shorter tutorials elsewhere which frequently have
>> 2. It would make new implementations more interoperable, reducing the chance
>> of mistakes
> Not all implementers will fall back on the reference implementation,
> leading to probably less interoperability experience.
The likelihood of two different implementations inter-operating would
in my opinion increase.
>> 3. It would make existing implementations more visible, improving the chance
>> of mistakes being found and reported, and implementations being reused
> Yes, given that feedback works.
Indeed, but I think in XSFs case it would.
>> 4. For experimental XEPs this would give direct evidence of how simple or
>> complex an algorithm is, what the edge cases are, and if it could be
>> simplified without losing its important characteristics
> Good point.
Thanks. I just noticed that algorithms within XEPs have had (sometimes
serious) issues which came to light when implementations were being
>> In fact I wouldn’t mind it being required that any XEP moving beyond
>> Experimental have implementations available for the algorithms it defines,
>> under a permissive license.
>> I’m hoping to not be the only one who sees this as a problem we should
>> solve. What does everyone else think?
> Alternative proposal: link to all (open) implementations out there, not
> neccessarily reference implementations. That could improve interop as
> well. As a bonus, hint on the used license.
The funny thing is, that's my primary proposal. I added text about a
formal reference implementation (which I define as a short example
piece of code included or linked directly from the spec) as an after
thought, but it ended up dominating the rest of the discussion :-)
More information about the Standards