{"action":"closed","issue":{"url":"https://api.github.com/repos/beakerbrowser/specs/issues/9","repository_url":"https://api.github.com/repos/beakerbrowser/specs","labels_url":"https://api.github.com/repos/beakerbrowser/specs/issues/9/labels{/name}","comments_url":"https://api.github.com/repos/beakerbrowser/specs/issues/9/comments","events_url":"https://api.github.com/repos/beakerbrowser/specs/issues/9/events","html_url":"https://github.com/beakerbrowser/specs/issues/9","id":279946122,"node_id":"MDU6SXNzdWUyNzk5NDYxMjI=","number":9,"title":"Namespace (and version) archive types from the outset","user":{"login":"vsivsi","id":428642,"node_id":"MDQ6VXNlcjQyODY0Mg==","avatar_url":"https://avatars2.githubusercontent.com/u/428642?v=4","gravatar_id":"","url":"https://api.github.com/users/vsivsi","html_url":"https://github.com/vsivsi","followers_url":"https://api.github.com/users/vsivsi/followers","following_url":"https://api.github.com/users/vsivsi/following{/other_user}","gists_url":"https://api.github.com/users/vsivsi/gists{/gist_id}","starred_url":"https://api.github.com/users/vsivsi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vsivsi/subscriptions","organizations_url":"https://api.github.com/users/vsivsi/orgs","repos_url":"https://api.github.com/users/vsivsi/repos","events_url":"https://api.github.com/users/vsivsi/events{/privacy}","received_events_url":"https://api.github.com/users/vsivsi/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2017-12-06T23:33:47Z","updated_at":"2018-11-02T21:04:36Z","closed_at":"2018-11-02T21:04:36Z","author_association":"NONE","body":"Hi, in reading through the new [Archive Types](https://github.com/beakerbrowser/specs/blob/master/proposals/0005-dat-archive-types.md) document, one thing immediately pops into mind. The need for namespaces and versions...\r\n\r\nI believe that the \"type\" spec should be \"namespaced\" from the outset, and there should be no \"non-namespaced\" types allowed.  That is, it should be `rotonde:user` or `beaker:application`, not just `user` and `application` (I don't really care what the separator is...)  Without this there will be confusion and type squatting and incompatibility. There are going to be a million uses of all of this when it takes off, and something as fundamental as `user` shouldn't be strapped down to an initial definition at the outset. This could all be done by convention of course, but at this moment you have the opportunity to anticipate the need and build it in.\r\n\r\nI also think versioning could be useful, so that you could explicitly declare a Dat to contain a `rotonde:user:v2` or some such.  Again, I don't care much what the syntax is, but now is the time to think longer term about such issues. It will never be easier to make such changes than right now.\r\n\r\nI think it's fine for you to define some common/anticipated types now just to get the ball rolling, but please, please don't forever pollute the root global type namespace with an unversioned `\"user\"` type conceived in the infancy of this project. We will all likely live to regret that.\r\n\r\nThanks for listening. "}}
{"actor":{"display_login":"pfrazee"}}