Towards WAMP IETF RFC - implementors: PLS HEADS UP

418 views
Skip to first unread message

Tobias Oberstein

unread,
Sep 4, 2015, 5:19:19 AM9/4/15
to WAMP
Hi,

tldr;

CALL FOR INTEREST: Is there interest in advancing the WAMP spec into a proper IETF RFC, ultimately with the goal of making WAMP an IETF Proposed Standard?

Below: a long, bottom-up and important (my view) post for the WAMP community/implementors.

Any kind of feedback is highly appreciated!

Cheers,
/Tobias


=== History and relation of WAMP to WebSocket

WAMP has been an officially registered WebSocket subprotocol since 2012

http://www.iana.org/assignments/websocket/websocket.xml#subprotocol-name

In fact, it was the 3rd registered subprotocol.

Nowerdays, WAMP can run over transports different from WebSocket as well, but WAMP-over-WebSocket continues to be the most important - for the very reasons we originally created WAMP in the WebSocket context:

1) runs natively right into the browser,
2) works in restricted networks and
3) one transport for all - frontends (browsers, mobile, ..), devices (IoT) _and_ backends

So our (WAMP) relation to the WebSocket technology and community is important and continues to be.

We (in this case, Tavendo) put a bet on WebSocket very early, and invested a large amount of time and resources, during the time when WebSocket was still under development by actively participating and by providing the semi-standard WebSocket implementation testsuite (http://autobahn.ws/testsuite) nowerdays used by almost all implementors. And we will continue this.


=== The WebSocket Working Group and it's announced closing

WebSocket was developed by the IETF in a working group: "BiDirectional or Server-Initiated HTTP (hybi)" - http://datatracker.ietf.org/wg/hybi/documents/

The WebSocket base protocol is now "done" (RFC6455), and since 2 days ago, the WebSocket Compression Extension is now also a IETF Proposed Standard: https://mailarchive.ietf.org/arch/msg/hybi/hRIf0JoYyzQ9CdjJ1OPOfQfjnUc

Barry, the IETF Area Director responsible for the Hybi WG now announced the planned shutdown of the WG: https://mailarchive.ietf.org/arch/msg/hybi/s10nJG5EFshgh56AqTaMhiPntHk

The WG's charter has this to say

"The working group will also serve as a discussion venue for
subprotocols. However, no subprotocol is currently chartered as a
deliverable, and the WG must be rechartered to work on any
subprotocols."

http://datatracker.ietf.org/wg/hybi/charter/

If we want to make WAMP into an RFC, the Hybi WG would be (in my view) the right place.

But I guess we then need to stand up now, let the WG's Chairs and Director know that there _is_ interest, and probably ask to change the WG charter.


=== An WAMP RFC

Making WAMP into a proper RFC will be a _lot_ of work.

The WAMP Basic Profile is pretty stable, and on the pro side, we have lots of independent implementations on the street with proven interoperability.

However, make no mistake: an IETF working group can spiral into extended, controversial and heated discussions;) I have only participated in WebSocket development, but it was intense. But I guess that's a good thing on the other hand.

Plus: we already have a spec. and we already had lot's of discussions. It "just" needs to be reworked into an IETF RFC.

While I wrote the original spec, a lot of input from various implementors and from the community has been merged into the spec over the time.

WAMP would never reached the current state without the combined community efforts.

So if we do that, I definitely can't do that alone .. it's too much work, and taking WAMP through the IETF process can only work IMO when we do that as a community.


=== Why?

"WAMP is an open standard WebSocket subprotocol ..."

open, for sure. the spec is available free and under CC for anyone to use and implement.

standard? we have a spec, and we have proven interop, but we don't have a "proper", _formal_ standard spec

An IETF RFC and ultimately IETF Proposed Standard would provide that.

Having a formal standard for WAMP is IMO desirable: it provides a common, neutral, reliable foundation for implementors and users. It provides long-term viability.

And some of our "competition" has that.

E.g. MQTT (http://mqtt.org/) is a OASIS Standard since Nov. 2014. AMQP is also an OASIS Standard.


=== Why the IETF?

The IETF has a mission I totally subscribe to: https://www.ietf.org/about/mission.html

In particular:

"Rough consensus and running code - We make standards based on the combined engineering judgement of our participants and our real-world experience in implementing and deploying our specifications."

If you want to increase my blood pressure: take me to a committee like group that mostly does paper work and endless philosophical discussions;) With the end result being a big, useless mess.

