The Changelog: Software Development, Open Source - Oracle smacks IBM over RHEL (News)
Episode Date: July 10, 2023Oracle smacks IBM for their handling of RHEL, the folks at The Dam share a Slack clone in 5 lines of Bash, Justin Jaffray writes up 13 ways to think about joins, llama.cpp learns web chat thanks to a ...contribution by Tobi Lütke & Meta is willing to pay 3 engineers to remove Python's GIL.
Transcript
Discussion (0)
What up nerds, I'm Jared and this is Changelog News for the week of Monday, July 10th, 2023.
Did you see Mr. Beast gave away a brand new Tesla to celebrate the launch of Meta's Threads app?
Dirty!
They see me rollin', they hatin', patrollin and trying to get me ridin' dirty.
Troll of the year.
Okay, let's get into the news.
Back on June 21st, IBM's Red Hat announced that they would stop publishing public sources of Red Hat Enterprise Linux
because, in summary, they don't want others repackaging it for their own profit.
This change was met with community backlash, no surprise.
So on the 26th, Red Hat VP Mike McGrath wrote up an explainer that didn't seem to help things much.
Enter Oracle?
I'd ask you to sit down, but you're not going to anyway.
And don't worry about the vase.
Heads up, this quote has another quote nested in there.
It's like when you have a for loop with an I variable
and then another one with a J on the inside.
Bear with me.
Quote, why did IBM make this change?
Well, if you read IBM's blog
attempting to explain its rationale,
it boils down to this.
Another quote, at Red Hat,
thousands of people spend their time writing code
to enable new features, fixing bugs,
integrating different packages, and then supporting that work for a long time.
We have to pay the people to do that work.
End the inside quote.
Outside quote.
Interesting.
IBM doesn't want to continue publicly releasing Red Hat Enterprise Linux source code because it has to pay its engineers?
That seems odd, given that Red Hat, as a successful independent open source company,
chose to publicly release its source and pay its engineers for many years before IBM acquired it in 2019 for $34 billion.
End quote.
Them's is fighting words.
Put them up! Put them up!
But they're just getting started.
Quote, Oracle makes the following promise. As long as Oracle distributes Linux,
Oracle will make the binaries and source code for that distribution
publicly and freely available.
Furthermore, Oracle welcomes downstream distributions of every kind,
community and commercial.
We are happy to work with distributors to ease that process,
work together on the content of Oracle Linux,
and ensure Oracle software products are certified on your distribution.
By the way, if you are a Linux developer who disagrees with IBM's actions
and you believe in Linux freedom the way we do, we are hiring.
End quote.
This is brilliant positioning by Oracle,
and that's a sentence I never thought I'd say.
You did not just say that.
It's not over yet.
Here's one last body blow before this round's bell rings.
Finish him!
Quote, finally, to IBM, here's a big idea for you.
You say that you don't want to pay all those Red Hat Enterprise Linux developers.
Here's how you can save money.
Just pull from us.
Become a downstream distributor of Oracle Linux.
We will happily take on the burden.
Did you know that Mattermost, the open source
chat app, contains half a million lines of Go and again, half a million lines of TypeScript?
That's just for the server. Now imagine how big Slack's code base is. Simple Unix chat,
on the other hand, is small enough that I can read its core loop right here on this podcast.
Behold, the five lines of Bash that do as much as half a million lines ago.
While user bin true do...
No, I'm not actually going to do that.
Check the newsletter for the code,
and the linked article has an awesome breakdown of how SUC does so much with so little.
Justin Jaffray rounds up and explains the many ways you can conceptualize
a relational inner join. A join is a lookup. A join is a flat map. A join is a path through a graph.
A join is a ring product. And nine more. He lists 13 different ways, which is kind of incredible.
Justin also provides nice explainers with diagrams that really help, so I won't read any of the
conceptual models here. But now you know where to go if you are struggling with how to think about joins.
A merged pull request from Shopify founder and CEO Tobias Lutke that adds a web chat server to
llama.cpp is super cool for a bunch of reasons. One, the fact that Toby still codes and contributes
to open source at this stage in his career.
Nice!
Two, the overall quality of the content, the feedback, and the collaboration around the PR, all on public display.
Sweet!
Three, the feature itself, which now everyone in the world with a networked computer can benefit from.
Funky!
Dope! it from. Do yourself a favor and check out the pull request, the comments, the code,
and the feature, which is now embedded right there in llama.cpb. It is now time for some
sponsored news. Get ready because Speakeasy, the API infrastructure company, is officially
launching. And this week they're showing off some of the exciting new features they've rolled out
to devs all around the world.
Quote, give your API the DevX it deserves.
Speakeasy managed SDKs are idiomatic, type safe, and readable.
In other words, they are crafted by developers for developers.
End quote.
Learn how Speakeasy manages the full SDK lifecycle.
How they validate open API docs.
How you should go about creating SDKs,
and catch an awesome demo of using Speakeasy to build a Terraform provider from your OpenAPI spec.
Check out all the goodies of Speakeasy's launch week using the link in your show notes and chapter data. Thanks once again to Speakeasy for sponsoring this episode of Changelog News.
You may have heard Python Steering Council member Brett Cannon discuss removing the gill with us on Changelog and Friends a few weeks back.
Turns out there is a lengthy discussion going on all about that that got very interesting a few days ago.
Guido van Rossum had stated, quote, So, Meta employee Carl Meyer replied, and we are committed to working collaboratively to improve Python for everyone. If PEP 703 is accepted,
Meta can commit to support in the form of three engineer years
between the acceptance of PEP 703 and the end of 2025
to collaborate with the core dev team
on landing the PEP 703 implementation smoothly in CPython
and on ongoing improvements to the compatibility and performance of Nogil CPython.
End quote.
There's a big if in that offer
because PEP 703 hasn't been accepted yet
by the steering council.
Big decision.
But if they approve it, it's great knowing
there will be dedicated engineers
making the effort happen.
That is the news for now,
but it's time once again to thank
our newest Changelog++ members.
Big thanks to Peter O, Adam S., Trevor S., Piotr G., Nick R., Mikhail H., and Adam B.
For supporting our work with your hard-earned cash.
Thank you.
If ChangeLog++ is new to you, that's our membership program that you can join to ditch the ads,
get closer to the metal with bonus content, directly support our work,
and get shout-outs like the ones you just heard.
Check it out at changelog.com slash plus plus.
Seriously, do it.
On Wednesday's interview show,
we're sitting down with Jake Zimmerman
from the Sorbet team at Stripe
to hear all about the fast, powerful type checker
designed for Ruby and why Jake believes
types will win in the end.
Have a great week.
Share Changelog with your friends
if you dig it, and we'll talk to you
again real soon.