53 comments

[ 0.25 ms ] story [ 3.6 ms ] thread
This AI policy is so utterly backwards and stupid I don't even have a nicer way of saying it.
Interesting response in light of your previous post, https://news.ycombinator.com/item?id=48197191

You complain an the shit future we're building. Someone says fuck you to your dystopia and starts explicitly weeding it out, and you call it backwards.

I see why you see it as contradiction. I guess we've all been through a lot of contradictory feelings these past one or two years.

I just feel like eliminating LLM output is (1) not feasible (2) not the right solution to the problem.

As far as I can tell, either LLMs naturally fail to be viable, we collectively decide to put a stop to it, or we end up in one of several dystopias.

My bet is that we end up building an awful outcome for nearly humans, which means that trying to put a stop to it is a duty, even if it's likely to fail. I feel the same about climate change -- it's likely that we're going to fail to keep much of earth habitable, but it's not morally acceptable to stop trying.

Tbh it makes sense if you want a truly LLM-output free project. I can respect it.
Just vibecode your own OS no?

Why do vihecoders still care of other people's software?

When I look at the web page, I ask myself these questions,

* Is it a goal for AlpineBSD to run on native hardware, or is it intended for containers (a major use-case for Alpine itself)?

* For users who want to avoid AI-generated code, why run this rather than netbsd itself?

The mission is unclear. The team could address this by stating goals and milestones on the front page.

Alpine is really nice host OS for daily drive. Simple and small. Given that Drew is leading it my guess would be it is meant for native hardware.

> For users who want to avoid AI-generated code, why run this rather than netbsd itself?

Alpine userland is nice.

> Alpine userland is nice

NetBSD userland is not?

> * For users who want to avoid AI-generated code, why run this rather than netbsd itself?

To start a community.

The whole "as little AI code as possible" is tribalism.

I want software that is brilliant and well audited, no matter who or what produced it.

No AI guarantees nothing, especially if it's a C codebase like netbsd, why not also join the rust tribe then?

What makes their position tribialism and not yours?
I think rational tool use doesn't have to be tribalist. Right tool for the right job.

It becomes tribalism when there is an enemy. Us and them, mac vs pc, AI vs Humans, the left vs the right.

Neat project. One thing I don't see covered: is everything going to be statically linked like it is on Alpine Linux? Is statically linking libc advisable on a NetBSD kernel? I know (unlike Linux) on FreeBSD the kernel ABI can change every major release, but I'm not familiar with NetBSD's approach.
NetBSD retains the old ABI as well if anything changes to a syscall.
Alpine Linux is not statically linked. It provides a musl environment which makes it easy to statically link your own builds, but software shipped as part of the distro is usually dynamically linked.

  $ podman run -it --rm alpine

  / # apk add cmd:ldd
  / # ldd $(which ash)
          /lib/ld-musl-x86_64.so.1 (0x7f4cb4d1d000)
          libc.musl-x86_64.so.1 => /lib/ld-musl-x86_64.so.1 (0x7f4cb4d1d000)

  / # apk add cmd:python3
  / # ldd $(which python3)
          /lib/ld-musl-x86_64.so.1 (0x7fd630cab000)
          libpython3.12.so.1.0 => /usr/lib/libpython3.12.so.1.0 (0x7fd63069a000)
          libc.musl-x86_64.so.1 => /lib/ld-musl-x86_64.so.1 (0x7fd630cab000)
Woah, TIL! My Alpine Linux world view has just been shattered. Static linking was frankly *the* selling point of Alpine Linux for me and it turns out I was just plain wrong.
Alpine selling point was that it's small, which was selling people only for people that either don't understand docker layers or can't make Dockerfile correctly.

Alpine’s connection to static linking is mainly that it provides a convenient musl build environment. A fully static binary can run in `FROM scratch`.

> A fully static binary can run in `FROM scratch`.

Not just `FROM scratch` but also in other contexts. For example:

I wrote my own password manager which lives on a USB drive. Since I compiled a static binary, I can execute it on any Linux machine.

Running static binaries in FreeBSD's Linuxulator is easier. The Linuxulator is a separate set of syscalls that get used when you attempt to run a Linux binary, so a static binary will "just work" for the most part (unless the program needs special filesystems like /proc or /sys). A dynamically linked binary means I need to make sure I have any necessary Linux libraries in the proper location and the Linuxulator's `ld` working properly. Updates to these libraries can then make something that used to work, suddenly stop working. Certainly not an insurmountable task, but there's so many fewer places where things can break when you're just running a static binary.

Great website, great AI policy. The two are probably related.
Ok so it's "AI free". But why? It doesn't justify the decision but just assumes you will understand the reasoning. I have to say: I don't. For example they are pinning binutils, gcc, and gdb to the last version they know does not have LLM generated code. I assume this means they will not be able to accept any upstream patches, but instead have to take over maintenance of those packages themselves for the forseeable future, effectively meaning development on those will stop for the purposes of AlpineBSD. Seems stupid, to me.
Interesting to watch the rapid fragmentation of FOSS into “hard” anti-AI, AI-neutral-to-discouraged, AI-supplemented, and AI-forward camps, akin to the early GPL vs BSD wars. Suddenly I don’t see as many complaints about licensing, and some of the die-hard GPL stans are silently dropping that position as Linux adopts AI-supplemented development.

On one hand it’s unfortunate, because it hypothetically dilutes developer efforts, but on the other hand the most extreme groups already had incompatible personalities and weren’t working well together. This self-sorting may actually result in a better cadence and less energy wasted on arguing.

> akin to the early GPL vs BSD wars

It's more akin to copy-pasting from stack-overflow versus people writing code, or code written by engineers vs code written by outsourced "code monkey" farms/contractors/consultants?

It's not about freedom, which is what GPL vs BSD is fundamentally about.

I wasn’t referring to the specifics of the disagreement, I meant the level of vitriol.
Most of what you use is built by "code monkeys" and is on the way to being vibe coded.
Projects that decided to welcome AI of course don't care of its possible licensing problems.

Linux, for one, for what I can tell never cared too much about the GPL.

It’s possible that they have different interpretations of how generated code affects licensing, but I think in general everyone is now abandoning old positions on licensing. It’s an exciting time for those of us who dislike copyright, something is bound to shift soon.

Whatever its stance towards the GPL, Linux has become the default home of GPL land with the exception of the few dedicated souls still working on Hurd. (I hope they keep making steady progress.)

The prospect of being sued because the LLM outputted training code you're not allowed to use, or to relicense, is exciting?

Or to be forced to change license to large portions of your project?

With Linux I meant the Linux kernel

How many cases of an LLM outputting training code have you heard of? let alone training code that you are not allowed to use or relicense?

Why are proprietary software developers entirely unbothered by this?

> Linux, for one, for what I can tell never cared too much about the GPL.

The reason that Linux actually succeeded where BSD didn't is because of the GPL. MIT licensed stuff(if it's any good) just ends up being incorporated into someone else's commercial product, with no contributions.

> no contributions

That's just obviously not true. Check out the commit history on FreeBSD and look at all the contributions from Netflix. Off the top of my head they contributed kTLS and asynchronous sendfile which made it such that a single syscall could send the full contents of a file over a socket even with TLS.

Grepping through the git logs for the "Sponsored by" lines shows these top results:

  15925 The FreeBSD Foundation
   3738 Netflix
   2084 EMC / Isilon Storage Division
   1922 Rubicon Communications, LLC ("Netgate")
   1733 Dell EMC Isilon
   1550 Chelsio Communications
   1446 DARPA, AFRL
   1421 Mellanox Technologies
   1262 Klara, Inc.
    784 Arm Ltd
    729 iXsystems, Inc.
    707 Solarflare Communications, Inc.
    552 Netflix, Inc.
    477 Beckhoff Automation GmbH & Co. KG
    473 Microsoft
    421 Juniper Networks, Inc.
    411 DARPA, NAI Labs
    386 Stormshield
    385 Microsoft OSTC
    384 DARPA
    375 NetApp, Inc.
    358 Innovate UK
    355 DARPA, Network Associates Laboratories
    317 Yandex LLC
    299 NVIDIA Networking
One company that isn't in that list but shows up as an author is Datto which gave us native encryption on ZFS.
Linux success has nothing to do with GPL and everything to do with a lawsuit and timing. Linus himself said if it wasn't for the lawsuit Linux probably would not exist.
Also why did you mention MIT licensed, it is obviously BSD licensed.
BSD was tied up in lawsuits for years, giving Linux a head start.
(comment deleted)
> NOTICE: The NetBSD kernel has spotty hardware support, much less so than Linux. You cannot necessarily expect AlpineBSD to work on any random computer you have lying around.

Huh. I feel like the author has their BSDs mixed up! NetBSD's main claim to fame is that it runs on practically everything, even lots of platforms no longer supported by mainstream Linux distributions. The page links to the laptop wiki, which is about AMD64 laptops and their finicky peripherals and driver support. A better place to start for hardware support is https://wiki.netbsd.org/ports/.

"runs on practically everything" I take to mean the main CPU and general machine architecture, not every possible peripheral driver one might need.
That was true 20 years ago, but not really today. Today's hardware is much more complicated and I wouldn't expect NetBSD to work well on anything but the most basic hardware.
I can respect this. Looks like AI auditing code is fine and I can't imagine why auditing would ever be a con. As for the lack of reasons given I guess they leave that for the users which seems completely fine to me. If you are chimping out over not getting a justification then you should probably do some soul-searching.
>A small amount of essential software is pinned to the last version which is not tainted. We pin software as a last resort, preferring to find alternatives or move the package into the tainted repository. The current list of pinned software in “base” and “main” is:

>binutils gcc gdb libffi perl xorriso

Good luck replacing those ...

> NetBSD kernel has spotty hardware support

Oh, how the mighty have fallen. Still remember the times when the meme was that the NetBSD was running on absolutely anything.

I don't think NetBSD has ever had a reputation for what they mean by "spotty hardware support" here, which is apparently uh... power management on laptops. Their links take you here: https://wiki.netbsd.org/laptops/
yes! "of course it runs netbsd" just checked, it's gone on their website. probably gone for 10 yrs alread, that's roughly when i checked last
I so wish Gentoo/BSD still was a thing.
One thing I'm cautiously watching is NixBSD. With nix you can trivially compile all your software from source and modify it (both of which I do on the Linux-based NixOS). So I think that would cover the main selling point of Gentoo, though naturally it adds the Nix layer that you may either love or hate. The only reason I haven't dived into it yet is my FreeBSD machines are all foundational parts of my infrastructure so I don't want to take a gamble on such a young project. So for now I just load it up into a virtual machine and poke at it longingly from time to time.

https://github.com/nix-community/nixbsd

while sitting on a cab a few weeks ago, i was watching other large trucks passing through, and i was wondering about what it would be like if these trucks were entirely made by bots, would travelling on roads feel less safer? when you know that the existing old stuff is made by humans and most humans who are good at their work genuinely put in effort and care in their craft, can we say the same about work generated by clankers? Really got me wondering, still split on if all this AI hype will be a net good in the long run. Sure you're more productive and end up spitting out more code, as long as its non critical SaaS stuff, who cares if things go wrong right? for crucial, mission critical stuff, relying only on AI autonomously, especially when they are still prone to make errors, seems like a very dystopian reality. Just today claude code hallucinated the first name of a person because in the username the first name was one letter.
> AlpineBSD is not a fork of Alpine Linux, its package collection is original (though many packages are ultimately based on aports).

> Alpine Linux uses the OpenRC init system. Currently, AlpineBSD uses s6 and we intend to add OpenRC as an alternative.

I'm not sure where exactly the line should be, but that feels like it's not an Alpine* then. Like, if you're starting your package collection separately and use a different service manager, you're further from Alpine Linux than Adélie Linux is.

I don't like it when unrelated projects squat on the name of some existing project. Trademark isn't just a commercially useful thing, it helps users understand what they're getting and who they're getting it from.

It's shitty for a new project to ride on the coattails of a trusted project with years of reputation. It misleads and confuses folks.

Take inspiration anywhere you like, borrow the code all you like, but don't steal the damned name.

Back in my day, we didn't have artificial intelligence. We had actual ignorance. And we liked it that way.
These types of projects tend to have a flash of appeal, especially to people used to Linux, because it lessens one degree of unfamiliarity, but they don't seem to stick around for to me obvious reasons.

It's hard to get involved with something like a BSD project because you have to learn a lot and put in enough effort to get committer rights. And then if you want to move the needle you have to do even more work and build consensus without getting overly emotional when people disagree with you. But it is the path I would recommend to have a lasting impact, and I am speaking from experience as a FreeBSD and NetBSD src committer.

Also, pkgsrc is one of the strong points of NetBSD, coupled with pbulk and pkgin. Wrapping that all up in an opinionated installation (like Omarchy recently did to Arch) would be a more survivable effort. But as my friend Larry McVoy would say, it means you don't always get to drive the big red fire truck by yourself.

Regardless of how you feel about using LLMs or using products that are developed with LLMs, it is a good idea to have an ecosystem of open source projects with differing levels of LLM involvement, including pristine software written entirely by humans.

The pragmatic argument for hard no-LLM projects: if models are to be useful, they need good input. Hand-written software that has been carefully audited is free from the kinds of feedback errors that will eventually weaken LLM code generation. Otherwise, a bad pattern gets copied. In the next generation, this bad pattern is seen a bit more often as stochastic models converge on it and more open source code adopts it. This is reinforced in the next generation and it becomes a common pattern. Then, in the next generation, this pattern is seen all over. This could be inert "non-coding" DNA like weird naming conventions or pointless comments. Or, it could be just bad edge cases that become commonly exploitable.