I'm trying to understand why Profile::profile_id is required according to the spec. I see why one would assign a unique ID to a profile; yet, I don't see why this behavior should be enforced. I think the spec should leave this choice to the user, and simply assume two profiles not to be related if profile_id is not set.
The main reason to remove this from the spec is that generating good UUIDs is not trivial, especially if utility functions are not available in the standard library (e.g. C++11). Forcing people to fallback to bad UUIDs does more harm than good in this case.
I'm trying to understand why
Profile::profile_idis required according to the spec. I see why one would assign a unique ID to a profile; yet, I don't see why this behavior should be enforced. I think the spec should leave this choice to the user, and simply assume two profiles not to be related ifprofile_idis not set.The main reason to remove this from the spec is that generating good UUIDs is not trivial, especially if utility functions are not available in the standard library (e.g. C++11). Forcing people to fallback to bad UUIDs does more harm than good in this case.