I've seen the phrase defines a profile of XYZ on a couple of IETF RFCs. For example, RFC 3339 reads:

This section discusses desirable qualities of date and time formats and defines a profile of ISO 8601 for use in Internet protocols.

What exactly does it mean to define a profile of some other standard? My guess is that it means to create a standard based on a restricted subset of the parent standard, but I haven't found any documentation to confirm this.

  • That's pretty much it. Confirming documentation would be in a dictionary.
    – Blrfl
    May 11, 2015 at 21:14
  • 1
    @Blrfl I actually did look in a dictionary before posting, but didn't see any definition of "profile" that made sense. May 11, 2015 at 21:26
  • See definition 7.
    – Blrfl
    May 11, 2015 at 22:39
  • To quote definition 7: "a verbal, arithmetical, or graphic summary or analysis of the history, status, etc., of a process, activity, relationship, or set of characteristics." So yeah, I can see that definition working for this too, though it isn't as technically precise as I'd expect from a spec. May 12, 2015 at 0:39
  • @DougRichardson RFC writers are using a special, formalized form of technical writing to try to keep them consistent. As such, you can encounter highly specialized jargon and word usage in RFCs that doesn't exist in the language at large.
    – user40980
    May 12, 2015 at 18:53

4 Answers 4


The language should be interpreted in relation to the referenced standard.

Annex B of ISO/WD 8601-2 contains the following language (B.1.2):

A Profile of ISO 8601 is a specification developed by a particular community which explains how ISO 8601 is to be used, to carry out a particular function or group of functions relevant to that community.

There is an itemized list of more details, and then the section continues

At minimum, a profile should state what an implementer must implement in order to claim conformance to the profile. If there are multiple levels specified, it should state conformance requirements for each level.

Different communities may define different profiles. In fact any given community may define multiple profiles. “Community” is used loosely to mean a group with a common interest in 8601. It is not intended that 8601 profiles be approved by any formal body; any person or community can develop a profile. There should however be a unique name for every profile so that it may be referenced. The registration agency for ISO 8601 should register profiles upon request, and help to assure uniqueness of names. It is hoped that there will be mechanisms developed to provide interoperability between profiles however that is beyond the scope of this document.

  • 1
    Wow, how did I miss that. My question literally contains the phrase "profile of ISO 8601", yet it never occurred to me to look at the ISO spec. Great answer, thanks. Aug 14, 2018 at 18:43

The term "profile" is a standard term of art in engineering and standards. The Wikipedia article seems clear to me.

In standardization, a profile is a subset internal to a specification. Aspects of a complex technical specification may necessarily have more than one interpretation, and there are probably many optional features. These aspects constitute a profile of the standard. Two implementations engineered from the same description may not interoperate due to having a different profile of the standard. Vendors can even ignore features that they view as unimportant, yet prevail in the long run.

  • Thanks Chris for replying to my e-mail about this (and also this post). For everyone else, this response is from Chris Newman, one of the authors of RFC 3339. Aug 13, 2018 at 17:25

Welcome to the wonderful world of ad-hoc definitions made at a time before anyone really understood what the internet was, or indeed was going to be all about.

While there's no official definition of the usage of "profile" as meaning a restricted subset of another standard, over the years it has become common use to body's like the ietf to mean just that.

The problem you have here is not so much one of standards, but one of government and academia based red-tape from an age gone by, where groups like the ietf are still run by the old guard who still insist on using the original terminology used back at the beginning.

I don't claim to be an expert in how any of these groups think, but I've been working in I.T long enough to have seen a fair few of these RFC's when they where brand new and first released, and a lot of the terminology exists for no other reason than "Beacuse they can"

Back then when much of this "Internet stuff" was still quite new, and large chunks of it where run by various university and government bodies, many of the departments that started the projects off, had to have ways of making themselves stand out from each other.

Understand that this was all in the days before any of the glitzy marketing and SEO practices we have today, and one way of making your department stand out was to get folks using a common terminology which inherently linked back to your vocabulary, and as a result your projects, ultimately putting you at the front of what that group was trying to achieve.

As time marched on, much of this terminology became set in stone within the various organisations, to the point where there are even standards for how the standards body's are allowed to describe standards to those who use them.

These days, were left with quite a surplus of definitions that don't make a lot of sense to a newer generation, and which in some places could actually be deemed as harmful and confusing.

Think for a moment how much the HTML4 spec was tidied up to accommodate HTML5. A lot of the work involved here was nothing to do with what should or should not make it into the specification, a vast amount of it was simply due to the mammoth task surrounding the existing specifications and re-wording things so that some kind of sense could be made of them.

Your guess as to the intended definition is probably as close as your going to get, and from what I can remember it's certainly accurate, I wouldn't however be surprised if there where definitions that did in fact actually conflict with that.

To be perfectly honest, I wouldn't be at all surprised if there was an RFC available somewhere that actually defined what the various definitions should be defined as in definition documents :-)

Unfortunately my days of remembering what each number on each RFC is/was and what it referred to are long behind me, I just use the various search tools on "rfc-editor.org" these days.


I haven't found an authoritative definition from IETF, but in the following context from RFC 3339, the definition (at least for that RFC) appears to be conformant subset.

The following section defines a profile of ISO 8601 for use on the Internet. It is a conformant subset of the ISO 8601 extended format.

  • 2
    Note that RFC 3339 is in fact not a conformant subset of ISO 8601. The former explicitly permits either a 'T' or a space to be used to separate date from time (i.e. both 2015-05-12T00:37:35Z and 2015-05-12 00:37:35Z are legal RFC 3339 datetimes), while the latter does not permit the use of separators other than 'T' - meaning that not all valid RFC 3339 datetimes are valid ISO 8601 datetimes. Exactly how to square this with the claim that RFC 3339 "defines a profile" of ISO 8601 is unclear. Perhaps it's simply a spec error? Or perhaps none of us really understands what a "profile" is.
    – Mark Amery
    Feb 13, 2018 at 15:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.