Niveles de madurez de una especificación en el W3C

Después de varios meses escribiendo y hablando sobre HTML 5, el entusiasmo por todas las nuevas capacidades que están llegando a la web también provocan ciertas dudas e incógnitas. Si bien es cierto que en los inicios se prestaba mayor atención a W3C, ahora también es necesario comparar el recorrido con WHATWG, la cual se formó debido al lento proceso que se hacía desde The World Wide Web Consortium (W3C). Debido a la continua modificación de las especificaciones, me he parado a revisar los posibles estados de las mismas e intentar comprender qué significan cada uno de ellos, ya que nos permite determinar el grado de madurez de una característica que podamos valorar para algún proyecto. Cada vez que accedemos a alguna especificación de la W3C podemos observar las siguientes bandas de colores en el lado superior izquierdo de la pagina, las cuales nos avisan del estado de la especificación.

Cada uno de estos niveles indica un grado de madurez dentro del proceso de desarrollo de la especificación. Cada especificación o documento lo mantiene un grupo de trabajo (Working group) Veamos cada uno de ellos:

  1. Editor’s Draft (ED): Si bien no está siendo mostrado en varios sitios donde se cuentan los distintos niveles, con las últimas especificaciones de HTML 5 es una banda de color roja muy frecuente 😀 Es la fase más temprana de cualquier especificación, donde todavía se está definiendo incluso la funcionalidad o fin que va a tener la característica descrita.
  2. Working Draft (WD): Se trata de una publicación algo más estructurada que el Editor’s Draft y tiene como fin la revisión de la misma por la comunidad, miembros de la W3C, organizaciones, etcétera. La palabra draft en este caso puede tener un sentido muy amplio ya que en ocasiones los borradores pueden estar muy avanzados (Sin apenas modificaciones considerables cuando se ha llegado a la última fase), pero digamos que es el primer punto de entrada natural, ya que el Editor’s draft no llega a ser ni un borrador completo. La idea de la misma es lanzar una señal a la comunidad de que se está revisando un documento nuevo. Los posibles siguientes pasos pueden ser Last Call Announcement, donde normalmente después de varios Working drafts y de conocer las dependencias con otros documentos, se avisa a los grupos de trabajo para la revisión conjunta y que posteriormente se solicite una revisión pública, o end work donde básicamente se indica que se cesa el trabajo para esa especificación.
  3. Candidate Recommendation (CR): Cuando un documento ha sido ampliamente revisado y cumple los requisitos para ser especificación, la W3C convierte ese borrador en Candidate Recommendation. En este punto se cree que es un documento estable para ser implementado por los navegadores, aunque el informe aún podría cambiar basándose en la experiencia durante la implementación. Por lo que hemos comprobado a día de hoy, muchos de los navegadores pueden haber implementado gran parte de ciertas especificaciones sin tan siquiera llegar a este punto.
  4. Proposed Recommendation (PR): Aunque parece exactamente igual que el estado anterior, la gran diferencia es que en este punto el documento ha sido ha enviado por la W3C al W3C Advisory Committee para su aprobación final. El objetivo es cerrar la especificación después de que la misma haya sido revisada e implementada. La duración de este periodo deber ser al menos de un mes.
  5. WC3 Recommendation (REC): Después de las diferentes revisiones en los estados anteriores, la especificación ha recibido el reconocimiento por parte de los miembros de la W3C e incluso del director del consorcio :D.

Al final, lo que realmente importa es conocer cuántos puntos hay y cuál es el orden hasta que una especificación queda cerrada por la W3C. Como ya hemos comprobado en numerosas ocasiones, en las etapas más tempranas de un documento, ya se están implementando numerosas especificaciones de las que no tenemos siquiera una Candidate Recommendation. Las grandes compañías encargadas de los principales navegadores web, las cuales también son editores de estos documentos, son las que tienen la iniciativa a la hora de agilizar aquellas características en las que están interesados en su pronta adopción.

Inicialmente la fecha de release de HTML 5 era 2022 pero en el mes de Septiembre de este año se anunció un cambio de fechas: Finales del 2014 será la fecha en la que HTML 5 tendrá una recomendación estable y se ha fijado además que HTML 5.1 será para finales del 2016 🙂

Espero que haya servido al menos para conocer cuáles son los pasos que se establecen para las nuevas características.

Fuentes:
W3C Process Document.
Wikipedia W3C Recommendation

¡Saludos!