site banner

Culture War Roundup for the week of February 17, 2025

This weekly roundup thread is intended for all culture war posts. 'Culture war' is vaguely defined, but it basically means controversial issues that fall along set tribal lines. Arguments over culture war issues generate a lot of heat and little light, and few deeply entrenched people ever change their minds. This thread is for voicing opinions and analyzing the state of the discussion while trying to optimize for light over heat.

Optimistically, we think that engaging with people you disagree with is worth your time, and so is being nice! Pessimistically, there are many dynamics that can lead discussions on Culture War topics to become unproductive. There's a human tendency to divide along tribal lines, praising your ingroup and vilifying your outgroup - and if you think you find it easy to criticize your ingroup, then it may be that your outgroup is not who you think it is. Extremists with opposing positions can feed off each other, highlighting each other's worst points to justify their own angry rhetoric, which becomes in turn a new example of bad behavior for the other side to highlight.

We would like to avoid these negative dynamics. Accordingly, we ask that you do not use this thread for waging the Culture War. Examples of waging the Culture War:

  • Shaming.

  • Attempting to 'build consensus' or enforce ideological conformity.

  • Making sweeping generalizations to vilify a group you dislike.

  • Recruiting for a cause.

  • Posting links that could be summarized as 'Boo outgroup!' Basically, if your content is 'Can you believe what Those People did this week?' then you should either refrain from posting, or do some very patient work to contextualize and/or steel-man the relevant viewpoint.

In general, you should argue to understand, not to win. This thread is not territory to be claimed by one group or another; indeed, the aim is to have many different viewpoints represented here. Thus, we also ask that you follow some guidelines:

  • Speak plainly. Avoid sarcasm and mockery. When disagreeing with someone, state your objections explicitly.

  • Be as precise and charitable as you can. Don't paraphrase unflatteringly.

  • Don't imply that someone said something they did not say, even if you think it follows from what they said.

  • Write like everyone is reading and you want them to be included in the discussion.

On an ad hoc basis, the mods will try to compile a list of the best posts/comments from the previous week, posted in Quality Contribution threads and archived at /r/TheThread. You may nominate a comment for this list by clicking on 'report' at the bottom of the post and typing 'Actually a quality contribution' as the report reason.

4
Jump in the discussion.

No email address required.

What we learned from the last 40 years is that proprietary wins.

Consumers migrated from closed source Windows desktops to closed source iOS phones.

Yes, a surprisingly large percentage of the world's infrastructure runs on Linux and other open source platforms, and that open source infrastructure is used to run... proprietary, closed source, walled garden web apps (I don't think it's an accident that the most successful open source projects are mainly infrastructure scaffolding and tools for other software developers, rather than products for non-technical users).

Much like how the credentialed expert will usually beat the autodidact, a group of highly organized professionals who are motivated by a big paycheck will usually beat a group of loosely organized volunteers who are motivated by passion for the project.

I'm not sure I agree with "proprietary wins" everywhere. It certainly wins in the short term in lots of markets. Anything sold directly to lay users is often dominated by proprietary offerings precisely because of those paychecks: games, "apps", and such. But I can think of a number of markets where "loosely organized volunteers" have mostly-gradually won because the cost of copying software is functionally zero.

Four decades ago you were buying, for any computer you bought, the operating system (even if bundled), a BASIC interpreter, maybe a compiler, and maybe even briefly a TCP/IP stack and a web browser. These days, the open source model has wholesale swallowed some of these markets. We're down to two modern web rendering engine cores: Firefox and Chrome, everything else nontrivial is bolted onto those engines. There are, last I counted, four commonly used compilers for software: msvc, icc, clang, gcc, of which the last two are probably the vast majority of the market and open source. Most devices that aren't Windows PCs (shrinking market) or Apple are running on a Linux kernel, and those that aren't are probably some BSD (or purely embedded). I can't imagine paying to use a programming language these days and I'm pretty sure Matlab and such are losing ground to Python. There also isn't a shortage of academics working with non-proprietary tools and publishing cutting edge, if not generally user friendly, stuff.

IMO the lesson I take from this is that the non-proprietary model can win in the short term, and stay relevant for a long time, but it at least seems to me that even entrenched, expensive professional tools are, slowly, losing ground to free (as in beer, which is coincidentally often as in freedom) alternatives on a more generational time scale: Matlab to Python, with KiCad and Blender as examples of tools I expect to (mostly?) displace commercial alternatives in the next couple decades. As software expectations get more complex, the make-buy calculation changes when "buy" includes leveraging existing non-proprietary offerings. I don't know if I'd completely stan RMS here too, since there are commercial source-available packages (Unreal Engine, for example) that somewhat have a foot in both camps.

Want to run those numbers again and look at Android sales maybe?

I know the argument, I read Gates' letter. It's bullshit. Sure you can extract some value for a while, until you eventually get commodified enough that OSS eats your lunch, but if your goal is to actually make good software that serves the user's needs, you can't go proprietary. Because some authority always comes to breathe down your neck and force you to prevent the user from doing what they disapprove of.

The large majority of the cryptography that runs your daily life would not be possible if we ran things like IBM originally did. And by God there's a lot of money sloshing around making those advancements.

You got a point that it's easier to sell end users a labeled product. But AI ain't that. It's infrastructure.

You want AI models that are trojan horses against you, be my guest. I won't run that shit. And neither will a lot of people that are serious about information security. Maybe it'll take a few disasters before they realize, as we are apparently too dumb to learn this lesson the first time around, but they will eventually.

Android is weird.

The actual open-source parts of Android barely, if at all, work as an actual phone. Sure, it's running Linux under the covers so from that perspective it's open-source. Android builds on that with a very very bare UI and some of the plumbing. The thing is, any phone that is actually sold is running on not just the stock Android code, but an absolutely massive collection of proprietary code to deal with everything that makes the devices useful. Things like an app store, maps, messaging, running the physical phone hardware, making it pretty and usable.

I used to work at Amazon in their App Store. Amazon, with their Kindle tablets and the ill-conceived Fire Phone, run Android. But they forked off the open-source version because they didn't want to pay Google the licensing. Literally everything had to be reimplemented to get a device that works in any way. All of that is, of course, proprietary.

Of course, Amazon's effort to not have the licensing costs came with an absolute mountain of work. A building full of people doing all the custom code to get Android to something that is usable. Everything from a new app store, maps, push notifications, payment processing, the skins, everything. Ok, depending on the era, we either filled a building or a large chunk of one depending on which building we resided at. The hardware and base OS was handled by another group, Lab126, down in the Bay Area. And to top it off, since there's another app store, you have to get developers to submit their apps to that as well -- which was hard.

The tl;dr is that Android is the stone soup of OSS. It "works," but not in a way that is useful to end users.

I'm curious if you have any thoughts on what Amazon would have based their design on, if not Android? Yes much of it's generally-accepted functionality isn't open source -- I've seen Google claim this makes updates, including security updates, easier without relying on OEMs, which sadly makes sense, but also helps their moat.

Even if you chose something else, I doubt "write an OS from scratch" was in the cards, and I assume you'd end up with Linux or BSD as the base, with a very slight chance of some commercial embedded platform.

I'm far from where those decision-makers worked so take this with the appropriate-sized grain of salt.

Amazon, like most companies, is a profit-maximizing entity. The thing that separates them from most other companies is the types of decisions that people are allowed to make. The leadership principles they have, as much as I made fun of them while I was there, truly are a driving force on the inside.

Here's what I'm figuring happened. I have zero knowledge that it happened this way, but it tracks based on my time there. (seven years)

  • We already have the Kindle line of e-readers and it's driving a lot of purchases of content, except that content is solely limited to books -- purely black & white books.
  • As Amazon, we already have things like Amazon Video, Comixology (the comic book distributor we bought), Amazon Music. All sorts of things.
  • We need to have another platform to make money on that. Let's make something in a similar form factor to an iPad.
  • It needs to run things. We can't just make something that solely consumes only Amazon content because that's not a compelling enough product. The only other viable avenue is Android, which already has some middling adoption for the tablet market.
  • If we ship the Android that people expect, we need to pay Google (realistically a competitor in many ways) money for ever unit sold. Not only that we lose control over the platform since the Google Play Store pushes products that compete with our own. The economics of the razor blade model don't work if you don't lock in your customers to your brand of razor blades.
  • The licensing of Android insists that it's the Google way or the highway. You can't pick and choose what Google things you want -- it's all or nothing.
  • Hey, we're Amazon -- we have an endless supply of really good programmers. We can do this ourselves.

So, to have any hope of getting third-party apps on a startup platform, you only had Android to choose from. The thing is, we were hounding the third-party publishers to even engage with us. Even though we're one of the biggest companies in the world, and we're selling a large fraction of the Android tablets out there, no one even cared. Even if we could get a publisher to put something in our app store, they would ignore it and it would become wildly out of date typically.

And that's with Android. The publishing process was typically upload your APK and press a few buttons. And it was like pulling teeth to get that done.

I think even Amazon realized that, despite their size, asking devs to make new apps was a bridge too far.

Could Amazon have just stuck with a base Linux distribution and built something from that. Yes. Easily. Arguably easier than making an Android clone in many ways. Yes, it's "Android," but from so much of the public Play Store APIs needed to be reverse engineered and reimplemented.

And I'm 100% sure they would have used Linux. The institutional knowledge of Linux in there is astonishing -- especially when you start engaging the AWS folks.

I'll happily grant that Google has a...peculiar way of doing OSS (a peculiar way of doing any sort of project really). But the argument still stands. If they hadn't opened it up at least as much as it is, they wouldn't have been able to cut the ground under Apple's foot and capture most of the market.

Certainly. I'm not arguing that. But the way they've done things is kind of like a Trojan Horse. You get a bunch of stuff, but you also lose nearly all control.

They're giving it away because it drives more revenue to them based on what's required from the licenses. They not only make money with licensing the Google tech, but they get their 30% cut on app sales, and everything else.

They ceded the hardware market, smartly, and kept the money-making parts.

I don't mind people making money.

If people want to jointly make OSS AI models and compete on packaging them up for the consumer that's totally fine by me.

My concern and care for open source software has always been primarily out of the need to avoid computers controlling people rather than people controlling computers.

Now to this example, you are likely going to say that Google's setup affords them a great deal of power, power that they have abused at times. But it is undeniable that they have less control than Apple and that the user's ability to escape their walled garden exists in large part because of those concessions I support and not mere good will.

I have no issue with open-source or making money. In fact I do programming for fun (not just for work) and I'm making and releasing OSS. I use one of the least restrictive licenses for the stuff I make: the MIT license.

Having been close enough to smell the code in question, I have to say that you're underplaying the power that Google has. Amazon is, to my knowledge, the only US company that forked AOSP and has a real product. The main other players are Chinese as they're not allowed to have Google-influence.

The thing with Google is they really do wield the license like a bludgeon. You are generally allowed to add things, and most everyone does, but you're not allowed to remove or replace any of the core functionality they provide. Excluding the edge cases of nerds (like me, if I used Android) rooting the devices, it's pretty locked down. And in many cases rooted devices can't participate in many things -- banking apps, for instance, seem to want to live on non-rooted devices. Many games as well.

Things like alternate app stores exist. You can side-load the Amazon Appstore on any Android -- as long as you turn on developer mode. But it's such a niche case IMO.

So yes, it is more open in an absolute sense. But from a practical standpoint, they have almost as walled a garden as Apple enjoys. That said, around the periphery, they allow fare more customization of your experience. But actual openness in the ways that matter, loading apps, paying for things, etc., they are quite walled off.

I've done all those niche things including dealing with microG, the various cat and mouse games around rooting and the like, so perhaps I'm bad example, but it serves an important purpose in my line of work to have full access down to the firmware so you can build devices that can actually be used around sensitive assets.

People underestimate how widespread those sorts of constraints can be and how influential security considerations can be. Having the option, even if it requires great effort, it not at all the same as not having the option. I've been witness to people buying inferior products on the sole motivation that the supply chain has manufacturers from two different countries instead of one. These things matter.

If AI is poised to be influential, it will be so the most in areas where letting things be handled by a process that can't be audited, reproduced or even done offline is entirely unacceptable. This combined with the general market capture that OSS allows is what motivates my view on the topic.

Weirdly, I think the biggest non-Google winner is OEMs that make widgets that need some UI. I'm thinking of the infotainment systems in cars, thermostats, all of the IoT randomness that's around. It's a lot easier to start with a base that at least has a head start on drawing to a screen and accepting inputs than from base Linux. Even if you start with a Raspberry Pi, you still have a bunch more work to do if you want to not only output bitmaps, but also accept user input.

I'm in basically the same boat as you are. But I'm mostly commenting on the "normal" people using Android.

My stance is that the base OS itself, Linux, is open. AOSP is a pretty thin veneer on top. It's helpful for some OEMs, phone and otherwise.

I totally agree on everything else. Having toyed with the idea of procuring chips, then looking at the lead times of some unique ones... I didn't really go too far on that side other than buying way too many USB jacks that I doubt I'll ever use.

But the last bit is kind of interesting. AI is going to be replacing things that, up until now, humans were uniquely suited for.

I'll use a present project as an example. I'm working on a side project that is heavily reliant on AI. Without getting too far into the weeds, it's a system to allow "smart" replaying of sets of related API calls to enable better testing. I could get 90% of the way to success pretty easily without any AI help. Sure, things like variables would get named "var1," "var2," etc., but it worked. Then there's weirder cases where you need to be able to take some context cues to figure out how to select the right value to use in a replay.

{
  documents: {
    {
       type: ticket
       number: 123456
    },
    ...
  }
}

On a subsequent call, we need to find the ticket number, but it might not be in the same place every time. (The API I'm working with is... meh.) You may have multiple documents and they may not be in the same order (think JSONPath selectors to get the document's number where the type is "ticket").

Now, I can, in lieu of AI, present that to a human to make that decision. The end result is the same. I have the inputs that went to either the AI or the human, and I have the answer provided. In neither case do I have an audit trail of how the answer was arrived at. I would argue that you might be able to get more of an audit trail from the AI because there may be logged "reasoning" ideas used in the process. I know I can't audit what I did to come to the answer other than "it felt right."

My prediction: even in OSS, there will be an increasing reliance on AI -- both in the generation of the code itself, as well as the actual invocation of services from that code.

How much of that success is just being willing to license your product, though? Apple won't let you make a phone that runs iOS at all.

RIM and Microsoft did it too, without success, perhaps too late. It's hard to isolate it as a sole factor.

Like previously stated in this conversation there have been more open failures than Android, Nokia's Symbian, FirefoxOS, etc; but there were also more closed licencing deals that got suffocated.

I'm convinced that whatever openness Android has allowed its success because that was the deliberate strategy that Google employed to woo manufacturers to their platform in an environment that was still competitive at the time.

My point here is that unless there is a moat and one company can figure out a secret sauce that makes their AI better and can't be extracted from the model easily, which doesn't seem likely at this time, we'll see the same sort of competitive environment where the less restrictive open sort of deal thrives.