Architecture Weekly

Share this post

Architecture Weekly #92 - 12th September 2022

www.architecture-weekly.com

Architecture Weekly #92 - 12th September 2022

Oskar Dudycz
Sep 12, 2022
3
Share this post

Architecture Weekly #92 - 12th September 2022

www.architecture-weekly.com

Welcome to the new week!

The loudest news came from the Java community. Lightbend announced that they’re changing the Akka licence from Open Sourced to “Source Available” (whatever that means).

  • Lightbend - Why We Are Changing the License for Akka

  • The Register - Open source biz sick of FOSS community exploitation overhauls software rights

A bit quieter but still significant was the Heroku decision to drop the free tier of their services:

  • Heroku - Heroku’s Next Chapter

That’s yet another example that free lunch is over. I’m co-maintaining a relatively big and popular .NET library, Marten. It allows changing Postgres into document database and event store.

We’re non-paid hobbyists, doing that in our spare time. Also, the core features just work, we’re a mature tool, and there are not a lot of bugs around the existing features. We have plans to deliver bigger features, but they all require time, coordination and effort. Even though we have a lot of external contributors (over 100), the core features are typically delivered by the core team. In that regard, I understand Lightbend's motivation. They have a product that just works, and it’s not easy to get enough money from support.

They’re not the first ones to realise that too late. The brilliant people that made Open Source a widely used approach in the last 20 years growing. They got their families, shifted their priorities, and realised that GitHub stars won't pay their rent. That also impacted me; the birth of my daughter changed my priorities a lot. I still love to code and love to deliver, but I’m not so keen on making new initiatives for free.

Many people got spoiled by the Open Source tooling. They expect to get everything for free. When Duende changed the licence for their IdentityServer (a leading OAuth tool in .NET), the scream arose from many places:

  • “Microsoft, buy them!”

  • “How they dared!”

  • “Where’s the Open Source spirit?!”

People were also complaining that they’ll need to pay “so much” for the “core part of their product” and were asking around for other OSS replacements. See the irony there? In this case “so much” means below the 1 month wage of the developer. And core part means they expect to get the essential part related to security for free labour. Let me repeat that: for the key security part. Where’s the compliance, where’s the common sense?

On the other hand, there’s an Open Source creator ethos. that’s also a general issue with our Open Source community. We, as Open Source, started to do this because we wanted to build something meaningful, share it with others, and sometimes feed our egos. For some of us, the last aspect is the most important. From the survey made by Sean Killeen, the most staggering part for me was that some maintainers don’t want to build a community around them. That’s fine as long as you just want to create. But if you want to get money out of that, even to pay the rent to allow you to do more stuff for free, then you need to build community. You also need to learn how to build a product.

We should not expect help from big players. As Marten, we joined and left .NET Foundation. TLDR was no help, just troubles. Big corporations just using OSS as the income stream. There’s no ethos there. And that’s fine, as long as we understand that. Cloud providers started to benefit from getting money from hosting free, open-source products. They will continue to do that.

What’s the solution for that? Making products that people want to buy to help them solve issues that they don’t want to handle. Building platforms, e.g.:

  • Mongo Atlas,

  • Elastic Cloud,

  • Event Store Cloud.

Is changing license fixing an issue? It’s not. It’s a panic move, but it’s also needed to fix the legal stuff and move forward. Will Lightbend's decision bite them? Highly probable. Will it help them? Time will tell.

Why should you care? Is it yet another OSS drama? It is, but as mentioned earlier: free lunch is over. Check on your project stack. How many OSS products do you use? Do you support their creators anyhow? What will happen if they change their licences? How much will it cost you? Is your business model sustainable enough to survive that?


How do you handle Event Schema migrations inEven Sourcing? That's one of the first questions I hear while explaining #EventSourcing to people. I don't want just to answer "It depends", so I described potential strategy with examples using Marten. Even if you’re not in the .NET stack, I think that this should clear some of the potential confusion:

  • Oskar Dudycz - Event Versioning with Marten

From other links, I recommend especially great talk on tradeoffs and what architecture really means:

  • Stefan Tilkov - "Good Enough" Architecture

More proofs that documentation as code is the go-to approach nowadays:

  • Spotify - Software Visualization — Challenge, Accepted

  • Joel Parker Henderson - Architecture decision record (ADR) examples for software planning, IT leadership, and template documentation

Running Quake on Apple Watch? Impossible? See:

  • MyOwnClone - Quake 1 port to Apple Watch

Check also other links!

Cheers
Oskar

p.s. I invite you to join the paid version of Architecture Weekly. It already contains the exclusive Discord channel for subscribers (and my GitHub sponsors), monthly webinars, etc. It is a vibrant space for knowledge sharing. Don’t wait to be a part of it!

p.s.2. Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, and putting pressure on your local government or companies. You can also support Ukraine by donating, e.g. to Red Cross, the Ukraine humanitarian organisation. You may also consider joining Tech for Ukraine initiative.


Architecture

  • Stefan Tilkov - "Good Enough" Architecture

  • Derek Comartin - Does CAP Theorem apply to Microservices?

  • Poul-Henning Kamp - You're Doing It Wrong. Think you've mastered the art of server performance? Think again.

  • Spotify - Software Visualization — Challenge, Accepted

  • Joel Parker Henderson - Architecture decision record (ADR) examples for software planning, IT leadership, and template documentation

  • Kevlin Henney - Clean Coders Hate What Happens to Your Code When You Use These Enterprise Programming Tricks

  • Anton Stöckl - Event Sourcing explained

Distributed Systems

  • Eliran Wolf - How we cut data costs by more than 60% by leveraging a multi-cloud strategy

  • Ryan Rodemoyer - What I Wish Someone Would Have Told Me About Using Rabbitmq Before It Was Too Late

DevOps

  • Sumo Logic - OpenTelemetry Workshop

Database

  • Ben Johnson - How the SQLite Virtual Machine Works

Testing

  • NBomber - Enterprise Examples

AI

  • Willem Meints - How to deploy Airflow with Kubernetes and GIT

Functional Programming

  • Alexis King - Hackett: a metaprogrammable Haskell

.NET

  • Oskar Dudycz - Event Versioning with Marten

  • Jeremy D. Miller - Developing Error Handling Strategies for Asynchronous Messaging

  • Oleg Kyrylchuk - Twelve C# 11 Features

  • Khalid Abuhakmeh - Playwright tests with XUnit

  • David Fowler - A sample plugin model for ASP.NET Core applications

NodeJS

  • S(n) - Mailing - Build, test, send emails with React

  • ESLint - ESLint's new config system, Part 1: Background

Rust

  • Async Raft - An implementation of the Raft distributed consensus protocol using the Tokio framework

Coding Life

  • Gunnar Morling - The Code Review Pyramid

  • MTDV - Every Programmer Should Know - A collection of (mostly) technical things every software developer should know about

Industry

  • Lightbend - Why We Are Changing the License for Akka

  • The Register - Open source biz sick of FOSS community exploitation overhauls software rights

  • Heroku - Heroku’s Next Chapter

Security

  • Visual Studio Magazine - Electron-Based App Vulnerabilities Hit VS Code, Microsoft Teams

Trivia

  • Alex Soojung-Kim Pang - Winston Churchill on “painting as a pastime”

  • MyOwnClone - Quake 1 port to Apple Watch

Architecture Weekly is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.

Share this post

Architecture Weekly #92 - 12th September 2022

www.architecture-weekly.com
Comments
TopNewCommunity

No posts

Ready for more?

© 2023 Oskar Dudycz
Privacy ∙ Terms ∙ Collection notice
Start WritingGet the app
Substack is the home for great writing