By Juan José Sánchez Penas.
WebKit is a web rendering engine (HTML, JavaScript, CSS) with a generic part (WebCore, JSEngine), and 'ports' for specific platforms that implement bits like rendering, networking or multimedia. In the WebKit community, companies&individuals cooperate to evolve a complex codebase. Given the popularity of HTML5 and web tech, WebKit is a key open source project. About 10 months ago, Google announced Blink, a fork of WebKit which attracted many former WebKit contributors. Igalia's Browsers team maintains the WebKitGTK+ port and is top contributor to WebCore, JSC, V8, other ports (EFL, Clutter, Qt), and Blink. The talk will review the past/present/future of WebKit/Blink, their dynamics and development process, , the relationship with the Linux ecosystem, and will give information about how to contribute to or use both projects. Not very technical. Valid both for developers & managers.
Lessons from Contributing to WebKit and BlinkBruno Abinader
Being one of the most successful open source projects to date, WebKit development process consists of a series of protocols and strict policies in order to obtain committer and reviewer status. Blink follows a similar approach with committers and scoped code owners, in a similar fashion as Linux Kernel does with its subsystem maintainers. Their open source success is due to not only solid support from major technology companies, but also to the high quality and automated testing performed on patches before submission. In this presentation, Bruno explains how the development process of both WebKit and Blink projects are - from submitting well-tested patches with strict policies to check, get review from community, and commit upstream via commit-queue system (including early warning system bots). This is a very practical talk with live demonstrations of patch submissions on both projects.
The Internal Architecture of Chrome Developer ToolsMiroslav Bajtoš
The talk explains that Chrome Developer Tools are actually just an (un)usual web page, every Blink browser has an embedded WebSocket server and that allows Node Inspector to reuse Developer Tools GUI for building Node.js debugger.
Lessons from Contributing to WebKit and BlinkBruno Abinader
Being one of the most successful open source projects to date, WebKit development process consists of a series of protocols and strict policies in order to obtain committer and reviewer status. Blink follows a similar approach with committers and scoped code owners, in a similar fashion as Linux Kernel does with its subsystem maintainers. Their open source success is due to not only solid support from major technology companies, but also to the high quality and automated testing performed on patches before submission. In this presentation, Bruno explains how the development process of both WebKit and Blink projects are - from submitting well-tested patches with strict policies to check, get review from community, and commit upstream via commit-queue system (including early warning system bots). This is a very practical talk with live demonstrations of patch submissions on both projects.
The Internal Architecture of Chrome Developer ToolsMiroslav Bajtoš
The talk explains that Chrome Developer Tools are actually just an (un)usual web page, every Blink browser has an embedded WebSocket server and that allows Node Inspector to reuse Developer Tools GUI for building Node.js debugger.
By Antonio Gomes.
(c) BlinkOn 7 (Sunnyvale, California)
Jan 31 - Feb 01, 2017
https://docs.google.com/document/d/1jlpsfv0kXCveOEX5l75aATgRXbcAvwyse4Tn6jVprWs/edit
These slides describes about rendering engine, types of rendering engine and how Webkit rendering works.
A rendering engine (also called layout engine or web browser engine) is a software component that takes marked up content (like HTML, XML, image files, etc.) and formatting information (like CSS, XSL, etc.) and displays the formatted content on the screen.
The WebKit project (LinuxCon North America 2012)Igalia
By Juan José Sánchez Penas.
WebKit is a popular open source web rendering engine (HTML, JavaScript, CSS) with a generic part (WebCore, JS Engine), and 'ports' for specific platforms which implement bits like rendering, networking or multimedia. The WebKit community is interesting: companies & individuals cooperate successfully to evolve a complex codebase. Given the popularity of HTML5 and web technologies, WebKit is one of the most important open source projects. Our WebKit team at Igalia maintains the WebKitGTK+ port and contributes to WebCore, JSC, V8 & other ports (EFL, Clutter, Qt), being the top committers after Google&Apple. In this talk, we will review the past&present&future of the project, will explain how to interact with it, how to create or maintain ports, and other details very useful for those who in one way or another use or depend on WebKit.
This is the presentation that was prepared for our meetup about the Bootstrap framework. More info about that meetup can be found at https://www.meetup.com/lifemichael/events/278511644/
Contributions to an open source project: Igalia and the Chromium projectIgalia
Mario Sánchez Prada explains Igalia's work on several efforts around Chromium and the Web Platform at the 43rd International Conference on Software Engineering (ICSE 2021)
Spanish Industry Case Studies Room
May 23-29, 2021
Location:
Progressive Web App Dev Summit, GDG Madrid 21-Jul-2016
Abstract:
Progressive Web Apps (PWA) have responsive layout, works offline, and can be on the home screen.
WebComponents allows build all those missing HTML pieces.
Polymer is a library for manipulating Web Components.
This presentation joins all those new technologies for creating the Future Apps.
By Antonio Gomes.
(c) BlinkOn 7 (Sunnyvale, California)
Jan 31 - Feb 01, 2017
https://docs.google.com/document/d/1jlpsfv0kXCveOEX5l75aATgRXbcAvwyse4Tn6jVprWs/edit
These slides describes about rendering engine, types of rendering engine and how Webkit rendering works.
A rendering engine (also called layout engine or web browser engine) is a software component that takes marked up content (like HTML, XML, image files, etc.) and formatting information (like CSS, XSL, etc.) and displays the formatted content on the screen.
The WebKit project (LinuxCon North America 2012)Igalia
By Juan José Sánchez Penas.
WebKit is a popular open source web rendering engine (HTML, JavaScript, CSS) with a generic part (WebCore, JS Engine), and 'ports' for specific platforms which implement bits like rendering, networking or multimedia. The WebKit community is interesting: companies & individuals cooperate successfully to evolve a complex codebase. Given the popularity of HTML5 and web technologies, WebKit is one of the most important open source projects. Our WebKit team at Igalia maintains the WebKitGTK+ port and contributes to WebCore, JSC, V8 & other ports (EFL, Clutter, Qt), being the top committers after Google&Apple. In this talk, we will review the past&present&future of the project, will explain how to interact with it, how to create or maintain ports, and other details very useful for those who in one way or another use or depend on WebKit.
This is the presentation that was prepared for our meetup about the Bootstrap framework. More info about that meetup can be found at https://www.meetup.com/lifemichael/events/278511644/
Contributions to an open source project: Igalia and the Chromium projectIgalia
Mario Sánchez Prada explains Igalia's work on several efforts around Chromium and the Web Platform at the 43rd International Conference on Software Engineering (ICSE 2021)
Spanish Industry Case Studies Room
May 23-29, 2021
Location:
Progressive Web App Dev Summit, GDG Madrid 21-Jul-2016
Abstract:
Progressive Web Apps (PWA) have responsive layout, works offline, and can be on the home screen.
WebComponents allows build all those missing HTML pieces.
Polymer is a library for manipulating Web Components.
This presentation joins all those new technologies for creating the Future Apps.
Using Social media to recruit
Employers are looking for different ways to reach talented candidates. With 50% of the worlds population being 30yrs and under you will find that many of them are using social networks to talk. 8 out of 10 employers are now using social media to find candidates. If you're an employer already doing it then ask yourself are you doing it effectively?
Brechas de Género: Diferencias entre hombres y mujeres en el acceso al bienes...ProyectoCulturaPolitica
Las brechas de género presentadas en este documento, muestran no sólo las diferencias entre hombres y mujeres en las Regiones citadas, sino que además representan la discriminación estructural que han padecido sus respectivas poblaciones. Por discriminación estructural estamos señalando la exclusión social y económica que durante siglos y años han afectado el desarrollo de estos pueblos por el mero hecho de ser indígenas. Como en todo sistema de género centrado en la masculinidad, las mujeres indígenas son las que siempre han llevado y siguen
llevando la peor parte.
As the Olympics are gaining more popularity and exposure from one event to another, many trends and factors are affecting its identity, the olympic venues and audience engagement. Our project, as part of the Design Futures module of the MA Design Strategy and Innovation program at Brunel University - London, presents how the Olympics will change in terms of Design and Innovation through three intervals: the period until 2016, 2032, then 2060.
The Team:
Eunsung Kim
Sami Hmaidan
Sophie Dobber
Syibratul Mohd Pauzi
Vasileios Matsoukas
Woonghee Park
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...Igalia
By Juan José Sánchez Penas.
WebKit is a web rendering engine (HTML, JavaScript, CSS) with a generic part (WebCore, JSEngine), and 'ports' for specific platforms that implement bits like rendering, networking or multimedia. In the WebKit community, companies&individuals cooperate to evolve a complex codebase. Given the popularity of HTML5 and web tech, WebKit is a key open source project. Recently, Google announced Blink, a fork of WebKit, with consequences for the project still difficult to predict. Igalia's Browsers team maintains the WebKitGTK+ port and is top contributor to WebCore, JSC, V8, other ports (EFL, Clutter, Qt), and Blink. The talk will review the past/present/future of WebKit/Blink, their dynamics and development process, the relationship with the Linux ecosystem, and will give information about how to contribute to or use both projects.
Building a browser for automotive. alternatives, challenges and recommendatio...Igalia
By Juan José Sánchez Penas.
Automotive web browsers have specific needs, compared to other platforms such as mobile, STB/TV or desktop. When building your own web browser (or by extension your web platform middleware) many different aspects need to be taken into account in order to define the right technologies to be used, the architecture, and a good strategy regarding the collaboration with open source projects and communities. In this talk we will review all those aspects, focusing specifically in WebKit and Chromium/Blink, the two main technologies that are being used to build and derive browsers and web platforms. We will review the alternatives, describe the main challenges and risks, and give wide set of recommendations based on years of experience developing and helping companies and associations to develop this kind of projects.
Add the power of the Web to your embedded devices with WPE WebKitIgalia
The Web engine is the most important component of a Web Browser: it makes it possible to fetch and interpret web content, allowing users to interact with it. WebKit, the Open Source Web engine used in Web browsers like Safari, provides an architecture particularly well-designed for embedded platforms, making it popular not just for Apple devices, but for all sorts of Linux-based environments too (e.g. set-top-boxes, smart home appliances..). However, a Web engine is a complex piece of software and often not optimized for low-power computers.
This is where WPE, a Linux-based Open Source “port” of WebKit for embedded devices, comes in. Its low memory footprint and focus on simplicity, flexibility, and performance allows for the kind of customization needed to run on bespoke hardware and integrate with a wide variety of requirements. WPE is also developed upstream as part of the WebKit project and regularly published every 6 months via stable releases, guaranteeing that it’s up-to-date with the latest developments in the WebKit community.
In this talk, we will explore WPE in detail, see how the project has evolved, and look at where it’s heading next, highlighting some of its most popular use cases and some experiments that open up brand-new possibilities for this port of WebKit.
(c) Embedded Recipes 2023
5th Edition
September 2023, 28 to 29
Paris - France
https://embedded-recipes.org/2023/
https://www.youtube.com/watch?v=rdiETUGD6dg
Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...Igalia
By Juan José Sánchez Penas.
Automotive web browsers and web application runtimes have specific needs, compared to platforms such as mobile, STB/TV, desktop and other embedded devices.
When building your own web middleware for an automotive platform, many different aspects need to be considered in order to define the right technologies, the architecture to be used, and a good strategy regarding the collaboration with open source projects and communities.
In this talk we will discuss those aspects, focusing specifically on WebKit and Chromium, the two main technologies that are being used to build and derive browsers and web runtimes.
We will review the alternatives and their status, describe the challenges, explain the functionality and performance, and show demos based on our work at Igalia developing and adapting browsers for automotive, in the context of AGL
(Automotive Grade Linux) and GENIVI.
(c) Automotive Linux Summit 2018
June 20 - 22, 2018
Tokyo Conference Center Ariake (Japan)
https://events.linuxfoundation.org/events/automotive-linux-summit-2018/
The complex IoT equation, and FLOSS solutions, OW2con'18, June 7-8, 2018, ParisOW2
Even if not totally new, IoT era is bringing many new challenges to address but at a larger scale.
Market oracles are publishing various figures about the expected gross,
while security experts are alarming about their concerns.
Software developers will use as much resources they can, while hardware engineers will focus on optimizing hardware for reducing cost of production or usage by focusing on power consumption.
IoT is involving many subdomains from electronics to radio communication or cloud backends, and thus many skills than nobody can seriously claim to have.
The good news is that nobody is alone in the world of open standards and free software,
and cooperation is one of the key for a seamless "INTERnet of things" where everyone can find a place in this new landscape.
To illustrate openness and interoperability, a couple of projects supported by Samsung Opensource group will be presented and how to get kickstarted on Web+IoT Technologies.
By Martin Robinson.
After two years of work, WebKit2 has arrived to the GNOME platform, bringing security, stability, and performance. This talk will outline the new design and dive briefly into some of the gory technical details. Also, included will be a mountain of practical advice for application developers about the transition, such as whether or not applications should be rewritten for WebKit2 and how best to take advantage of the new multi-process model.
Presentation on Qt Developer Frameworks for a more technical audience, including the changes in version 4.6 and support for Maemo and Symbian mobile platforms.
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...Igalia
By Silvia Cho.
Given the popularity of HTML5 and web technologies, browsers have become an essential technology in almost all industries, including the automotive. Because of its complexity, it is very important to understand the pros and cons of the available choices before making a decision. This talk aims to explain and compare each of the available open source options.
WebKit is a web rendering engine with a generic part (WebCore, JSEngine), and ports for specific platforms that implement bits like rendering, networking or multimedia. GTK+, EFL and Wayland ports are available. Blink is fork of WebKit from which several projects have evolved such as Chromium, Crosswalk, and CEF. During the presentation, Silvia will explain and compare each them and provide more details of WebKit for Wayland which has several advantages for the IVI system.
WebRTC transforms a Web browser into a fully fledged client for Real Time Communications (audio, video, IM, screensharing). Google and Mozilla have contributed to this Open Source project, creating a variety of business opportunities unthinkable just a few years ago. During this seminar we’ll see the technology aspects and potential, why this attracts Web developers and what the role of VoIP developers has become.
Building End-user Applications on Embedded Devices with WPEIgalia
The Web engine is the most important component of a Web Browser, enabling
developers to harness the power of the Web Platform to build their
applications. However, Web Browsers are not the only type of applications that
can be built with Web Engines, which can also be used to develop other types of
applications using the same Web-based technologies, but for a different type of
use cases other than "browsing the Web".
These use cases can cover a wide range of situations outside of the traditional
desktop or mobile environments, such as the ones embedded systems are usually
used for (e.g. set-top-boxes, smart home appliances, GPS navigation devices, or
in-car/in-flight infotainment systems, to name a few). And in those situations
it is very common to be running on boards with SoCs and a particular set of HW
capabilities that make it crucial for the Web Engine to be able to tightly
integrate with them.
In this session we will focus on how WPE, a fully Open Source port of the
WebKit Web engine for Linux-based embedded devices, can be used to adapt to the
different challenges that embedded devices pose to develop end-user
applications, using the power of the Web Platform underneath.
(c) Embedded Open Source Summit 2024
April 16-18, 2024
Seattle, Washington (US)
https://events.linuxfoundation.org/embedded-open-source-summit/
https://eoss24.sched.com/event/1aNTr/building-end-user-applications-on-embedded-devices-with-wpe-mario-sanchez-prada-igalia
This ppt contains a laconic description of HTML history and development and application of HTML5. Some of most frequent and useful tags are also covered.
A Year of the Servo Reboot: Where Are We Now?Igalia
Created by Mozilla Research in 2012 and now part of Linux Foundation Europe, the Servo project is an experimental rendering engine written in Rust. It combines memory safety and concurrency to create an independent, modular, and embeddable rendering engine that adheres to web standards. Stewardship of Servo moved from Mozilla Research to the Linux Foundation in 2020, where its mission remains unchanged. After some slow years, in 2023 there has been renewed activity on the project, with a roadmap now focused on improving the engine’s CSS 2 conformance, exploring Android support, and making Servo a practical embeddable rendering engine. In this presentation, Rakhi Sharma reviews the status of the project, our recent developments in 2023, our collaboration with Tauri to make Servo an easy-to-use embeddable rendering engine, and our plans for the future to make Servo an alternative web rendering engine for the embedded devices industry.
(c) Embedded Open Source Summit 2024
April 16-18, 2024
Seattle, Washington (US)
https://events.linuxfoundation.org/embedded-open-source-summit/
https://ossna2024.sched.com/event/1aBNF/a-year-of-servo-reboot-where-are-we-now-rakhi-sharma-igalia
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
The Raspberry Pi 5 was announced on October 2023. This new version of the
popular embedded device comes with a new iteration of Broadcom’s VideoCore GPU
platform, and was released with a fully open source driver stack, developed by
Igalia. The presentation will discuss some of the major changes required to
support this new Video Core iteration, the challenges we faced in the process
and the solutions we provided in order to deliver conformant OpenGL ES and
Vulkan drivers. The talk will also cover the next steps for the open source
Raspberry Pi 5 graphics stack.
(c) Embedded Open Source Summit 2024
April 16-18, 2024
Seattle, Washington (US)
https://events.linuxfoundation.org/embedded-open-source-summit/
https://eoss24.sched.com/event/1aBEx
Automated Testing for Web-based Systems on Embedded DevicesIgalia
Every day, embedded devices are becoming more powerful and capable of running
more elaborate applications. Among these applications are Web-based ones,
enabling to leverage features from the Web APIs to the embedded context, either
through a generic browser running a traditional Web application or through a
customized Web engine tightly integrated within the system.
But such capabilities usually bring new challenges, like testing user
interactions with the application using the embedded device's specific I/O
methods, such as gestures, or inspecting Web application internals with
JavaScript. In this context, using a browser automation framework such as
WebDriver, which is a W3C standard supported by WebKit Web engine, allows
testing Web-based applications on such devices as if the user were actually
using it, alongside running custom JS code.
In this session, we will cover why we need browser automation for testing on
certain types of embedded devices, with a focus on WebDriver as the proposed
tool to achieve that goal. We will also discuss WebDriver's main features and
limitations, as well as other possible approaches and frameworks that could be
considered for this kind of task.
(c) Embedded Open Source Summit 2024
April 16-18, 2024
Seattle, Washington (US)
https://events.linuxfoundation.org/embedded-open-source-summit/
https://eoss24.sched.com/event/1aeSx/automated-testing-for-web-based-systems-on-embedded-devices-lauro-moura-igalia
Embedding WPE WebKit - from Bring-up to MaintenanceIgalia
Embedded devices have become powerful enough to run Web content a decade ago,
and any modern SoC that can run Linux and includes a GPU is a potential
candidate to hide a Web engine under the surface. How did it made it there?
Does it only show Web content? What else can it do? The talk will cover
bring-up tips to build and get WPE WebKit working on your custom embedded
device and make your own simple Web browser, as well as the best practices for
keeping the system up to date. No less important is integration with the rest
of the system: this session will detail the possibilities that WebKit brings to
the table, including how to add new JavaScript APIs which call into native code
to provide tight, performant access to platform functionality.
(c) Embedded Open Source Summit 2024
April 16-18, 2024
Seattle, Washington (US)
https://events.linuxfoundation.org/embedded-open-source-summit/
https://eoss24.sched.com/event/1aBFQ/embedding-wpe-webkit-from-bring-up-to-maintenance-adrian-perez-de-castro-igalia
This talk dives into how the scheduler impacts your gameplay on Linux and
unveils our journey to smoother gameplay. How does task scheduling impact Linux
gaming? Suboptimal task scheduling can cause stuttering while playing games on
the Steam Deck game console. First, we nail down the enemy. What exactly is
"stuttering," and how can we measure its impact on your gameplay? Next, we
extensively analyzed the characteristics of game tasks from the scheduler’s
point of view. Characterizing task behavior in Linux gaming helps to understand
why some schedulers create much stuttering and others create less and to unveil
the secrets behind smooth vs. choppy performance. Lastly, we will share our
progress on the optimized scheduler for reducing the stuttering problems in
Linux gaming, especially Steam Deck. We implemented the scheduling policy based
on sched_ext, a BPF-based extensible scheduling framework.
(c) Open Source Summit North America 2024
April 16-18, 2024
Seatle, Washington (US)
https://events.linuxfoundation.org/open-source-summit-north-america/
https://ossna2024.sched.com/event/1aBOT/optimizing-scheduler-for-linux-gaming-changwoo-min-igalia
So, we are adding a backend for the SpiderMonkey’s codegen to enable JIT
support for JavaScript running through Wasm. Sounds a bit cryptic so let’s
divide it into parts.
SpiderMonkey is a JavaScript engine which is used for running JavaScript inside
the Firefox browser. SpiderMonkey is written in C++ and supports compilation
into the Wasm module, see live demo -
https://mozilla-spidermonkey.github.io/sm-wasi-demo/. However, SpiderMonkey
compiled into the Wasm module supports execution of JavaScript only in the
interpreter-only mode and it doesn’t support just-in-time compilation because
there is no Wasm backend for that. There are backends for Arm, X86, X64 etc but
there is none for Wasm.
Why do we want to add support for JIT? Well, because we want speed. Right now
there is no solution to run JS scripts via Wasm fast, there are only
interpreters.
Why does JIT improve performance?
The reasons are the same for why an interpreter is slower than a compiler -
because it eliminates the interpreter loop, uses a more efficient ABI and, more
importantly, it can specialize polymorphic operations in JavaScript. So, we not
only enable the JIT tier in SpiderMonkey for Wasm but we also provide support
for inline caches.
Inline caches is a mechanism for specializing the behavior of particular
operations like plus or a call to specific arguments provided at runtime.
With all that we can generate Wasm modules on the fly, instantiate them, and
link them to provide from ~2x to ~11x speedup over the interpreter. In the
talks we will cover how the whole scheme works with SpiderMonkey: 1. How to
link modules on the fly into SpiderMonkey.wasm 2. How to add an exotic Wasm
backend into SpiderMonkey’s supported backend line - X64, X86, Arm, Wasm 3. How
to use the whole solution in the cloud instead of QuickJS 4. How to get a
speedup of your JS over wasm with test data.
Wasm I/O 2024
14 - 15 Mar, 2024
Barcelona
https://2024.wasmio.tech/
To crash or not to crash: if you do, at least recover fast!Igalia
What could be possibly worse that an almost unbeatable boss in
a game or a tough maze that consume hours of gameplay with not
much progress? How about a Linux kernel crash that makes you
lose all the game progress with no apparent reason or feedback?
Though rare, it is a real possibility that would make gamers
quite annoyed, given that Linux is used more and more as a
platform for playing games.
Some technologies are available to collect logs and feedback
the user in case such disastrous events happen, mostly related
with kernel crashes handling mechanisms. The main ones available
are kdump and pstore, but still there are work to be done in
this area...
In this talk we're going to present the basics about kernel
crash handling, like how a kernel panic might happen, how to
deal with that (with an overall discussion about kdump and
pstore techs) and the kdumpst tool, developed specially to
deal with this situation on Steam Deck (and generically on
Arch Linux); also we're gonna discuss some missing
pieces / ideas to make it even less likely gamers need to
complain that their device just got hang for no reason!
FOSForums 2023
Aug 26 - Aug 27, 2023
Institute of Computing, State University of Campinas (Unicamp)
Campinas, São Paulo, Brazil
https://www.fosforums.org/
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIgalia
Nesta charla impartida por Alejandro Piñeiro de Igalia, darase unha introdución
a Mesa, librería open-source para o desenvolvemento de drivers gráficos.
Explicarase a súa historia, os seus compoñentes máis importantes, que
utilidades proporcionan aos desenvolvedores e unha lista de hardware ás que dan
soporte. Finalmente explicarase o caso concreto do soporte proporcionado para
as GPUs dos dispositivos da serie Raspberry Pi, centrándonos nas Raspberry Pi 4
e Raspberry Pi 5
Igalia é unha empresa galega, con sede na Coruña, especializada en servizos de
consultoría, e que desenvolve solucións innovadoras de código aberto para un
gran conxunto de plataformas de software e hardware. En Igalia traballan nas
áreas máis interesantes do software de código aberto, incluídos navegadores,
gráficos e multimedia.
Igalia desenvolveu os controladores OpenGL ES 3.1 e Vulkan 1.2 conformes para a
GPU VideoCore VII Broadcom que se fornece coa nova Raspberry Pi 5.
Alejandro Piñeiro é enxeñeiro de Software e socio en Igalia, é desenvolvedor de
Software Libre desde 2004. A súa experiencia inclúe unha variedade de proxectos
de GNOME e freedesktop.org, enfocándose desde 2015 en Mesa, especificamente os
drivers Intel e Broadcom. É un dos responsables do desenvolvemento do
controlador Broadcom Vulkan para Raspberry Pi 4 & 5.
Máis información en https://aindustriosa.org/Mesa/
Esta actividade está patrocinada pola Xunta de Galicia e pola Axencia Para a
Modernización Tecnolóxica (AMTEGA).
(c) A Industriosa
https://aindustriosa.org
28 de Outubro (Vigo)
Chimera Linux is a novel Linux distribution built around FreeBSD core tools and
the LLVM toolchain. Since its initial launch in 2021, it has made a lot of
progress and is now in alpha stage. The system can be deployed on a wide array
of hardware and many people are using it as their desktop system; it works on
x86_64, AArch64, POWER (little and big endian) as well as RISC-V and by now
comes with thousands of packages.
While trying to be practical, Chimera is also highly hardened, partly thanks to
the LLVM toolchain, rendering it immune to various security issues other
distros are vulnerable to. It has transparent and robust infrastructure,
ensuring smooth deployment of packages. We are also developing various new
tooling that the whole ecosystem can benefit from, including the Turnstile
session tracker. Service management is based around Dinit, a modern,
supervising system; we maintain and create a variety of tooling around it,
trying to break the existing status quo with systemd, while abandoning legacy
approaches.
2023 has seen several major milestones, so I will focus on these, while also
giving a short overview so that people unfamiliar with the system don't feel
lost. I will also explain how our work benefits the entire Linux ecosystem, as
well as beyond.
(c) FOSDEM 2024
3 & 4 February 2024
https://fosdem.org/2024/schedule/event/fosdem-2024-2524-2023-in-chimera-linux/
For the last 3 years, I've been building a complete Linux distribution, Chimera
Linux (https://chimera-linux.org) using solely LLVM as its system toolchain -
that means Clang, compiler-rt, and libc++, alongside its other tooling. Right
now, it is a complete desktop system that is already used by many, with a
familiar GNOME interface and thousands of packages, targeting 5 CPU
architectures. In this talk I would like to focus on my experiences using the
toolchain, what obstacles got in the way, how I dealt with them, the issues
that are still left and I would like to see addressed, the many benefits using
LLVM gave the project, and overall give the audience an insight into practical
deployment of LLVM in a project where it isn't simply a drop-in alternative to
GCC.
(c) FOSDEM 2024
3 & 4 February 2024
https://fosdem.org/2024/schedule/event/fosdem-2024-2555-building-a-linux-distro-with-llvm/
turnip: Update on Open Source Vulkan Driver for Adreno GPUsIgalia
Turnip changed a lot since the last status update. You could now run AAA
desktop games via FEX + Turnip, Adreno 7xx is now supported, Turnip is used by
emulators on Android, and more!
(c) FOSDEM 2024
3 & 4 February 2024
https://fosdem.org/2024/schedule/event/fosdem-2024-2033-turnip-update-on-open-source-vulkan-driver-for-adreno-gpus/
Graphics stack updates for Raspberry Pi devicesIgalia
This talk will show the efforts done in the Open-Source graphics stack for
supporting Raspberry Pi devices. Although the talk will focus on the recently
launched new Raspberry Pi 5, we will show the improvements done for previous
generations of the Raspberry Pi hardware.
Raspberry Pi 5 has available FLOSS GPU drivers on product launch, exposing
OpenGL-ES 3.1 and Vulkan 1.2. We'll go through the changes needed to enable
desktop OpenGL 3.1 on RPi4/5.
We will also review the changes done to the kernel driver to expose the RPi5
capabilities and the new GPU stats support for RPi4/5.
Finally, we will show the work done to use Wayfire as the default Wayland
compositor on the Raspberry Pi OS.
- https://www.mesa3d.org/
- https://www.raspberrypi.com/
- https://wayfire.org/
(c) FOSDEM 2024
3 & 4 February 2024
https://fosdem.org/2024/schedule/event/fosdem-2024-2841-graphics-stack-updates-for-raspberry-pi-devices/
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSIgalia
This talk will cover our experience in utilizing Wayland subsurfaces and
implementing delegated compositing for Chromium on ChromeOS. Several concepts
will be covered - from overlay making decision in Chromium/Viz to design and
implementation of custom Wayland protocols, which were required to pass frame
data as overlays via Wayland and reconstruct that frame on the Wayland server
side.
(c) FOSDEM 2024
3 & 4 February 2024
https://fosdem.org/2024/schedule/event/fosdem-2024-3177-delegated-compositing-utilizing-wayland-protocols-for-chromium-on-chromeos/
MessageFormat: The future of i18n on the webIgalia
Internationalization in JavaScript and on the web platform is very complicated,
but also vastly important for us developers in order to build accessible and
intelligible interfaces. Thankfully, Unicode Consortium's MessageFormat working
group and TC39 have been hard at work standardizing the next generation of i18n
tooling that aims to unify analogous non-standard tools in use today while
approaching this problem from a fresh perspective.
Join me along this tour of i18n in JavaScript, discover some of the newest
additions to the toolkit and learn about the ongoing MessageFormat proposal and
how it aims to radically improve the developer experience.
(c) FOSDEM 2024
3 & 4 February 2024
https://fosdem.org/2024/schedule/event/fosdem-2024-2832-messageformat-the-future-of-i18n-on-the-web/
Replacing the geometry pipeline with mesh shadersIgalia
This talk will discuss the problems with the traditional vertex processing
pipeline and present how mesh shading solves these problems. Instead of
processing a fixed set of input vertices, mesh shaders can create an arbitrary
topology of vertices and primitives. Mesh shading also includes a new solution
for geometry amplification: task shaders.
The talk should be scheduled before Timur's talk about implementing mesh
shaders in the RADV Mesa driver.
(c) X.Org Developer Conference (XDC) 2022
October 4-6, 2022
Minneapolis, Minnesota, USA
https://indico.freedesktop.org/event/2/
Let's talk about developing AMD display drivers in the DRM subsystem as an
external contributor. Part of this work is a trail of breadcrumbs to build
documentation. What are those breadcrumbs? How do they help to review, fix,
improve and enable features of AMD drivers? How would both sides benefit if
those pieces of information were already documented? We are gathering
information from anywhere and also bothering experts for input. Ultimately,
this presentation focuses on AMD driver development but may fit DRM drivers of
any GPU vendors.
(c) X.Org Developer Conference (XDC) 2022
October 4-6, 2022
Minneapolis, Minnesota, USA
https://indico.freedesktop.org/event/2/
There has been a lot of activity in V3DV, the Vulkan driver for Raspberry Pi 4,
over the last year: we have significantly reworked our synchronization code,
obtained Vulkan 1.1 conformance, implemented Vulkan 1.2 support, continued to
work on compiler optimizations and more.
In this talk I would like to go through the main development milestones and
changes we implemented in the driver as well as discussing some limitations of
the underlying hardware platform that have discouraged us from implementing
features such as scalar block layout or fp16.
(c) X.Org Developer Conference (XDC) 2022
October 4-6, 2022
Minneapolis, Minnesota, USA
https://indico.freedesktop.org/event/2/
Enable hardware acceleration for GL applications without glamor on Xorg modes...Igalia
This talk will focus on development efforts and progress of enabling hardware
acceleration using the modesetting Xorg driver on Raspberry Pi 1-3 devices
without using Glamor.
We will discuss the reasons for disabling Glamor on these Raspberry Pi devices,
along with some previous attempts to accomplish this. This talk will also cover
the methods and technologies used in the current implementation such as DRI3,
GEM and GBM.
(c) X.Org Developer Conference (XDC) 2022
October 4-6, 2022
Minneapolis, Minnesota, USA
https://indico.freedesktop.org/event/2/
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Elizabeth Buie - Older adults: Are we really designing for our future selves?
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolution (LinuxCon Japan 2014)
1. WebKit and Blink: Bridging the Gap Between
the Kernel and the HTML5 Revolution
Juan J. Sánchez
LinuxCon Japan 2014, Tokyo
2. Myself, Igalia and WebKit
Co-founder, member of the WebKit/Blink/Browsers team
Igalia is an open source consultancy founded in 2001
Igalia is Top 5 contributor to upstream WebKit/Blink
Working with many industry actors: tablets, phones, smart
tv, set-top boxes, IVI and home automation.
WebKit and Blink Juan J. Sánchez
3. Outline
1 Why this all matters
2 2004-2013: WebKit, a historical perspective
2.1. The technology: goals, features, architecture, ports,
webkit2, code, licenses
2.2. The community: kinds of contributors and
contributions, tools, events
3 April 2013. The creation of Blink: history, motivations for
the fork, differences and impact in the WebKit community
4 2013-2014: Current status of both projects, future
perspectives and conclusions
WebKit and Blink Juan J. Sánchez
4. PART 1: Why this all matters
WebKit and Blink Juan J. Sánchez
5. Why this all matters
Long time trying to use Web technologies to replace native
totally or partially
Challenge enabled by new HTML5 features and improved
performance
Open Source is key for innovation in the field
Mozilla focusing on the browser
WebKit and now Blink are key projects for those building
platforms and/or browsers
WebKit and Blink Juan J. Sánchez
8. The WebKit project
Web rendering engine (HTML, JavaScript, CSS...)
The engine is the product
Started as a fork of KHTML and KJS in 2001
Open Source since 2005
Among other things, it’s useful for:
Web browsers
Using web technologies for UI development
WebKit and Blink Juan J. Sánchez
9. Goals of the project
Web Content Engine: HTML, CSS, JavaScript, DOM
Open Source: BSD-style and LGPL licenses
Compatibility: regression testing
Standards Compliance
Stability
Performance
Security
Portability: desktop, mobile, embedded...
Usability
Hackability
WebKit and Blink Juan J. Sánchez
10. Goals of the project
NON-goals:
“It’s an engine, not a browser”
“It’s an engineering project not a science project”
“It’s not a bundle of maximally general and reusable code”
“It’s not the solution to every problem”
http://www.webkit.org/projects/goals.html
WebKit and Blink Juan J. Sánchez
11. WebKit features
HTML and XML support
JavaScript support (ECMAScript 5.1)
CSS 2.1, CSS 3 support
SVG support
Support for Plugins (NPAPI, WebKit Plugins)
HTML5 support: multimedia, 3D graphics, advanced CSS
animations and transformations, drag’n’drop, offline &
local storage, connectivity...
Accessibility support
Q&A infrastructure: review process, continuous
integration, 30.000 regression tests, API tests...
Passing ACID3 with 100/100 tests since March 2008
WebKit and Blink Juan J. Sánchez
12. WebKit Architecture
From a simplified point of view, WebKit is structured this way:
WebKit: thin layer to link against
from the applications
WebCore: rendering, layout,
network access, multimedia,
accessibility support...
JS Engine: the JavaScript engine.
JavaScriptCore by default.
platform: platform-specific hooks to
implement generic algorithms
WebKit and Blink Juan J. Sánchez
13. What is a WebKit port?
WebKit and Blink Juan J. Sánchez
14. How many WebKit ports are there?
WebKit is available for different platforms:
Main upstream ports in 2012/2013:
Mac OS X, iOS
GTK+ based platforms (GNOME)
Qt based platforms (KDE)
Enlightenment Foundation Libraries (EFL, Tizen)
Google Chromium / Chrome
WebKitNIX
Other ports: wxWidgets, Brew MP, Symbian devices (S60),
Win32, BlackBerry, Adobe Integrated Runtime (Adobe
AIR)
WebKit and Blink Juan J. Sánchez
15. Some WebKit based browsers in 2013
Amazon Kindle
Arora
BOLT browser
Epiphany browser
Google Chrome
iCab (version >= 4)
Iris Browser
Konqueror
Midori
Nintendo 3DS
OWB
OmniWeb
PS3 web browser
RockMelt
Safari
SRWare Iron
Shiira
Sputnik for MorphOS
Stainless
Steel for Android
TeaShark
Uzbl
Web Browser for S60 (Nokia)
WebOS Browser
WebKit and Blink Juan J. Sánchez
18. How do we use a WebKit port?
The WebView widget:
A platform-specific widget that renders web content.
It’s the main component and it’s useful for:
Loading URIs or data buffers pointing to HTML content
Go fullscreen, text/text+image zooming...
Navigate back and forward through history...
Events handling:
Allows embedders to get notified when something
important happens or when some input is needed.
Some examples of these events:
Getting notified when a load finished or failed
Asking permission for navigating to an URI
Requesting authorization for something..
WebKit and Blink Juan J. Sánchez
19. A minibrowser written in Python
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import gtk
import webkit
def entry_activated_cb(entry, embed):
embed.load_uri(entry.get_text())
# Widgets and signals
window = gtk.Window()
window.set_default_size(800, 600)
window.set_title("Mini browser written in Python")
embed = webkit.WebView(); # WebKit embed
entry = gtk.Entry()
entry.connect(’activate’, entry_activated_cb, embed)
scroller = gtk.ScrolledWindow()
scroller.add(embed)
# Pack everything up and show
vbox = gtk.VBox(False, 5)
vbox.pack_start(entry, False, False)
vbox.pack_start(scroller)
window.add(vbox)
window.show_all()
# Load a default URI and run
embed.load_uri("http://www.webkit.org")
gtk.main()
WebKit and Blink Juan J. Sánchez
23. What is WebKit2?
New API layer designed to support a split process model
(First release by Apple on April 8th, 20101).
Different to Chromium’s multi-process implementation
It’s bundled in the framework (reusable)
Different processes take care of different tasks:
UI process: the WebView widget, application UI
Web process: loading, parsing, rendering, layout...
Plugin process: each plugin type in a process
It comes with Inter-Process Communication (IPC)
mechanisms to communicate those processes bundled-in
http://trac.webkit.org/wiki/WebKit2
WebKit and Blink Juan J. Sánchez
25. WebKit2 vs WebKit1
Pros:
Isolation
Security (sandboxing, per-process privileges)
Performance if processes are run in parallel
Stability (a crash in the WebProcess does no kill the
application)
WebKit and Blink Juan J. Sánchez
26. WebKit2 vs WebKit1
Cons:
Higher resource requirements
Multiple processes instead of just one
At the same time easier to release resources
Higher latency interaction with page content due to IPC
Complexity
Coding (more complications interacting directly with page
content)
Debugging
WebKit1 and WebKit2 maintenance
WebKit and Blink Juan J. Sánchez
28. WebKit2: current status
The main ports released WebKit2 browsers by 2013
WebKit1 moving to maintenance mode or removed
Cross-platform and non-blocking C API available
Most challenges of the split process model solved
Lots of new architectural changes about to come (e.g.
Network Process)
WebKit and Blink Juan J. Sánchez
29. The Source Code in numbers
According to Ohloh on May 17th, lines of code per language,
without considering blank lines nor comments:
Language LoC %
HTML 1,955,561 32.4 %
C++ 1,308,667 27.5 %
JavaScript 962,086 20.8 %
Objective-C 175,669 3.4 %
XML 158,555 2.5 %
C 121,951 3.0 %
PHP 100,345 2.3 %
CSS 93,247 1.6 %
Python 78,348 1.9 %
Perl 76,491 1.7 %
OpenGL Shad 52,234 1.8 %
Other (16) 50,000 1.1 %
Total 4,132,955
https://www.ohloh.net/p/WebKit/analyses/latest/language_summary
Just considering C++, Objective-C and C >1.6M LoC!
Licenses: BSD 3-clause and LGPL
WebKit and Blink Juan J. Sánchez
31. A bit of history
Source: http://ariya.ofilabs.com/2011/11/
one-hundred-thousand-and-counting.html
WebKit and Blink Juan J. Sánchez
32. The WebKit Project in numbers
Commits per month till 2013:
WebKit and Blink Juan J. Sánchez
33. The WebKit Project in numbers
Contributors per month::
WebKit and Blink Juan J. Sánchez
34. The WebKit Project in numbers
Evolution in the number of lines of code
WebKit and Blink Juan J. Sánchez
35. Tracking ongoing work in WebKit
Webkit is a big beast and a lot of organizations with
different agendas are working in different parts:
Implementing new standards (like the CSS shaders from
Adobe, or CSS3 GCPM from Apple)
Improvements in architecture, performance and internal
code (WebKit2)
On top of this there is the maintenance work (testing,
continuous integration, bugfixing)
No single centralized place to follow all the information:
blogs, mailing lists, IRC, etc.
WebKit and Blink Juan J. Sánchez
36. Activity of Companies by 2013
Based on Bitergia’s report2
Based on reviewed commits
“Gardening” commits filtered out
From the beginning of the project till beginning of 2013
2
http://blog.bitergia.com/2013/02/06/
report-on-the-activity-of-companies-in-the-webkit-project/
WebKit and Blink Juan J. Sánchez
37. Activity of Companies by 2013
Figura : Commits per company (monthly)
WebKit and Blink Juan J. Sánchez
38. Activity of Companies by 2013
Figura : Active authors per company (monthly)
WebKit and Blink Juan J. Sánchez
39. Activity of Companies by 2013
Figura : Commits per company
WebKit and Blink Juan J. Sánchez
40. Activity of Companies by 2013
Figura : Active authors per company
WebKit and Blink Juan J. Sánchez
41. Activity of Companies by 2013
Some conclusions from the authors:
Google and Apple leading the project
The diversity of the project has been increasing
Contributions from other parties >25 % and growing
> 20 companies actively contributing to WebKit
1500-2000 commits per month
387 committers from 29 different institutions
WebKit and Blink Juan J. Sánchez
42. Committers and Reviewers
WebKit Committer
A WebKit Committer should be a person we can trust to follow and
understand the project policies about checkins and other matters.
Has commit rights to the public SVN repository.
WebKit Reviewer
A WebKit Reviewer should be a person who has shown particularly
good judgment, understanding of project policies, collaboration skills,
and understanding of the code.
A WebKit Committer who can review other’s patches.
WebKit and Blink Juan J. Sánchez
43. Copyright for contributions
There is no copyright transfer for the contributions
Committers sign some papers where they commit to good
behaviour
WebKit and Blink Juan J. Sánchez
44. Releases
There are no releases of WebKit itself
Each port manages the release cycle, typically aligned with
the target platform schedule
WebKit and Blink Juan J. Sánchez
45. Types of contributions
Bugfixing and new features in:
An existent port
The core components: webcore and JSC/V8
Creation and maintenance of a new port
WebKit and Blink Juan J. Sánchez
46. Guidelines for contributing patches to WebKit
1 Get and build the code from the SVN repository
2 Choose or create a bug report to work on
3 Code your changes and make sure you include new
regression or unit tests if needed
4 Create a patch for your changes and submit it asking for
review over it to appropriate reviewers
5 Update and change your patch as many times as needed
6 Once approved, land your patch or ask a
committer/reviewer to do it
7 Watch for any regressions it might have caused
WebKit and Blink Juan J. Sánchez
47. Creating a port: what needs to be done
High level API (WebKit1 and WebKit2)
Low level backend specific implementation
Web Template Framework (WTF): memory management,
threading, data structures (vectors, hash tables, bloom
filters, ...) numerical support, etc.
JSC vs V8
Networking: HTTP, DNS, cookies, etc.
Graphics: 2D/3D rendering, compositing, theming, fonts
Multimedia: media player for audio and video tags
DOM bindings
Accessibility
Smaller tasks: clipboard, popup and context menus,
cursors, etc.
Other things: favicons, plugins, downloads, geolocation,
settings, navigation policies, etc.
WebKit and Blink Juan J. Sánchez
48. Creating a port: the social side
Difficult without full-time reviewers
Reuse from other ports as much as possible
Try to work upstream from the very beginning
The risk of forking is big, the project moves fast
Focus on testing and continuous integration
Port-specific events and communication tools
WebKit and Blink Juan J. Sánchez
49. Coordination and communication tools
Website: http://www.webkit.org/
Port specific Websites (e.g. http://webkitgtk.org/)
Wiki: http://trac.webkit.org/wiki
Blogs: http://planet.webkit.org/
Source Code:
SVN: http://svn.webkit.org/repository/webkit
Git mirror: git://git.webkit.org/WebKit.git
Bugzilla: https://bugs.webkit.org/
Buildbots: http://build.webkit.org/
Mailing lists: http://lists.webkit.org/mailman/listinfo.cgi
IRC (irc.freenode.net): #webkit and #webkitgtk+
WebKit and Blink Juan J. Sánchez
50. The WebKit Contributors Meeting
Meeting for contributors to the WebKit project
Organized in an “unconference”-like format
Extremely useful to advance on some topics:
Implementation of new APIs, WebKit2, accelerated
compositing, helper tools, QA infrastructure...
Yearly held in Cupertino, California. Hosted by Apple
WebKit and Blink Juan J. Sánchez
52. Google’s Departure. Blink
Google announced on April 3rd that they would be
forking WebKit and creating Blink
Motivations according to Google:
They were not using WebKit2 anyway
Easier to do ambitious architectural changes after the fork
Simplification of the codebase in Blink
Tension between Apple and Google before the fork
Architectural decisions: NetworkProcess
Code governance: Owners need to approve some core
changes
Big shock within the WebKit community
WebKit and Blink Juan J. Sánchez
53. Differences between WebKit and Blink
Removes the concept of ’port’ as it was defined in WebKit
(deep platform integration): Skia, V8 and other libraries
cannot be replaced
Still possible to use Blink in other platforms, but now
integration happens at Content level
Only the rendering engine. Multi-process architecture is
still in Chromium
WebKit has committers, reviewers and owners (control
some core areas). Blink only committers and owners
(similar to WebKit reviewers)
Peer review process a bit more relaxed in Blink
Many architecture changes are started to be implemented
WebKit and Blink Juan J. Sánchez
54. Early consequences of Blink for WebKit
Google was the main contributor by # of commits
Opera joined WebKit then moved to Blink. Other
companies and communities started thinking what to do.
Apple’s position more dominant. Relaxed a bit the Owners
policy
Several WebCore modules left orphan. Other hackers
assuming WebCore modules maintainership
WebKit developers porting patches from/to Blink
Many hacks to accomodate Chromium removed. Engines
quickly starting to diverge at faster pace
WebKit and Blink Juan J. Sánchez
55. Impact of Blink in numbers
Commits per month in WebKit, including last months:
WebKit and Blink Juan J. Sánchez
56. Impact of Blink in numbers
Contributors per month in WebKit, including last months:
WebKit and Blink Juan J. Sánchez
57. Impact of Blink in numbers
Contributors per month in 2013-2014:
Blink: WebKit:
WebKit and Blink Juan J. Sánchez
58. Impact of Blink in numbers
Commits per month in 2013-2014, Blink::
Commits per month in 2013-2014, WebKit::
WebKit and Blink Juan J. Sánchez
59. The Blink community is born
Dynamics of the community still being defined
Opera early contributor and user of Blink
Qt recently announces that they are moving to Blink (Sep
2013)
Tizen to use Crosswalk (Blink based)
Still unclear what all the downstreams are doing, but there
is a tendency to at least try Blink/Chromium
BlinkOn event twice per year, Fall in California, Spring in
Europe/Asia/Australia
WebKit and Blink Juan J. Sánchez
60. Main WebKit ongoing efforts and plans (I)
The community is a bit smaller and stable after the fork.
Some companies gaining visibility due to this fact: Adobe
Little public discussion about core features and roadmap
Most active port beside the ones Apple maintains is GTK+
WebKit and Blink Juan J. Sánchez
61. Main WebKit ongoing efforts and plans (II)
Some recent developments:
CSS Shapes
CSS Regions + new multicolumn implementation
CSS JIT Compiler (performance improvement)
Porting the code to C++11
JavaScriptCore’s FTL JIT (performance improvement)
WebKit and Blink Juan J. Sánchez
62. Main Blink ongoing efforts and plans (I)
The community is growing progressively after the fork.
Opera getting visibility
Some external actors just consuming Chromium/Blink,
not contributing or integrating upstream
Open discussion in blink-dev with the ’intents’ (to ship, to
develop, to deprecate, to remove). 3 Owners need to
support them
Public roadmap with main focus for 2014 in mobile
performance
Google still keeping quite a lot of control, but already 9
owners outside Google
WebKit and Blink Juan J. Sánchez
63. Main Blink ongoing efforts and plans (II)
Ongoing work and roadmap:
CSS Shapes
CSS Regions not implemented, but support for
multicolumn
Oilpan (tries to avoid memory leaks using a garbage
collector instead of smart pointers)
Repaint after layout (performance optimization for
rendering)
Web animations
Blink repository will be integrated into Chromium’s
WebKit and Blink Juan J. Sánchez
64. Open questions about Blink vs WebKit
How open the dynamics of each community will be?
Which project will innovate faster and keep higher quality
and performance standards?
For how long will it be possible to port patches from one
project to the other?
Will there be specialized areas where one of the projects
will perform better? (e.g. WebKit and the memory
consumption)
Will those adopting Chromium/Blink be able to integrate
it even when Google is not making things easy? Will any of
them move back to WebKit?
WebKit and Blink Juan J. Sánchez
65. Conclusions
WebKit and Blink are key open source projects. They are at
the very heart of the HTML5 revolution
By 2013: it was the only true Open Source alternative for
embedders for many years. Good community and
architecture. Complex project
Blink splitted community and efforts. Several WebKit ports
and some downstreams decided to migrate. There are
technical and community chanllenges in this migration
that are still to be understood
Both projects remain healthy for now. Still many open
questions about both projects
WebKit and Blink Juan J. Sánchez
66. Thank you!
Juan J. Sánchez
jjsanchez@igalia.com
WebKit and Blink Juan J. Sánchez