Thông thường, khi ai đó yêu cầu tránh xa thứ gì đó đang được sử dụng rộng rãi, được kiểm tra tốt, được xác minh trên nhiều nền tảng, đó là biểu hiện bên ngoài của một vấn đề tiềm ẩn được gọi là "mùi mã" và sự tích lũy không kiểm soát của "nợ kỹ thuật" hoặc "mã" nợ nần". Kho lưu trữ GNU đã tạo ra một khoản nợ mã khá lớn trong nhiều năm và khi một cơ sở mã không được duy trì đúng cách, nó có thể đạt đến một điểm đột phá (mã kế thừa và thậm chí cả mã kế thừa bệnh hoạn).
Thông thường, người ta sẽ thực hiện một quy trình tái thiết kế và tái cấu trúc theo các khoảng thời gian để giữ cho điều này được kiểm soát. Vì vậy, câu hỏi thực sự được đặt ra ở đây là liệu một phiên bản lõi được tái cấu trúc đã được phát triển hay chưa. Tất nhiên, điều này bao gồm khả năng thay thế hoàn toàn (như một trường hợp đặc biệt) - giống như Wayland đang được dành cho X ... nhiều nhà phát triển của nó đi thẳng ra khỏi trại X.
Đề nghị của tôi là thực sự đi vào và tái cấu trúc coreutils. Ai đó phải làm điều đó. Và bất cứ ai đặt ra vấn đề thay thế coreutils - ý tưởng của bạn là dự án của bạn.
Để kết thúc này, hãy tận dụng bất kỳ tự động hóa nào bạn có thể tìm thấy: tái cấu trúc các công cụ, như cscout, hoặc bất cứ điều gì áp dụng các phương pháp phân tích / tổng hợp nâng cao hơn (ví dụ: mạng khái niệm chính thức). Nhưng phân tích sâu vẫn là một lĩnh vực tương đối mới và mở của nghiên cứu tích cực - và chuyển sang Trí tuệ nhân tạo. (Một kỹ sư phần mềm robot.)
Hầu hết các tiện ích đã có sẵn bộ kiểm thử, vì vậy việc xác thực có thể được thực hiện với thay đổi từng bước tiến bộ + các bước kiểm tra hồi quy tự động; có thể đi khá nhanh (ví dụ 10 hoặc nhiều cập nhật sửa đổi / ngày). Một sự phức tạp của quá trình này xảy ra nếu có sự phụ thuộc phần cứng hoặc phần mềm cấp thấp ở bất cứ đâu trong bộ phần mềm; kể từ đó đòi hỏi xác nhận trên nhiều nền tảng. Tôi không biết nhiều về điều đó có trong coreutils; cần có một số loại tách trong nó khỏi các lớp phần cứng hoặc phần mềm cấp thấp (ví dụ: số nơi mà coreutils biết loại nàocủa hệ thống tập tin, nó phải ở mức tối thiểu hoặc tốt hơn, bằng không.) Trình giả lập và máy ảo, được đưa vào sử dụng cho mục đích thử nghiệm đa nền tảng, có những hạn chế. Chẳng hạn, Mac OS X được thiết kế đặc biệt theo cách cản trở khả năng giả lập hoặc VM nó.