Hello, after some brainstorming with Thomas Goirand on IRC[2] about where to place a "cloud" tag, the idea came out for a "system::*" facet as a spin off of the "hardware::*" one, to represent the specific class of systems a package can be specific for.
The idea is to take tags hardware::embedded and hardware::laptop out of the hardware facet, leaving hardware more clearly defined as "peripherals", oo "things with chips that you stick on a system", and add an orthogonal facet to represent what kind of system a package would be specific for. Here is a draft of the proposed new facet: Facet: system Description: Class of system Class of system a package provides specific functionality for.[1] Tag: system::cloud Description: Cloud Cloud computing is the delivery of computing as a service rather than a product, whereby shared resources, software, and information are provided to computers and other devices as a metered service over a network (typically the Internet). . Link: http://en.wikipedia.org/wiki/Cloud_computing Tag: system::embedded Description: Embedded A computer system designed for specific control functions within a larger system. . Link: http://en.wikipedia.org/wiki/Embedded_system Tag: system::laptop Description: Laptop A personal computer for mobile use. . Link: http://en.wikipedia.org/wiki/Laptop Tag: system::server Description: Server A physical computer (a computer hardware system) dedicated to running one or more such services (as a host),[1] to serve the needs of users of the other computers on the network. Depending on the computing service that it offers it could be a database server, file server, mail server, print server, web server, or other. . Link: http://en.wikipedia.org/wiki/Server_(computing) Tag: system::smartphone Description: Smartphone High-end mobile phone built on a mobile computing platform. . Link: http://en.wikipedia.org/wiki/Smartphone Tag: system::tablet Description: Tablet A mobile computer, larger than a mobile phone or personal digital assistant, integrated into a flat touch screen and primarily operated by touching the screen rather than using a physical keyboard . Link: http://en.wikipedia.org/wiki/Tablet_computer I believe such a facet has *lots* of potential, and I am rather excited about it. Some notes up for discussion: - We could argue about where hardware::emulation belongs. I'd leave it in hardware because an emulated machine looks more like a virtual peripheral to me, rather than something that runs specific application. In a way, we could say that hardware::* is for software that works WITH that hardware, while system::* is for software that works IN that hardware. - Smartphones and tablets are becoming less and less like two different classes of systems: with tablets having GSM modems and smartphones working like tablets, one could say that a tablet is a smartphone that doesn't fit in a pocket. That means that most software that's typical of one platform will also be typical of the other one, and in fact apps are now developed targeting both systems as one. So they could very well be a single tag; the only problem is: how do we name it? Is there a better name than system::smartphone-tablet? I'd give it a week worth of discussion, after which I'll try to wrap it up and make it happen. [1] This description in a better kind of English written needs to be. [2] So you could know how we got to this proposal, here is the IRC conversation (I cut away the various digressions and other channel conversation, I hope I didn't cut anything relevant) enrico> zigo: I need to reread your mail to see if I catch the difference with admin::virtualisation; it's either I add that, or I propose a "buzzword" sort of facet with tags for all those names that people recognise zigo> Cloud computing *is not a buzz word*. zigo> jwilk: In short, management of a pool of servers for providing virtualmachines and storage. zigo> Only people who don't understand what it is think it's a buzz word. zigo> We wouldn't have about 100 binary packages in Debian *only* for doing cloud computing if it was just a buzz word. zigo> enrico: If you want to know why admin::virtualization isn't good for cloud, just think about server storage like Swift. enrico> zigo: right, so the idea would be to restrict admin::virtualisation to one-machine virtualisation infrastructure, and have admin::cloud to refer to migration/cloning/ui frontend/api interfaces? zigo> It doesn't do virtualization, has little do do with it, but it's managing potentially 100s of servers. enrico> uhm, ok, so things like openstack can also turn blades or servers on and off? zigo> Yup. zigo> Even physical machines. zigo> Like, for saving on power. enrico> ack zigo> There's also cloud without virtualization. zigo> Like, through an API, you'd get a new physical server. zigo> Get your OS installed automatically, and have your application to run on it. zigo> And possibly, do that with 10 servers at a time. enrico> so now another question is: is the level of abstraction of "cloud" one that fits in the "admin" facet? It sounds a bit more high levle than "configuring" "boot", "backup", "login"... enrico> how about a "solution::*" facet zigo> Basically, these are administration tools. zigo> So that you can remote-control servers. zigo> So yes, Admin:: would fit, IMO. enrico> zigo: uhm ok. So the tools themselves are as administration as 'admin::login', only the system they manage is at a different abstraction level than, say, a single server. And that'd be fine indeed. zigo> Right. zigo> For example, quantum is a tool that manages VLANs for your cloud. zigo> So that each "customer" has the illusion that he's on its own VLAN, and wont see other private LANs. zigo> Using VLAN tagging on switches, and configuring openvswitch. zigo> That kind of things ... zigo> So that's really admin:: enrico> zigo: otoh (still pondering) it's also ortogonal: you could do accounting, automation, backup, and son on, but "for cloud systems" enrico> zigo: so it could be, for example, hardware::cloud enrico> zigo: that way I can say admin::power-management && hardware::cloud zigo> The issue I have with hardware:: is that it looks like it's full of drivers. zigo> Am I wrong? enrico> zigo: there's hardware::embedded, for example, which has embedded UI tools like GPE zigo> Like, I've put Swift (cloud object storage) to use hardware::storage, but it's confusing. zigo> It's a tool that uses rsync to have a level of redundancy. zigo> It doesn't act *at all* as a driver. zigo> People looking at for example iSCSI tools will find swift, and that's not what we want. zigo> You know better than me though. zigo> Maybe that would fit. enrico> zigo: right. http://debtags.debian.net/edit/tags/hardware::embedded is somewhat close, in that it says "this software is used in this specific class of hardware". Please ignore touchscreen drivers in that page: they are mistagged zigo> Ok. enrico> zigo: but if we think of tags to describe a "class of system", then cloud, server, embedded, tablet, smartphone could sound like points along the same axis enrico> (and they could be factored out of 'hardware' into a 'system' facet, at some point) enrico> zigo: I'm going for lunch, then I'll reply to your mail in debtags-devel along the lines of thinking of a 'system' facet zigo> enrico: I like the "class of system" concept. zigo> I really do. enrico> zigo: then we see what people say zigo> It'd be great to have a phone tag ... enrico> zigo: indeed. It's a tricky conceptual game, designing ontologies, isn't it? :) zigo> It is. Ciao, Enrico -- GPG key: 4096R/E7AD5568 2009-05-08 Enrico Zini <enr...@enricozini.org>
signature.asc
Description: Digital signature
_______________________________________________ Debtags-devel mailing list Debtags-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debtags-devel