>> "Why don’t we use this format for locating Git resources?"
Because everyone is already doing what your article is telling them to?
I'm sure there's a point to the article, but I found it strange that this call-to-action style post showed numerous examples of how this is already being followed, but only one - completely fictional - example of not following it.
It's a great discussion. Although URLs work quite well, they are not uniform[1], do not necessarily represent resources[2], and are used for other purposes than location[3]. Thus, there is room for both sides to be right: usually, you should treat a URL as everyone else does, but sometimes, it's smarter not to.
[1] What is uniform about them? They mean different things, depending on the context in which they are accessed. http://experts-exchange.com/whatever returns different content, depending on your user-agent, your /etc/hosts, your firewalls and network filters, and so on. Granted, they satisfy a strict technical sense of the word "uniform", but that meaning shouldn't be conflated with its english meaning, as it is in this article.
[2] "Unlike many URLs, the mailto scheme does not represent a data object to be accessed directly." Section 3.5, http://www.ietf.org/rfc/rfc1738.txt
[3] The ":password" part of many protocols is authentication, not location.
So, that leaves '3', which is not exactly secure and most applications that can use it will also happily ask for a password from the user in interactive mode when it isn't supplied.
All I can figure is that some portion of the young hacker crowd grew up with such ubiquity of URLs that they never reflected on the meaning of the name. Or bots.
URLs are a subset of URIs, the differences are subtle for the most part you can ignore the existence of URNs and pretend URL == URI but it is useful to understand how they relate and that there is a difference.
I typically use "github:jrockway/foo.git", not "ssh://git@github.com/jrockway/foo.git". SSH invented its own format; it didn't reuse regular URLs. (Complicating matters, perhaps, is my .ssh/config file, which eliminates the need to specify the username and hostname in the host part.)
Though sometimes it is nice to separate things out. Back in the java jdbc days, I'd always have to look up the exact url format for database connections because oracle's url connection string would be completely different from mysql, and still different from postgres.
> And mind you we are only talking about relational ones (the kind JDBC cares about).
It gets even more fun with Java EE where you can have arbitrary resource adapters. So then you have even non-SQL naming conventions to map within your application server.
To be picky, it should be "URIs are the uniform way to locate resources", not "URLs" - software, web and general computer usage today extends beyond the typical scheme format of "protocol://address", f.e. handing out a Spotify URI to someone, clickable in their IRC client, or even directly pastable in their browser's address field: spotify:track:5IsPWc2uTiVINs3Lfn8s9o
Because everyone is already doing what your article is telling them to?
I'm sure there's a point to the article, but I found it strange that this call-to-action style post showed numerous examples of how this is already being followed, but only one - completely fictional - example of not following it.