From b0defe67bd5619fcb2cfc564bf3088c0c57b3d2b Mon Sep 17 00:00:00 2001 From: The Robur Team Date: Mon, 21 Oct 2024 11:44:35 +0000 Subject: [PATCH] Pushed by YOCaml 2 --- articles/finances.html | 410 +++++++++++++++++++++++++++++++ articles/speeding-ec-string.html | 2 +- atom.xml | 11 +- feed.xml | 103 +++++++- images/finances.png | Bin 0 -> 6425 bytes index.html | 13 + rss1.xml | 6 + tags.html | 12 +- 8 files changed, 553 insertions(+), 4 deletions(-) create mode 100644 articles/finances.html create mode 100644 images/finances.png diff --git a/articles/finances.html b/articles/finances.html new file mode 100644 index 0000000..6f75ade --- /dev/null +++ b/articles/finances.html @@ -0,0 +1,410 @@ + + + + + + + + Robur's blogHow has robur financially been doing since 2018? + + + + + + + + +
+

blog.robur.coop

+
+ The Robur cooperative blog. +
+
+
Back to index + +
+

How has robur financially been doing since 2018?

+

Since the beginning, robur has been working on MirageOS unikernels and getting +them deployed. Due to our experience in hierarchical companies, we wanted to +create something different - a workplace without bosses and management. Instead, +we are a collective where everybody has a say on what we do, and who gets how +much money at the end of the month. This means nobody has to write report and +meet any goals - there's no KPI involved. We strive to be a bunch of people +working together nicely and projects that we own and want to bring forward. If +we discover lack of funding, we reach out to (potential) customers to fill our +cash register. Or reach out to people to donate money.

+

Since our mission is fulfilling and already complex - organising ourselves in a +hierarchy-free environment, including the payment, and work on software in a +niche market - we decided from the early days that bookeeping and invoicing +should not be part of our collective. Especially since we want to be free in +what kind of funding we accept - donations, commercial contracts, public +funding. In the books, robur is part of the non-profit company +Änderwerk in Germany - and friends of ours run that +company. They get a cut on each income we generate.

+

To be inclusive and enable everyone to participate in decisions, we are 100% +transparent in our books - every collective member has access to the financial +spreadsheets, contracts, etc. We use a needs-based payment model, so we talk +about the needs everyone has on a regular basis and adjust the salary, everyone +agreeing to all the numbers.

+

2018

+

We started operations in 2018. In late 2017, we got donations (in the form of +bitcoins) by friends who were convinced of our mission. This was 54,194.91 €. +So, in 2018 we started with that money, and tried to find a mission, and +generate income to sustain our salaries.

+

