Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Being a fan of the BSDs I have to point out that this type of decision would not happen there. The reason being that the kernel and userland are not separate entities; they are a system. If you update your kernel the userland has to update with it, and that is to accommodate changes just like this.


I would point out that the userland in BSDs that would update with the kernel would be the CORE utilities and programs. Say, like GNU utils on a linux distro. kdesu is part of KDE, which is an application installed on top of the OS, not something maintained as part of the OS. Would you say there wouldn't be any issue with a BSD kernel update breaking an extremely widely used application such as, say, Apache?


There would be issues, but the BSDs tend to break the ABIs on the development branches only, not the stable branches (e.g. CURRENT vs STABLE in FreeBSD). This usually gives port maintainers enough time to patch their ports appropriately or to send their patches upstream. Users should never see any breakage unless they choose to use the development branches.


Your point is precisely the example I mean. In *BSD the kernel, core, and packages/ports are all tied to one ABI at any time. Linux/GNU's system is more free from, and as a result can result in these problems.


Evolving the API is a fact of life. It your critical program breaks with the most current bleeding-edge version, then either fix it (or have your vendor do it for you) or don't run the latest release. It's not like someone will die for having an earlier release.

That's also why Linux distros don't use the latest kernels: to allow the userland programs they package into them to run until they get fixed and the latest kernel can be added. While I know my Ubuntu doesn't run yesterday's kernel, I am happy it runs perfectly well with last month's kernel.




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

Search: