Back in 2022, surrounded by colleagues who were infused with "open source scepticism", I wrote "Open Source in Enterprise Environments - Where Are We Now and What Is Our Way Forward?" https://nxdomain.no/~peter/opensource_enterprise_notes.html as an explainer.

Hopefully a useful thing for others too, with links therein #freesofware #opensource #enterprise #openbsd #freebsd #netbsd #linux

That grumpy BSD guy: Open Source in Enterprise Environments - Where Are We Now and What Is Our Way Forward?

Since the original came out, I have made updates here and there, and added references to some newer material.

You could see "EU CRA: It's Later Than You Think, Time to Engineer Up!" https://nxdomain.no/~peter/eu_cra_its_later_than_you_think_time_to_engineer_up.html as a further development in response to the real world (or at least the EU parts) moving forward.

EU CRA: It's Later Than You Think, Time to Engineer Up!

@pitrh

One important aspect /all/ people overlook, including you:

Aircraft carriers are /simple/ compared to software.

Building a modern air-craft carrier takes merely one million different stock-numbers.

/bin/bash is 200k lines

Last I looked SystemD was north of 1M

All of FreeBSD is 26 million lines.

Linux kernel alone is 36 million lines.

Ohh, and also this old rule of thumb:

"Well written code typically has one bug for every thousand lines."

@phloggen I'll quote you on that, if you don't mind me doing so, in upcoming presentations (and likely followup articles) :)

@pitrh

Quote away, people need to understand it.

PS: I'm pretty sure I also told you in a talk in Bergen some years ago, with nice illustrative pictures :-)

@phloggen @pitrh
Is there more code in the north, or is there more code in the south?
@phloggen @pitrh By this metric, the Linux kernel is roughly four orders of magnitude simpler, since building it took only ~90-95 different stock numbers.

@henryk @pitrh

Yeah, very funny.

(By that same metric the aircraft carrier is only made from around 90 parts too, and half of those only because there was no way to get rid of them.)

But the point here is not deconstructionism but complexity: How many individual items do you have to keep track of, and position just right, to complete your project.

@phloggen @pitrh that seems like the least useful comparison ever.

All rivets will have the same stock number, all blank lines between functions are counted separately.

I assume there's at least one computer running one piece of software on an aircraft carrier in a critical role. It probably doesn't even have a stock number separate from whatever it's running on.

Seriously, this comparison is amazing in its ridiculousness. Well trolled.

@gabe @pitrh

I can see how you might think so, if the only big projects you have been involved in were software.

To people who have done big projects outside software, 1 million SKU's is a LOT - because it is.

Very few people have tried both, so almost nobody realizes how many orders of magnitude software is more complex than anything else.

@phloggen @pitrh the comparison is not ridiculous because an aircraft carrier is not complex. The comparison is ridiculous because "number of SKUs" is a pointless measure, because LOC is a pointless measure, and finally the carrier includes a lot of software so by definition it must be more complex than the software alone would be.

@gabe @pitrh

You should tell that to people who actually build air craft carriers, but more importantly, you should listen to them.

@phloggen @pitrh I'm not sure whether you're trying to tell me that building an aircraft carrier is hard, actually, which is my point exactly, or that building software is harder, actually, which I claim is a ridiculous comparison not only because the aircraft carrier includes software.

@gabe @pitrh

Then just move on with your day and forget about it ?