Yury Brukau, EBU
With software playing an increasingly central role in the offer of public service media organizations, the EBU has expanded the tools it offers to support the developer community. Over the past few years, the number of EBU activities that involve at least some element of software development has increased significantly. Hand-in-hand with this, several tools have been made available to Members, and often to the wider community, for hosting, sharing and discussing code. The principle tools concerned are GitHub and GitLab.
What is Git?
Version control is a fundamental part of the workflow in software development. It enables developers to work together effectively, being able to collaborate on the source code of their projects. While the Git version control system (created by Linus Torvalds of Linux fame) was a starting point for better code collaboration, GitHub made it even easier.
GitHub was founded 10 years ago, and it is now hard to find a software engineer who hasn’t heard about it. By applying modern communication features inspired by social media sites, GitHub empowered social coding. It provided the first truly accessible UI to manage and review feature branches, and the ability to merge them with one-click “pull requests”. As a result, open source projects flocked to GitHub as a place to not only host code but to grow a community as well. Alexa.com lists the GitHub.com website as being 64th in terms of web traffic globally and 34th in the US. The recent acquisition of GitHub by Microsoft validates the growing influence of software development.
EBU Technology & Innovation uses GitHub to host open source projects. Visitors to the EBU page on GitHub can find more than 80 repositories relating to a variety of different projects. To mention just three examples:
- github.com/ebu/awesome-broadcasting provides a growing list of references to open source projects related to the broadcast industry.
- github.com/ebu/ebu_adm_renderer is the reference implementation of the EBU ADM Renderer for Next Generation Audio (see page 4).
- github.com/ebu/pi-list is where you can find LIST, the Live IP Software Toolkit.
Hub vs Lab
While GitHub is open to the whole world, EBU T&I also manages an installation of GitLab (git.ebu.io) for projects where access is restricted to EBU Members. The main difference between GitHub and GitLab is in the vision of the two products.
The core features of GitHub are about collaborative software development and sharing, and it is also possible to use third-party tools integrated with GitHub for continuous integration, deployment, etc. The goal of GitLab is to provide a single application that does everything from planning to monitoring. GitLab is itself open source software, available for self-hosting. (The Microsoft acquisition of GitHub was reported to have prompted a significant number of projects to migrate from the former to GitLab.)
Our GitLab installation is integrated with the EBU’s single sign-on system, which makes it very easy for anyone with an EBU website user account to access projects developed in the context of the Technical Committee’s strategic programmes. The projects already hosted on git.ebu.io include the following:
- PEACH, the single sign-on and recommendation system co-developed by several EBU Members.
- EBU.IO/QC, a tool providing access to over 300 QC test items.
- Storyboard, a tool allowing Members to convert their audio clips into video content to share on social networks.
- A web application for the Glasgow 2018 European Championships, to ingest and show sports data using a semantic database.
This article was first published in issue 37 of tech-i magazine.