From 2c2b3b62c2144618ecb42c43f572a7630bc5e6ba Mon Sep 17 00:00:00 2001 From: Andy Green Date: Thu, 30 Sep 2021 09:31:26 +0100 Subject: [PATCH] README.md: update with work retrospective and more Sai info --- README.md | 18 +++++++++++++++++- doc-assets/work.png | Bin 0 -> 46292 bytes 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 doc-assets/work.png diff --git a/README.md b/README.md index e79949ace..dd6a2bd1e 100644 --- a/README.md +++ b/README.md @@ -18,13 +18,29 @@ sdevent, glib and uloop, as well as custom event libs. [There are a lot of READMEs](https://libwebsockets.org/git/libwebsockets/tree/READMEs) on a variety of topics. -[We do a huge amount of CI testing per push](https://libwebsockets.org/sai/), currently 510 builds on 27 platforms. +[We do a huge amount of CI testing per push](https://libwebsockets.org/sai/), currently 582 builds on 30 platforms. +[You can see the lws CI rack and read about how lws-based Sai is used to coordinate all the testing](https://warmcat.com/2021/08/21/Sai-CI.html). ![overview](./doc-assets/lws-overview.png) News ---- +## Lws work retrospective + +The initial commit for lws will have been 11 years ago come Oct 28 2021, it's been a lot of work. +There are a total of 4.3K patches, touching 800KLOC cumulatively (this is not the size in the +repo, but over the years, how many source lines were changed by patches). + +![overview](./doc-assets/work.png) + +Gratifyingly, it turns out over the years, ~15% of that was contributed by 404 contributors: that's not so bad. +Thanks a lot to everyone who has provided patches. + +Today at least tens of millions of devices and product features rely on lws to +handle their communications including several from FAANG; Google now include lws +as part of Android sources. + ## v4.2 is released See the [changelog](https://libwebsockets.org/git/libwebsockets/tree/changelog) diff --git a/doc-assets/work.png b/doc-assets/work.png new file mode 100644 index 0000000000000000000000000000000000000000..37b38011beab926564776f5b3c5f404e6d70d552 GIT binary patch literal 46292 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