IAB Tech Lab believes that the next generation of standards will evolve as code. We are enthusiastic about supporting the industry in this regard and facilitating the governance and management of relevant open source projects that will support evolution, deployment and adoption of standards via code development, as well as foster innovation while identifying and developing new foundational technologies in support of the advertising industry needs. Our initial focus is to develop reference implementations, actual standards implementations that can be directly integrated, and tools that can be helpful in deploying standards. The initiative will be governed by the Tech Lab Architecture Group composed of Extreme Reach, Gumgum, GroupM, Oracle, Tapad, and The Trade Desk.
Here is a list of projects that we propose to launch the initiative with:
Open Source Initiative github instance is here: IABTechLab OpenSource
The Tech Lab team reviewed several open-source governance models to determine what we can learn from others and which model of governance most closely reflects our goals, including:
Based on the above we have adapted a governance model similar to that utilized by the Apache Foundation. Parameters for that model include:
A Contributor License Agreement (CLA) defines the terms under which intellectual property has been contributed to a company/project. The purpose of a CLA is to ensure that IAB Tech Lab has the necessary grants of rights over all contributions to allow them to be distributed under the chosen license.
Contributors to the projects will be made under one or more roles as defined below:
All contributors who wish to or are required to have write access (Committers) need to be/do one of the following:
To become a Committer, please email support@dev.iabtechlab.com with the link to the project repository to which you’d like to commit as well as the signed copy of the Contributor License Agreement if required. Additionally, for non-members who wish to contribute to the Unified ID2 (UID2), you need to sign this non-member IPR.
Any public project invites people from diverse backgrounds and to develop a healthy community, it is necessary that all contributors respect each other and the work is executed in a manner that encourages spirit of collaboration and advancement for everyone.
To achieve a healthy and progressive community and encourage good behavior, it is necessary to ensure that all participants are aware of the Code of Conduct and know what to expect.
Our code of conduct emphasizes the following:
It also lists expected behavior and unacceptable behavior, as well as a way to report potential offenses. Please write to codeofconduct@dev.iabtechlab.com for reporting misconduct and for Tech Lab to define a course of action for resolution.
Acceptable behaviours:
Unacceptable behaviours:
All projects must be created on Tech Lab github for approval. For project submission purpose, the project proposal must contain the following information:
Submit project proposals with the above information to support@dev.iabtechlab.com. Once the project is submitted, the Tech Lab Lead will present the projects during a quarterly meeting of Tech Lab Architecture Group for approval.
Once approved the developer will be assigned the role of Project Release Manager and informed about the decision, and the Tech Lab Lead will monitor progress on a regular basis.
The Project Release Manager shall invite contributions from the community and begin work on the project.
There are two statuses for any project:
Each Project Release Manager needs to submit a project report for review by the Tech Lab Architecture Group. The project report should summarize the health and progress of the project and include the following:
The project should have a Project Report section where all of this information can be added and submitted to the Tech Lab Lead.
All projects must follow a collaborative and consensus driven process led by the Project Release Manager for projects in the incubation stage. Projects in the Promoted stage may follow a process defined by the project governance team, such as creating a Commit Group or a working group.
Project Management
Release Process
The objective is to be flexible and allow each project to define this as per the project structure and needs. Following is recommended:
Decision making