[Standards] Algorithms and XMPP

Waqas Hussain 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
>
> 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
bugs themselves.

>> 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
written.

>> 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 :-)

--
Waqas Hussain



More information about the Standards mailing list