========= END





Konstantin Burkalev

unread,
Sep 4, 2015, 5:59:12 AM9/4/15
to WAMP
Hi Tobias and all WAMP-guys! 

I think it's a good idea to propose WAMP as official RFC. It's rather popular and there are many implementations. So RFC will bring us more weight and stability and confidence of our users to use it.
I would gladly be willing to participate in this process. So you can count on me!

Tobias Oberstein

unread,
Sep 4, 2015, 6:14:05 AM9/4/15
to WAMP
great! thanks!

Elvis Stansvik

unread,
Sep 4, 2015, 9:05:21 AM9/4/15
to WAMP
On Friday, September 4, 2015 at 11:19:19 AM UTC+2, Tobias Oberstein wrote:
Hi,

tldr;

CALL FOR INTEREST: Is there interest in advancing the WAMP spec into a proper IETF RFC, ultimately with the goal of making WAMP an IETF Proposed Standard?

I think everything you say below makes sense, and I would love to see WAMP as an RFC.

Let me just play devil's advocate for a bit though: Is the spec in its current form ready to be taken onto an RFC track? I don't know how the RFC process works, how formal it is, or how much of the proposed specification must be "essentially complete" before it's meaningful to begin the process. There are some parts in the Advanced Profile which are in pretty much draft state right now. Perhaps beginning the RFC process now will take up a lot of time from those qualified and interested in finishing up the underspecified parts of the Advanced Profile, time that they could have used to iron those parts out under the current (I suppose more lax) working style? I guess what I'm trying to say is: I support the idea 100%, I'd just make sure to consider if the time is right.

Alright. Enough playing. It sounds like a really exciting idea :)

And I bet Emile Cormier will answer with his opinions as well, as I've seen him interested in working out kinks in the spec on GitHub.

Elvis
 

Tobias Oberstein

unread,
Sep 4, 2015, 9:34:51 AM9/4/15
to WAMP
Hi Elvis,

thanks for feedback and encouragement!

Yes, you are right. The state of WAMP spec is a concern. I'd say, the WAMP Basic Profile is ready to begin the RFC process, the WAMP AP not. The BP spec part essentially needs to be rewritten into a Draft rgd. formatting and wording, but it is ready to be scrutinized in depth. This can take months. And yep, in the meantime, we could incubate and experiment with the AP features more until some/all are ready to be either integrated into that single RFC or into a separate RFC.

In general, the IETF RFC process is very informal. Essentially, extended discussions on the respective working group's mailing list. There are certain formal requirements rgd form/content which generally apply to any IETF RFC.

A requirement is: at least 3 independent, interoparable implementations. But that's easy for us: we have much more already!

Also, there needs to be "enough interest" .. to convince the WG chairs to take it on the charter. Which is one of the reasons I wrote this post: collect interest so we can go to the chairs to show.

Cheers,
/Tobias

Elvis Stansvik

unread,
Sep 4, 2015, 9:37:15 AM9/4/15
to WAMP
On Friday, September 4, 2015 at 3:05:21 PM UTC+2, Elvis Stansvik wrote:
On Friday, September 4, 2015 at 11:19:19 AM UTC+2, Tobias Oberstein wrote:
Hi,

tldr;

CALL FOR INTEREST: Is there interest in advancing the WAMP spec into a proper IETF RFC, ultimately with the goal of making WAMP an IETF Proposed Standard?

I think everything you say below makes sense, and I would love to see WAMP as an RFC.

Let me just play devil's advocate for a bit though: Is the spec in its current form ready to be taken onto an RFC track? I don't know how the RFC process works, how formal it is, or how much of the proposed specification must be "essentially complete" before it's meaningful to begin the process. There are some parts in the Advanced Profile which are in pretty much draft state right now. Perhaps beginning the RFC process now will take up a lot of time from those qualified and interested in finishing up the underspecified parts of the Advanced Profile, time that they could have used to iron those parts out under the current (I suppose more lax) working style? I guess what I'm trying to say is: I support the idea 100%, I'd just make sure to consider if the time is right.

I of course understand that there's a window of opportunity here, as the WG is closing, and that it would be a good thing to "piggy back" that WG. Just thought it might be a good idea to consider if it's not "jumping the gun". Perhaps it's not, and WAMP is in a much more mature state than other protocols when they were brought into the RFC process. I'm just a wary person :)

Elvis

 

Elvis Stansvik

