Hacker News new | past | comments | ask | show | jobs | submit login

I never understood why httpd is included in the base of OpenBSD, by an OS that strips all non-essential code out for sake of security.



Because they used to have Apache in base from 1998 to 2014 (the 5.6 release) and found it frustrating to maintain? Given the developers and what they do with the operating system, I can understand why they would consider having an HTTP server in base something within the scope of the project.

It is an open source project with both commits and discussion happening in the open (tech@ in particular), so the barrier to understanding is reasonably acceptable. At some point it was also debated to move to nginx, but in the end httpd(8) was championed as a natural offshoot from relayd(8) which was already in base.


Small correction, wasn’t nginx in base from 5.1-5.4

https://www.openbsdhandbook.com/services/webserver/nginx/#:~....


You are indeed correct. I recalled that the nginx migration was in progress until around the time of 5.4, but did not remember that it was in base at the time. Thank you for correcting me, it was indeed in tree from 2011 to 2014.


OpenBSD maintained several local patches to nginx, such as chroot [0] by default and reallocarray fixes, but it was rejected by the upstream and too big to maintain locally.

OpenBSD httpd would probably have never existed if nginx upstream reacted differently.

https://www.openbsd.org/papers/httpd-slides-asiabsdcon2015.p...

[0] The OpenBSD nginx port still includes the default chroot patch, ~8 years later, see https://raw.githubusercontent.com/sthen/nginx_chroot_patch/a... and https://github.com/openbsd/ports/blob/master/www/nginx/Makef...


For the same reason that CVS is included in base: it's used by the developers for the continued development of the project. OpenBSD.org runs on httpd(8).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: