The reason why nobody can define what Puppy Linux, is because Puppy Linux is an elephant and everybody is trying to define it from what they touch.
1. From the end-user point of view, Puppy Linux is a family of distros that shares the same features (e.g PUPMODE 13, SFS loading, etc) and can be configured in a certain way (e.g. pfix=, pmedia=, etc).
2. From the developer's point of view, Puppy Linux is a family of distros that shares the same code base. This code base is the one that implements the features that the end-users see in (1).
---
3. End-users only care about the visible and usable part of operating system. They don't care about the inner workings, the scripts, the build system, etc. From their point of view, even if everything underneath is replaced with a completely different code base, as long as a distro works exactly the same way (that they're familiar with), then it is Puppy.
4. Developers on the other hands mostly cares only about the code. As long as the codebase used in a distro is the same (or traces to the same ancestry), then the distro is considered as a Puppy, even if the behaviour keeps evolving.
---
Hence, when we talk about the future of Puppy, we have to be careful about what we want or need to preserve. Do you want to preserve the functionality? Or do you want to preserve the codebase?
It's best to preserve both, obviously, but as we have seen in this thread and many others before it: not everyone is fond of Woof-CE (=the codebase). But in my opinion, suggesting a replacement that behaves completely different (or have completely different features) from the previously known Puppy would be a bad idea as well.
Therefore, in my opinion, to move Puppy forward, there are two different paths that can be taken.
1. Take a distro, and tweak and modify it so that it behaves like Puppy. Then we call it as the "next-gen" Puppy.
2. Take the codebase, and fix all the bugs to make Puppy up-to-date. And then we call it as the "next-gen" Puppy.
@dimkr obviously has taken (2), although being the low-profile person he is, he doesn't want to call his "next-gen" codebase as Puppy.
@wanderer is advocating for (1), but the problem is that there are no developers who are willing to do it.
---
Note that I don't specifically talk about build-system.
Build-system is important, but more important that the build-system is the distro itself.
The first Puppy was hand-crafted by Barry.
There was no build system, and it wasn't necessary either.
It became necessary when the next updates needed to be released.
To update a distro, one needed to start off with a new base, and then re-apply all the modifications.
Doing it again and again was tedious, and error-prone.
A build system was done so that this tedious and error-prone job is done automatically.
In other words, making the distro reproducible: starting with same ingredients, and putting in the same recipe, will produce identical distro.
But of course, what's important is the final product: the distro. Not the build system. The build system is a tool we use to help to produce. When we choose a build system, we need to ensure that our build system is capable of producing the distro that we want.