Also, already in 2017, we applied for funding from +Prototypefund on a CalDAV server, +and we received the grant in early 2018. This was another 48,500 €, paid to +individuals (due to reasons, Prototype fund can't cash out to the non-profit - +this put us into some struggle, since we needed some double bookkeeping and +individuals had to dig into health care etc.).

+

We also did in the second half of 2018 a security audit for +Least Authority +(invoicing 19,600 €).

+

And later in 2018 we started on what is now called NetHSM with an initial +design workshop (5,000 €).

+

And lastly, we started to work on a grant to implement TLS 1.3, +funded by Jane Street (via OCaml Labs Consulting). In 2018, we received 12,741.71 €

+

We applied at NLNet for improving the QubesOS firewall developed in MirageOS +(without success), tried to get the IT security prize in Germany (without +success), and to DIAL OSC (without success).

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ProjectAmount
Donation54,194.91
Prototypefund48,500.00
Least Authority19,600.00
TLS 1.312,741.71
Nitrokey5,000.00
Total140,036.62

2019

+

We were keen to finish the CalDAV implementation (and start a CardDAV +implementation), and received some financial support from Tarides for it +(15,000 €).

+

The TLS 1.3 work continued, we got in total 68,887.53 €.

+

We also applied to (and got funding from) Prototypefund, once with an OpenVPN-compatible +MirageOS unikernel, +and once with improving the QubesOS firewall developed as MirageOS unikernel. +This means again twice 48,500 €.

+

We also started the implementation work of NetHSM - which still included a lot +of design work - in total the contract was over 82,500 €. In 2019, we invoiced +Nitrokey in 2019 in total 40,500 €.

+

We also received a total of 516.48 € as donations from source unknown to us.

+

We also applied to NLnet with DNSvizor, and +got a grant, but due to buerocratic reasons they couldn't transfer the money to +our non-profit (which was involved with NLnet in some EU grants), and we didn't +get any money in the end.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ProjectAmount
CardDAV15,000.00
TLS 1.368,887.53
OpenVPN48,500.00
QubesOS48,500.00
Donation516.48
Nitrokey40,500.00
Total221,904.01

2020

+

In 2020, we agreed with OCaml Labs Consulting to work on maintenance of OCaml +packages in the MirageOS ecosystem. This was a contract where at the end of the +month, we reported on which PRs and issues we spent how much time. For us, this +was great to have the freedom to work on which OCaml packages we were keen to +get up to speed. In 2020, we received 45,000 € for this maintenance.

+

We finished the TLS 1.3 work (18,659.01 €)

+

We continued to work on the NetHSM project, and invoiced 55,500 €.

+

We received a total of 255 € in donations from sources unknown to us.

+

We applied at reset.tech again with DNSvizor, unfortunately without success.

+

We also applied at NGI pointer to work on reproducible +builds for MirageOS, and a web frontend. Here we got the grant of 200,000 €, +which we worked on in 2021 and 2022.

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ProjectAmount
OCLC45,000.00
TLS 1.318,659.01
Nitrokey55,500.00
Donations255.00
Total119,414.01

2021

+

As outlined, we worked on reproducible builds of unikernels - rethinking the way +how a unikernel is configured: no more compiled-in secrets, but instead using +boot parameters. We setup the infrastructure for doing daily reproducible +builds, serving system packages via a package repository, and a +web frontend hosting the reproducible builds. +We received in total 120,000 € from NGI Pointer in 2021.

+

Our work on NetHSM continued, including the introduction of elliptic curves +in mirage-crypto (using fiat). The +invoices to Nitrokey summed up to 26,000 € in 2021.

+

We developed in a short timeframe two packages, u2f +and later webauthn for Skolem Labs based +on gift economy. This resulted in +donations of 18,976 €.

+

We agreed with OCSF to work on +conex, which we have not delivered yet +(lots of other things had to be cleared first: we did a security review of opam +(leading to a security advisory), +we got rid of extra-files +in the opam-repository, and we removed the weak hash md5 +from the opam-repository.

+
+ + + + + + + + + + + + + + + + + + + + +
CustomerAmount
NGI Pointer120,000.00
Nitrokey26,000.00
Skolem18,976.00
Total164,976.00

2022

+

We finished our NGI pointer project, and received another 80,000 €.

+

We also did some minor maintenance for Nitrokey, and invoiced 4,500 €.

+

For Tarides, we started another maintaining MirageOS packages (and continuing +our TCP/IP stack), and invoiced in +total 22,500 €.

+

A grant application for bob was rejected, +but a grant application for MirageVPN +got accepted. Both at NLnet within the EU NGI project.

+
+ + + + + + + + + + + + + + + + + + + + +
ProjectAmount
NGI Pointer80,000.00
Nitrokey4,500.00
Tarides22,500.00
Total107,000.00

2023

+

We finished the NetHSM project, and had a final invoice over 2,500 €.

+

We started a collaboration for semgrep, porting some of +their Python code to OCaml. We received in total 37,500 €.

+

We continued the MirageOS opam package maintenance and invoiced in total +89,250 € to Tarides.

+

A grant application on MirageVPN got +accepted (NGI Assure), and we received in total 12,000 € for our work on it. +This is a continuation of our 2019 work funded by Prototypefund.

+

We also wrote various funding applications, including one for +DNSvizor that was +accepted (NGI0 Entrust).

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
CustomerAmount
Nitrokey2,500.00
semgrep37,500.00
Tarides89,250.00
MirageVPN12,000.00
Total141,250.00

2024

+

We're still in the middle of it, but so far we continued the Tarides maintenance +contract (54,937.50 €).

+

We also finished the MirageVPN work, and received another 45,000 €.

+

We had a contract with Semgrep again on porting Python code to OCaml and received 18,559.40 €.

+

We again worked on several successful funding applications, one on +PTT (NGI Zero Core), a continuation of the +NGI DAPSI project - +now realizing mailing lists with our SMTP stack.

+

We also got MTE (NGI Taler) accepted.

+

The below table is until end of September 2024.

+
+ + + + + + + + + + + + + + + + + + + + +
ProjectAmount
Semgrep18,559.40
Tarides62,812.50
MirageVPN45,000.00
Total126,371.90

Total

+

In a single table, here's our income since robur started.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
YearAmount
2018140,036.62
2019221,904.01
2020119,414.01
2021164,976.00
2022107,000.00
2023141,250.00
2024126,371.90
Total1,020,952.54

Plot of above income table

+

As you can spot, it varies quite a bit. In some years we have fewer money +available than in other years.

+

Expenses

+

As mentioned, the non-profit company Änderwerk running +the bookkeeping and legal stuff (invoices, tax statements, contracts, etc.) gets +a cut on each income we produce. They are doing amazing work and are very +quick responding to our queries.

+

We spend most of our income on salary. Some money we spend on travel. We also +pay monthly for our server (plus some extra for hardware, and in June 2024 a +huge amount for trying to recover data from failed SSDs).

+

Conclusion

+

We have provided an overview of our income, we were three to five people working +at robur over the entire time. As written at the beginning, we use needs-based +payment. Our experience with this is great! It provides a lot of trust into each +other.

+

Our funding is diverse from multiple sources - donations, commercial work, +public funding. This was our initial goal, and we're very happy that it works +fine over the last five years.

+

Taking the numbers into account, we are not paying ourselves "industry standard" +rates - but we really love what we do - and sometimes we just take some time off. +We do work on various projects that we really really enjoy - but where (at the +moment) no funding is available for.

+

We are always happy to discuss how our collective operates. If you're +interested, please drop us a message.

+

Of course, if we receive donations, we use them wisely - mainly for working on +the currently not funded projects (bob, albatross, miou, mollymawk - to name a few). If you +can spare a dime or two, don't hesitate to donate. +Donations are tax-deductable in Germany (and should be in Europe) since we're a +registered non-profit.

+

If you're interested in MirageOS and using it in your domain, don't hesitate +to reach out to us (via eMail: team@robur.coop) so we can start to chat - we're keen to deploy MirageOS +and find more domains where it is useful.

+ +
+ +
+ + + + diff --git a/articles/speeding-ec-string.html b/articles/speeding-ec-string.html index 09c3085..ae8552b 100644 --- a/articles/speeding-ec-string.html +++ b/articles/speeding-ec-string.html @@ -123,7 +123,7 @@

As a spoiler, for P-256 sign there's another improvement of around 4.5 with Virgile's PR using pre-computed tables also for NIST curves.

The road ahead for 2024

Remove all cstruct, everywhere, apart from in mirage-block-xen and mirage-net-xen ;). It was a fine decision in the early MirageOS days, but from a performance point of view, and for making our packages more broadly usable without many dependencies, it is time to remove cstruct. Earlier this year we already removed cstruct from ocaml-tar for similar reasons.

-

Our MirageOS work is only partially funded, we cross-fund our work by commercial contracts and public (EU) funding. We are part of a non-profit company, you can make a (tax-deducable - at least in the EU) donation (select "DONATION robur" in the dropdown menu).

+

Our MirageOS work is only partially funded, we cross-fund our work by commercial contracts and public (EU) funding. We are part of a non-profit company, you can make a (tax-deductable - at least in the EU) donation (select "DONATION robur" in the dropdown menu).

We're keen to get MirageOS deployed in production - if you would like to do that, don't hesitate to reach out to us via eMail team at robur.coop

diff --git a/atom.xml b/atom.xml index ab61eba..bdcc89d 100644 --- a/atom.xml +++ b/atom.xml @@ -3,12 +3,21 @@ https://blog.robur.coop/atom.xml The Robur's blog YOCaml - 2024-08-21T00:00:00Z + 2024-10-21T00:00:00Z The Robur Team + + https://blog.robur.coop//articles/finances.html + How has robur financially been doing since 2018? + 2024-10-21T00:00:00Z + How we organise as a collective, and why we're doing that. + + + + https://blog.robur.coop//articles/2024-08-21-OpenVPN-and-MirageVPN.html MirageVPN and OpenVPN diff --git a/feed.xml b/feed.xml index 0952334..7fd855a 100644 --- a/feed.xml +++ b/feed.xml @@ -1 +1,102 @@ -Robur's bloghttps://blog.robur.coopThe Robur cooperative blogyocamlteam@robur.coopMirageVPN and OpenVPNhttps://blog.robur.coop/articles/2024-08-21-OpenVPN-and-MirageVPN.htmlWed, 21 Aug 2024 10:00:00 GMTDiscoveries made implementing MirageVPN, a OpenVPN-compatible VPN libraryhttps://blog.robur.coop/articles/2024-08-21-OpenVPN-and-MirageVPN.htmlThe new Tar release, a retrospectivehttps://blog.robur.coop/articles/tar-release.htmlThu, 15 Aug 2024 10:00:00 GMTA little retrospective to the new Tar release and changeshttps://blog.robur.coop/articles/tar-release.htmlqubes-miragevpn, a MirageVPN client for QubesOShttps://blog.robur.coop/articles/qubes-miragevpn.htmlMon, 24 Jun 2024 10:00:00 GMTA new OpenVPN client for QubesOShttps://blog.robur.coop/articles/qubes-miragevpn.htmlMirageVPN serverhttps://blog.robur.coop/articles/miragevpn-server.htmlMon, 17 Jun 2024 10:00:00 GMTAnnouncement of our MirageVPN server.https://blog.robur.coop/articles/miragevpn-server.htmlSpeeding up MirageVPN and use it in the wildhttps://blog.robur.coop/articles/miragevpn-performance.htmlTue, 16 Apr 2024 10:00:00 GMTPerformance engineering of MirageVPN, speeding it up by a factor of 25.https://blog.robur.coop/articles/miragevpn-performance.htmlGPTarhttps://blog.robur.coop/articles/gptar.htmlWed, 21 Feb 2024 10:00:00 GMTHybrid GUID partition table and tar archivehttps://blog.robur.coop/articles/gptar.htmlSpeeding elliptic curve cryptographyhttps://blog.robur.coop/articles/speeding-ec-string.htmlTue, 13 Feb 2024 10:00:00 GMTHow we improved the performance of elliptic curves by only modifying the underlying byte arrayhttps://blog.robur.coop/articles/speeding-ec-string.htmlCooperation and Lwt.pausehttps://blog.robur.coop/articles/lwt_pause.htmlSun, 11 Feb 2024 10:00:00 GMTA disgression about Lwt and Miouhttps://blog.robur.coop/articles/lwt_pause.htmlPython's `str.__repr__()`https://blog.robur.coop/articles/2024-02-03-python-str-repr.htmlSat, 03 Feb 2024 10:00:00 GMTReimplementing Python string escaping in OCamlhttps://blog.robur.coop/articles/2024-02-03-python-str-repr.htmlMirageVPN updated (AEAD, NCP)https://blog.robur.coop/articles/miragevpn-ncp.htmlMon, 20 Nov 2023 10:00:00 GMTHow we resurrected MirageVPN from its bitrot statehttps://blog.robur.coop/articles/miragevpn-ncp.htmlMirageVPN & tls-crypt-v2https://blog.robur.coop/articles/miragevpn.htmlTue, 14 Nov 2023 10:00:00 GMTHow we implementated tls-crypt-v2 for miragevpnhttps://blog.robur.coop/articles/miragevpn.html \ No newline at end of file + + + + The Robur's blog + https://blog.robur.coop/ + + + Mon, 21 Oct 2024 00:00:00 GMT + https://www.rssboard.org/rss-specification + YOCaml + + How has robur financially been doing since 2018? + https://blog.robur.coop//articles/finances.html + + https://blog.robur.coop//articles/finances.html + Mon, 21 Oct 2024 00:00:00 GMT + + + MirageVPN and OpenVPN + https://blog.robur.coop//articles/2024-08-21-OpenVPN-and-MirageVPN.html + + + + https://blog.robur.coop//articles/2024-08-21-OpenVPN-and-MirageVPN.html + Wed, 21 Aug 2024 00:00:00 GMT + + + The new Tar release, a retrospective + https://blog.robur.coop//articles/tar-release.html + + https://blog.robur.coop//articles/tar-release.html + Thu, 15 Aug 2024 00:00:00 GMT + + + qubes-miragevpn, a MirageVPN client for QubesOS + https://blog.robur.coop//articles/qubes-miragevpn.html + + https://blog.robur.coop//articles/qubes-miragevpn.html + Mon, 24 Jun 2024 00:00:00 GMT + + + MirageVPN server + https://blog.robur.coop//articles/miragevpn-server.html + + https://blog.robur.coop//articles/miragevpn-server.html + Mon, 17 Jun 2024 00:00:00 GMT + + + Speeding up MirageVPN and use it in the wild + https://blog.robur.coop//articles/miragevpn-performance.html + + + + https://blog.robur.coop//articles/miragevpn-performance.html + Tue, 16 Apr 2024 00:00:00 GMT + + + GPTar + https://blog.robur.coop//articles/gptar.html + + https://blog.robur.coop//articles/gptar.html + Wed, 21 Feb 2024 00:00:00 GMT + + + Speeding elliptic curve cryptography + https://blog.robur.coop//articles/speeding-ec-string.html + + + + https://blog.robur.coop//articles/speeding-ec-string.html + Tue, 13 Feb 2024 00:00:00 GMT + + + Cooperation and Lwt.pause + https://blog.robur.coop//articles/lwt_pause.html + + https://blog.robur.coop//articles/lwt_pause.html + Sun, 11 Feb 2024 00:00:00 GMT + + + Python's `str.__repr__()` + https://blog.robur.coop//articles/2024-02-03-python-str-repr.html + + https://blog.robur.coop//articles/2024-02-03-python-str-repr.html + Sat, 03 Feb 2024 00:00:00 GMT + + + MirageVPN updated (AEAD, NCP) + https://blog.robur.coop//articles/miragevpn-ncp.html + + https://blog.robur.coop//articles/miragevpn-ncp.html + Mon, 20 Nov 2023 00:00:00 GMT + + + MirageVPN & tls-crypt-v2 + https://blog.robur.coop//articles/miragevpn.html + + https://blog.robur.coop//articles/miragevpn.html + Tue, 14 Nov 2023 00:00:00 GMT + + + \ No newline at end of file diff --git a/images/finances.png b/images/finances.png new file mode 100644 index 0000000000000000000000000000000000000000..5c7fbc4cb28baaea8b69ed1d9b4d93e69b026927 GIT binary patch literal 6425 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 and ramblings
  1. + +
    + 2024-10-21 + How has robur financially been doing since 2018?
    +

    How we organise as a collective, and why we're doing that.

    + +
    +