unread,
Sep 4, 2015, 9:48:49 AM9/4/15
to WAMP
On Friday, September 4, 2015 at 3:34:51 PM UTC+2, Tobias Oberstein wrote:
Hi Elvis,

thanks for feedback and encouragement!

Yes, you are right. The state of WAMP spec is a concern. I'd say, the WAMP Basic Profile is ready to begin the RFC process, the WAMP AP not. The BP spec part essentially needs to be rewritten into a Draft rgd. formatting and wording, but it is ready to be scrutinized in depth. This can take months. And yep, in the meantime, we could incubate and experiment with the AP features more until some/all are ready to be either integrated into that single RFC or into a separate RFC.

That makes a lot of sense to me.
 

In general, the IETF RFC process is very informal. Essentially, extended discussions on the respective working group's mailing list. There are certain formal requirements rgd form/content which generally apply to any IETF RFC.

Yes, and I think that's a strength of IETF RFCs. I think the form that is required for RFCs to a certain degree helps in making the specs rigorous, because you get into a certain mindset when writing them. That's why I'd very much like WAMP to become an RFC. If I'm looking at an RFC, I feel "at home", because I've seen the format may times before.
 

A requirement is: at least 3 independent, interoparable implementations. But that's easy for us: we have much more already!

Also, there needs to be "enough interest" .. to convince the WG chairs to take it on the charter. Which is one of the reasons I wrote this post: collect interest so we can go to the chairs to show.

I'm interested, as I'll be doing a Qt WAMP client library as a school project this fall. But I have not taken part in the specification of WAMP in the past, and I have no experience with working on an RFC. I made acquaintance with WAMP through my master's thesis project this spring, where I built a prototype for a remote control / sensing system for a mineral analysis machine. The company is moving ahead with that prototype, so I'll most likely be working more work on it in the future.

Elvis

Tobias Oberstein

unread,
Sep 4, 2015, 10:03:09 AM9/4/15
to wam...@googlegroups.com
> Perhaps it's not, and WAMP is in a much more mature state than other
> protocols when they were brought into the RFC process. I'm just a wary
> person :)

To give you an idea, WebSocket took over 70 revisions from the first
proposal Feb. 2010

http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-75

and another dozen

https://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-17

until the final RFC in Dec. 2011

https://tools.ietf.org/html/rfc6455

Nearly 1.5 years.

The WG has accumulated >10k posts in that time:
https://mailarchive.ietf.org/arch/search/?email_list=hybi&index=hRIf0JoYyzQ9CdjJ1OPOfQfjnUc

The first postings are from Mar 2009:

http://www.ietf.org/mail-archive/web/hybi/current/mail22.html

and was triggered by Ian Hickson in this post

http://www.ietf.org/mail-archive/web/hybi/current/msg00007.html

So all in all, it took nearly 2 years. But WebSocket was under intense
discussion, and a lot of people and companies had / have a stake in that
technology.

==

My current understanding of what we need:

1) get WAMP(-over-WebSocket) an approved item on the Hybi WG charter
(http://datatracker.ietf.org/wg/hybi/charter/)

2) write at a RFC formatted draft of WAMP BP to kick off

3) discuss and iterate on the Hybi mailing list

On the plus side: we do know already that the WAMP BP spec is apparantly
"enough" for 3rd parties to write interoperable implementations. That is
already a lot! It means: it can't be total crap/wrong ..

Note that the draft can be published anywhere .. eg on the WAMP website
at the draft stage. It's only later on in the process, that it'll get
published on IETF.

Elvis Stansvik

unread,
Sep 4, 2015, 12:42:25 PM9/4/15
to WAMP
On Friday, September 4, 2015 at 4:03:09 PM UTC+2, Tobias Oberstein wrote:
> Perhaps it's not, and WAMP is in a much more mature state than other
> protocols when they were brought into the RFC process. I'm just a wary
> person :)

To give you an idea, WebSocket took over 70 revisions from the first
proposal Feb. 2010

http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-75

and another dozen

https://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-17

until the final RFC in Dec. 2011

https://tools.ietf.org/html/rfc6455

Nearly 1.5 years.

The WG has accumulated >10k posts in that time:
https://mailarchive.ietf.org/arch/search/?email_list=hybi&index=hRIf0JoYyzQ9CdjJ1OPOfQfjnUc

The first postings are from Mar 2009:

http://www.ietf.org/mail-archive/web/hybi/current/mail22.html

and was triggered by Ian Hickson in this post

http://www.ietf.org/mail-archive/web/hybi/current/msg00007.html

So all in all, it took nearly 2 years. But WebSocket was under intense
discussion, and a lot of people and companies had / have a stake in that
technology.

Thanks a lot for the digging. I'm convinced!
 

==

My current understanding of what we need:

1) get WAMP(-over-WebSocket) an approved item on the Hybi WG charter
(http://datatracker.ietf.org/wg/hybi/charter/)

2) write at a RFC formatted draft of WAMP BP to kick off

3) discuss and iterate on the Hybi mailing list

On the plus side: we do know already that the WAMP BP spec is apparantly
"enough" for 3rd parties to write interoperable implementations. That is
already a lot! It means: it can't be total crap/wrong ..

Absolutely!

A couple of things I would like to bring to the WG discussion table is:

   1) Should not RawSocket be made part of the RFC?
   2) Should not a binary serialization format be made part of the RFC? And, if so, should maybe CBOR be considered instead of MsgPack, due to its focus on long term stability and the fact that, unlike MsgPack, it is already on an IETF standards track (RFC 7049)?

But that is definitely jumping the gun :)


Note that the draft can be published anywhere .. eg on the WAMP website
at the draft stage. It's only later on in the process, that it'll get
published on IETF.

Right.

Elvis
 

Francesco Longo

unread,
Sep 8, 2015, 5:13:41 AM9/8/15
to wam...@googlegroups.com
Hi Tobias,
as you know, University of Messina is using WAMP for its IoT middleware so we are not developing WAMP directly but we are strongly leveraging on it. So, we would love to participate in this process! 

Thanks,
Francesco 



--
You received this message because you are subscribed to the Google Groups "WAMP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to wampws+un...@googlegroups.com.
To post to this group, send email to wam...@googlegroups.com.
Visit this group at http://groups.google.com/group/wampws.
To view this discussion on the web visit https://groups.google.com/d/msgid/wampws/8c5836a3-46c7-4b1e-b3eb-049ede0523bf%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
------------------------------------------------------------------------------
Dr. Francesco Longo, PhD
Dipartimento  di Ingegneria Civile, Informatica, Edile, 
Ambientale e Matematica Applicata (DICIEAMA)
Università degli Studi di Messina
address: Contrada di Dio (S. Agata), 98166, Messina, Italy
------------------------------------------------------------------------------

David Chappelle

unread,
Sep 10, 2015, 8:50:40 AM9/10/15
to WAMP
I am interested in helping as well.

Tobias Oberstein

unread,
Sep 10, 2015, 9:07:43 AM9/10/15
to WAMP
Hi Francesco,

awesome!

Gonna write to the IETF Hybi list soon and announce ..

Cheers,
/Tobias
To unsubscribe from this group and stop receiving emails from it, send an email to wampws+unsubscribe@googlegroups.com.

To post to this group, send email to wam...@googlegroups.com.
Visit this group at http://groups.google.com/group/wampws.
To view this discussion on the web visit https://groups.google.com/d/msgid/wampws/8c5836a3-46c7-4b1e-b3eb-049ede0523bf%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Tobias Oberstein

unread,
Sep 10, 2015, 9:08:30 AM9/10/15
to WAMP
Thanks Dave! WAMP implementors are - obviously - are important to get on board!

Emile Cormier

unread,
Sep 11, 2015, 4:16:46 PM9/11/15
to WAMP

And I bet Emile Cormier will answer with his opinions as well, as I've seen him interested in working out kinks in the spec on GitHub.


I have a stake in seeing WAMP succeed, since we've committed ourselves to using WAMP for our commercial project. If I was in Academia, I would dive in with both feet. But for this endeavor, I can only occasionally help here and there as time allows.

I'm all for IETF standardization, as that would help in WAMP being taken more seriously by industry. The only question in my mind is if the spec can evolve more rapidly in a collaborative environment like GitHub. Then again, once an RFC is proposed it might draw interest from experts in academia and industry, which would help in the evolution of WAMP. I'm sure Tobias will know best when to transition from GitHub to the (presumably) more formal IETF environment.

I suggest that we draw some kind of road map of the features we'd like to see being stable before an RFC is submitted. What might also help is if each feature had a subsection describing its rationale (i.e. the use case(s) that motivated the existence of the feature). Some of the features already have some words describing their rationale, but I think they need to be formally separated out into their own subsection.

