Many times you hear someone accuse someone else of "re-inventing the wheel" in a tone of derision.
Sometimes I say that someone is re-inventing the wheel.
But, from me, that can't be an insult.
You see, if I could find someone to sponsor me, I'd be re-inventing the entire information industry infrastructure.
Information encoding? Yeah. I want to replace Unicode with an encoding standard that would encompass the functionality of asn.1 and sgml in one rational, accessible whole, not to mention make embedding binary data in text work much more smoothly. And reduce or eliminate glyph aliasing with out-of-context characters. And separate the international encoded sets from the national encoded sets, to help reduce such aliasing and make regular expressions work better in local contexts.
That's definitely re-inventing a lot of things perceived as wheels, not presently worth the attention of further refinement.
Programming languages? Yeah. I want to re-invent the language C, the runtime, add a couple of storage classes to reduce the problems of overwriting local variables and controlling concurrent access from separate threads, and add little bits to function declaration and call syntax. And I want to reinvent a language called FORTH, so it would be more amenable to being used as a user interface shell language, among other things. And re-invent Unix with a new executable object format supporting all this. That's going to be equivalent to an earthquake in userland, not to mention in the system itself.
Networking? Of course. I want to get rid of IPv6 and implement nested IPv4 addressing. Make NATted addresses optionally visible externally, to open up more static addresses and reduce the incentive for ISPs to charge through the nose for a static address, for starters.
CPUs? Those too. Intel has been burning up resources building their monopoly on the CPU market for far too long. ARM helps, but too many manufactures are too willing to play games trying to lock their customers in. And no one really supports proper separation of user resources in current CPUs. We need to focus away from raw speed and more on stability and securability.
And so on.
Yeah, I want to re-invent wheels. So, if I merely note that someone is re-inventing wheels, that, in and of itself, is not evil. And I do not intend insult by it.
Re-inventing wheels is good for many reasons, and not just to provide churn for the sales crew to work.
(Re-inventing wheels solely for sales churn is somewhat evil, but it can be better than keeping the world as it is. I should rant about that sometime, too.)