annulen

is creating QtWebKit

6

patrons

$669

per month
Hi all! I'm the maintainer of QtWebKit project - port of famous WebKit browser engine to Qt platform. It's more than just a wrapper of some off-the-shelf browser engine with Qt API, but browser engine with Qt at its heart - networking, rendering of fonts, graphics, input controls, clipboard management, even such low level features as event loop - all of this is done with Qt framework.

See https://github.com/annulen/webkit/wiki for more details.

What's going on with QtWebKit? Wasn't it deprecated in Qt 5.6 release?

In the past, QtWebKit was developed primarily by employees of Nokia, and later The Qt Company. However, in 2013 The Qt Company decided to cease development of QtWebKit in favor of  QtWebEngine module which is based on Chromium. But QtWebEngine doesn't cover all use cases of QtWebKit, so some people want to get updates of QtWebKit. See https://github.com/annulen/webkit/wiki/Use-cases-of-QtWebKit for more details.

In 2016 I've started a project aimed to "revive" QtWebKit, and upgrade its WebKit core from state of 2013 to the state of WebKit upstream (webkit.org). This effort resulted in pre-release of QtWebKit 5.212-alpha2, which can be found at https://github.com/annulen/webkit/releases/tag/qtwebkit-5.212.0-alpha2. This version of QtWebKit has replaced "old" QtWebKit packages based on 2013 branch in repositories of most open source OS distributions, and is used by many open source projects with lots of end users. 

However, 5.212-alpha2 was already lagging too much behind WebKit upstream development (again) to be considered modern browser engine which is safe to use on untrusted content from Web. It also didn't reach it's goal - to become a full drop-in replacement of QtWebKit on all platforms which were supported in Qt 5.5 without any significant regressions. It become clear that new iteration of WebKit is necessary, and it should happen at least once in a year.

Why crowdfunding is needed?

From my experience with 5.212 branch I can say that I was trying to support more platforms than I can realistically handle. Yeah It sounded like a good idea to support every platform which could run old QtWebKit, so that everyone could switch to the shiny new release. However, in practice it turned out to be a death of thousand cuts, which included build issues, constant readjustments of Qt CI system to produce binaries, lots of users having various issues when building from sources on their platforms, having to investigate bugs in core Qt components which were affecting only those platforms, and so on. I also expected a bit more involvement of The Qt Company employees in solving infrastructure issues related to re-integration of QtWebKit, and with investigation of Qt bugs which are not easily reproducible outside.

So, I believe that cutting down scope to what I've described in "Minimal viable product" should allow to make QtWebKit regularly updated and fully working browser engine at least on one platform (Linux). Crowdfunding could allow me to hire another developer to expand my capacity, which in turn would allow supporting more platforms.

Note that you can request a refund if you believe that progress of QtWebKit project doesn't match with achieved funding goals.
Tiers
QtWebKit Supporters
$10 or more per month
  • Weekly updates on development progress
  • Extended technical support in public QtWebKit channels: build issues on supported proprietary platforms, customized build configurations
QtWebKit Fans
$15 or more per month
  • All previous benefits
  • Extended technical support in public QtWebKit channels: issues on embedded Linux systems
  • Voice mode for you on #qtwebkit IRC channel
  • High-priority repsonses on public channnels (IRC, mailing list, forums.qt.io)
QtWebKit Bronze Sponsors
$100 or more per month
  • All previous benefits
  • Personalized technical support
  • Implementation of new features in QtWebKit, provided that extra development time is covered by total amount of your contributions
  • Your name or company title will be included in release notes for each public release of QtWebKit
QtWebKit Silver Sponsors
$200 or more per month
  • All previous benefits
  • Your or your company's name included in release notes
QtWebKit Gold Sponsors
$500 or more per month
  • All previous benefits
  • Logo of your company is included in release announcements in blog, displayed on front page of https://qtwebkit.github.io, and included in conference slides if there will be any
Goals
$669 of $1,000 per month
Cross-platform product

  • Support for building QtWebKit on Windows (MSVC), provided that collected funds are sufficient to buy Windows 10 license, or patches are contributed by community
  • Support for building QtWebKit on macOS, provided that collected funds are sufficient to buy MacBook Pro, or patches are contributed by community
  • Binary builds for these platforms are provided with each release, provided that conditions above are satisifed
  • Bugs which are specific to these platforms without affecting Linux are resolved on case-by-case basis to avoid slowing down MVP goals on Linux
2 of 4
Hi all! I'm the maintainer of QtWebKit project - port of famous WebKit browser engine to Qt platform. It's more than just a wrapper of some off-the-shelf browser engine with Qt API, but browser engine with Qt at its heart - networking, rendering of fonts, graphics, input controls, clipboard management, even such low level features as event loop - all of this is done with Qt framework.

See https://github.com/annulen/webkit/wiki for more details.

What's going on with QtWebKit? Wasn't it deprecated in Qt 5.6 release?

In the past, QtWebKit was developed primarily by employees of Nokia, and later The Qt Company. However, in 2013 The Qt Company decided to cease development of QtWebKit in favor of  QtWebEngine module which is based on Chromium. But QtWebEngine doesn't cover all use cases of QtWebKit, so some people want to get updates of QtWebKit. See https://github.com/annulen/webkit/wiki/Use-cases-of-QtWebKit for more details.

In 2016 I've started a project aimed to "revive" QtWebKit, and upgrade its WebKit core from state of 2013 to the state of WebKit upstream (webkit.org). This effort resulted in pre-release of QtWebKit 5.212-alpha2, which can be found at https://github.com/annulen/webkit/releases/tag/qtwebkit-5.212.0-alpha2. This version of QtWebKit has replaced "old" QtWebKit packages based on 2013 branch in repositories of most open source OS distributions, and is used by many open source projects with lots of end users. 

However, 5.212-alpha2 was already lagging too much behind WebKit upstream development (again) to be considered modern browser engine which is safe to use on untrusted content from Web. It also didn't reach it's goal - to become a full drop-in replacement of QtWebKit on all platforms which were supported in Qt 5.5 without any significant regressions. It become clear that new iteration of WebKit is necessary, and it should happen at least once in a year.

Why crowdfunding is needed?

From my experience with 5.212 branch I can say that I was trying to support more platforms than I can realistically handle. Yeah It sounded like a good idea to support every platform which could run old QtWebKit, so that everyone could switch to the shiny new release. However, in practice it turned out to be a death of thousand cuts, which included build issues, constant readjustments of Qt CI system to produce binaries, lots of users having various issues when building from sources on their platforms, having to investigate bugs in core Qt components which were affecting only those platforms, and so on. I also expected a bit more involvement of The Qt Company employees in solving infrastructure issues related to re-integration of QtWebKit, and with investigation of Qt bugs which are not easily reproducible outside.

So, I believe that cutting down scope to what I've described in "Minimal viable product" should allow to make QtWebKit regularly updated and fully working browser engine at least on one platform (Linux). Crowdfunding could allow me to hire another developer to expand my capacity, which in turn would allow supporting more platforms.

Note that you can request a refund if you believe that progress of QtWebKit project doesn't match with achieved funding goals.

Recent posts by annulen

Tiers
QtWebKit Supporters
$10 or more per month
  • Weekly updates on development progress
  • Extended technical support in public QtWebKit channels: build issues on supported proprietary platforms, customized build configurations
QtWebKit Fans
$15 or more per month
  • All previous benefits
  • Extended technical support in public QtWebKit channels: issues on embedded Linux systems
  • Voice mode for you on #qtwebkit IRC channel
  • High-priority repsonses on public channnels (IRC, mailing list, forums.qt.io)
QtWebKit Bronze Sponsors
$100 or more per month
  • All previous benefits
  • Personalized technical support
  • Implementation of new features in QtWebKit, provided that extra development time is covered by total amount of your contributions
  • Your name or company title will be included in release notes for each public release of QtWebKit
QtWebKit Silver Sponsors
$200 or more per month
  • All previous benefits
  • Your or your company's name included in release notes
QtWebKit Gold Sponsors
$500 or more per month
  • All previous benefits
  • Logo of your company is included in release announcements in blog, displayed on front page of https://qtwebkit.github.io, and included in conference slides if there will be any