Good Luck!
Emile

Tobias Oberstein

unread,
Sep 13, 2015, 4:56:06 PM9/13/15
to WAMP
Hi Francesco,

oh, this is great! Thanks for participating!

I have just mailed the IETF Hybi working group asking about the process to get this started:

http://www.ietf.org/mail-archive/web/hybi/current/msg10665.html


Cheers,
/Tobias

Am Dienstag, 8. September 2015 11:13:41 UTC+2 schrieb Francesco Longo:
To unsubscribe from this group and stop receiving emails from it, send an email to wampws+unsubscribe@googlegroups.com.

To post to this group, send email to wam...@googlegroups.com.
Visit this group at http://groups.google.com/group/wampws.
To view this discussion on the web visit https://groups.google.com/d/msgid/wampws/8c5836a3-46c7-4b1e-b3eb-049ede0523bf%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Tobias Oberstein

unread,
Sep 13, 2015, 4:58:27 PM9/13/15
to WAMP
Hi Dave,

perfect! I've mailed the IETF WG (http://www.ietf.org/mail-archive/web/hybi/current/msg10665.html) mentioning that there is indeed interest. Hopefully, this is enough to recharter the WG so we can work on WAMP. Will report here as soon as I know more ..

Cheers,
/Tobias


Am Donnerstag, 10. September 2015 14:50:40 UTC+2 schrieb David Chappelle:

Tobias Oberstein

unread,
Sep 13, 2015, 5:12:42 PM9/13/15
to WAMP
Hi Emile,

yes, I agree.

In fact, I've been contemplating about an RFC for longer already. But the time wasn't ripe. Partially because of the very aspects you raise.

But I think now is a good time to take the WAMP _Basic Profile_ (not yet the AP) into an IETF process.

http://www.ietf.org/mail-archive/web/hybi/current/msg10665.html

Let me say: your input, feedback and participation in this would be highly welcome! I do understand that time is limited and that it's a stretch committing time to open-standard / open-source efforts while pursuing commercial interests and success. Believe me, I know;)

Cheers,
/Tobias

Andrew Gillis

unread,
Sep 28, 2017, 1:08:32 AM9/28/17
to WAMP
Wanted to add my opinion in response to these questions:

>>>   1) Should not RawSocket be made part of the RFC?

I think that RawSocket should be part of the RFC as it is necessary for WAMP v2, specifying how WAMP works over transports other than web socket. This is very important to adoption outside of web infrastructure, such as in IoT where I believe WAMP is a much needed standard.

>>>   2) Should not a binary serialization format be made part of the RFC? And, if so, should maybe CBOR be considered instead of MsgPack, due to its focus on long term stability and the fact that, unlike MsgPack, it is already on an IETF standards track (RFC 7049)?

No, I do not think that any specific binary serializations should be part of the RFC.  The RFC will specify how serializations are negotiated between clients and routers, and may provide a standard list of serializations, with ability to expand that and negotiate vendor defined serializations.  However, the RFC should not include any particular binary serialization.

Andrew Gillis

unread,
Sep 28, 2017, 1:17:11 AM9/28/17
to WAMP
... And yes, I would be very happy to help in any way I can to see WAMP through the IEFT standards track.  I am very interested in seeing not just the basic profile, but much of the advanced profile becoming part of the standard, and hope the RFC is not limited to basic profile.

Maxime Veber

unread,
Nov 7, 2018, 2:40:14 PM11/7/18
to WAMP
Hey guys, is there any news on standardization topic? I can't find anything about.

And also this RFC looks similar (based on http/2) https://datatracker.ietf.org/doc/draft-dunglas-mercure/ what's your point about ?

Emile Cormier

unread,
Nov 7, 2018, 2:53:24 PM11/7/18
to WAMP
A quick glance at that RFC:
  • No remote procedure calls
  • HTTP only

Maxime Veber

unread,
Nov 7, 2018, 7:52:39 PM11/7/18
to wam...@googlegroups.com
Thanks for taking a look at it.
Yeah of course it's not the same. But it's still pubsub over network. And it has been published as internet draft : https://datatracker.ietf.org/doc/draft-dunglas-mercure/
Which leads to my second question: is there a valid internet draft for WAMP? (if not, why?)
Maxime


--
You received this message because you are subscribed to the Google Groups "WAMP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to wampws+un...@googlegroups.com.

To post to this group, send email to wam...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages