Portable software is more complex than you think
sporks.space
Portable software is more complex than you think
1–10 of 25 posts
Re: Portable software is more complex than you think
#2They primarily develop OpenSSH purely for OpenBSD, using all (including non-portable) facilities of OpenBSD, including crypto and whatnot.
Then, a separate team manages the "portable" version of OpenSSH, which add stubs and does everything else needed to make OpenSSH compile on as many operating systems as possible.
I'm aware that OpenSSH is not the only project using that approach to portability. Nevertheless, I think it is fair to say this is an unusual approach used only on a minority of projects.
I was always puzzled on why they are doing this. This always struck me to be "just" a side effect of project politics and historically grown project structures.
But over the years I started to see some interesting benefits of that approach as well. I'm still not convinced by this model, but I have to admit that, more generally speaking, the OpenBSD project does many things against the mainstream, but quite often they turn to be right.
Re: Portable software is more complex than you think
#3Re: Portable software is more complex than you think
#4But for my money, where portability really gets hard is when you try to make something work across platforms where the platform vendors are actively, strategically dedicated to sabotaging portability.
Software engineers who want their skills to be as valuable as possible will forever be at odds with platform vendors who do everything to lock them in.
Re: Portable software is more complex than you think
#5Re: Portable software is more complex than you think
#6Portability of software is a language problem. Some languages make it extremely easy. Others, like C and Go, make it difficult to be correct across all platforms.
Re: Portable software is more complex than you think
#7It took a while for me to fully appreciate the OpenSSH approach to portability: They primarily develop OpenSSH purely for OpenBSD, using all (including non-portable) facilities of OpenBSD, including crypto and whatnot. Then, a separate team manages the "portable" version of OpenSSH, which add stubs and does everything else needed to make OpenSSH compile on as many operating systems as possible. I'm aware that OpenSSH…
Re: Portable software is more complex than you think
#8It took a while for me to fully appreciate the OpenSSH approach to portability: They primarily develop OpenSSH purely for OpenBSD, using all (including non-portable) facilities of OpenBSD, including crypto and whatnot. Then, a separate team manages the "portable" version of OpenSSH, which add stubs and does everything else needed to make OpenSSH compile on as many operating systems as possible. I'm aware that OpenSSH…
Re: Portable software is more complex than you think
#9Portability of software is a language problem. Some languages make it extremely easy. Others, like C and Go, make it difficult to be correct across all platforms.
I think this is one of those statements that sounds good at face value but doesn't stand up to scrutiny.
Re: Portable software is more complex than you think
#10Portability of software is a language problem. Some languages make it extremely easy. Others, like C and Go, make it difficult to be correct across all platforms.