Accumulating features is an essential design component
Posted Aug 21, 2012 15:58 UTC (Tue) by southey
In reply to: Kamp: A Generation Lost in the Bazaar
Parent article: Kamp: A Generation Lost in the Bazaar
Most open source projects pride themselves on backwards compatibility so your overall system design must accumulate features. Somehow the kernel needs to handle a external hard drive using many different interfaces plus one of those also connects to the display (not a reality 21 years ago). Now there is Intel's plan for recharging using WiFi.
Sure, with incredible vision, developers have gone back to change the design (IDE-SCSI?, merging i386 and amd64 subkernels). But that is code refactoring not design.
However backwards compatibility has to end for various reasons. Probably with GCC it is related to handling and enforcing different standards as much as new features. It is not really effective to maintain K&R's 1978, ANSCI's 1983, C89/90 in 1990, C99 in 1999, C11 in 2011 in the same compiler. Also, code should be maintained so depreciated features (or non-standard functionality) are removed. Otherwise you have to go back in the time machine and use the contemporary tools of the same age as the code.
to post comments)