-
Notifications
You must be signed in to change notification settings - Fork 172
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Should the purl scheme/type be prefixed with purl+
?
#9
Comments
purl+
?purl+
?
Doing |
@ashcrow agreed. And it may defuse some arguments from the URL/URI experts too |
@R2wenD2 what do you think about this |
This has some problems and would be difficult to get registered. But in the interest of productive discussion I'll suggest an alternative: why not define a single
This doesn't solve the problem of specifying how each of those namespaces work, but it would let you divide up the spec like this:
This is what a lot of existing schemes do, including the About URI scheme prefixesA [1]: Mark Nottingham is the current chairman of the web/HTTP parts of the IETF and he's probably one of the people you'd have to convince when registering a scheme as generic as this one. |
This makes some sense to me, though I still would rather eschew having an authority in a purl at all. So it could come out instead as:
... where the which is still something easy and never ambiguous to parse. About Mark, I followed his work closely over the years and his insights value would be somewhere between gold, platinum, electrum, or diamond-like. @mnot I'd be quite interested to get you take there: The current draft is here: https://github.com/package-url/purl-spec/blob/d31af66785896bd42dd9467b14bf9352f8f1abfe/README.rst And the question in this ticket:
(NB: we DO NOT use an URL authority in a |
Could you explain why you'd like to avoid including an authority component? I don't think I understand what the purpose of such a restriction is. |
FWIW this has been discussed also there:
And I also created a FAQ entry on this topic "Can I use the Authority (i.e. user:pass@host:port) of a URI/URI in a purl?" https://github.com/package-url/purl-spec/wiki/FAQ#can-i-use-the-authority-ie-userpasshostport-of-a-uriuri-in-a-purl |
@annevk since you maintain https://github.com/whatwg/url you take would mean a very lot too! |
So you basically never need relative URLs? |
@annevk scripsit:
Not ever ever IMHO. Never without a scheme aka. type in a purl |
In that case #9 (comment) seems fine (if there's a scheme it's by definition not relative for non-special schemes). |
@annevk just to be sure, you say that a single |
A single scheme seems a lot better than a family of schemes, yes. I don't have a strong opinion on whether to use authority or not; I think the main benefit of using the authority component is with various types of relative URLs. |
To expand on relative URLs, there's three forms to consider:
|
@jackfirth Thanks. No purl would ever be relative in any of these meanings. That's forbidden. |
I like purl+ URL scheme/type prefix - from a migration to purl perspective it will make it very easy to tell when we're working with purl vs not. I'm thinking of this largely from a Grafeas perspective, but I'd guess other adopters would need to do a similar migration if they already use some other scheme. |
@R2wenD2 Thank you for the input |
I'm happy to join, it would be helpful to have guidance on governance. |
@R2wenD2 you wrote:
Just to clarify: do you prefer:
In anycase I totally agree with you on this:
This is true for you and anyone as this makes the |
Number 1 is good, I'll defer to the experts here. |
Hi! Defining a convention like However, I think there's a much bigger issue that needs to be resolved first. I'm assuming that one of the design goals here is to identify both packages that are both in the name spaces of the various package registries (e.g., pypi, npm) and ad hoc packages that live in places like Github. If that's the case, the full URL of the ad hoc location needs to be included; otherwise, it's ambiguous. Also, if someone needs to locate the package, they won't have enough information to be able to do so (e.g., do I use HTTP? HTTPS? SSH+GIT? etc.). Relying on the client's knowledge of various repositories like Github isn't a great solution here. There are couple of ways to do this; e.g.,
Note that this example does not have an authority; it's using Or,
Here, it's using a structured There are a lot of tradeoffs here, of course, and it depends on your use cases. Just in case you haven't seen it, the RFC you need to be looking at is: I'm happy to help you start walking through that process, help get you started writing a draft, etc. One great way to start the draft is: One other thing -- it'd be great if you'd consider a name other than PURL; first of all, putting "URL" into a URL scheme isn't that great, and second, it'd going to confuse old-timers like me, because (to us) that term means this: |
@mnot Thanks. This means a lot as you and @annevk are true URL Authorities i.e. the registered, globally unique and fully qualified Let me incorporate all this in an updated draft PR. (except of course the About and RFC, that's definitely on the radar once this has firmed up and the dust has settled a bit and thank you for your hand holding for this! As for the So could we come up with a more sexy name, borrowing a page from the Erlang the movie II rebranding efforts for OTP .... e.g. we could use a more dull |
On the topic of the @zvr ping too since you brought up the idea too in #19 I will submit a PR for this today using a @stevespringett @ashcrow ping too since you respectively wrote a Java and Go implementation |
IIUC, we'd end up using something like:
Is that the case? |
@R2wenD2 yes, that would it. I am working on a PR for review. I was much more in favor of the shorter form, but the argument presented here and at FOSDEM are hard to ignore ;) |
* also update spec license to MIT per #21 * update test suite accordingly Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>
PR #31 is available for everyone's review and adds the |
+1. |
Closing this since #31 has been merged. |
From #1 (comment) :
The text was updated successfully, but these errors were encountered: