I did a writeup of the current results. As the Brainstorm Phase is finished, it's time for a Reality Check:
Checking which of the ideas can already be done easily with the Hurd in its current state, which ones are a bit more complex but already possible, which ones need a bit of coding (could be accomplished in a few months judging from the current speed of development), which ones need a lot of work (or fundamental changes) and which ones aren't possible. If something is clear, just add one of the following to the points: - "easy" - "complex" or "underdocumented" - "a few months coding" - "many changes" or "fundamental changes" (like a new Kernel) - "unfeasible" or "almost impossible" Also now's the time for discussion :) And please don't refrain from adding additional ideas as they come. Besides: This text should soon be available in the wiki (I'm pushing right now): http://bddebian.com/~wiki/community/weblogs/ArneBab/niches_for_the_hurd/ (I like the wiki blog very much: Just write a text, save it, and it's available - it needs no linking and no other additional effort, and that's great!) Brainstorm ---------- "Which niches could there be for the Hurd?" ### Basic Results The result is a mix of target groups, nice features and options of the Hurd, reasons for running a Hurd and areas where the Hurd offers advantages: #### Nice features and options the Hurd offers - Give back power to users: arbitrary mounts, subhurds - Nice features: dpkg -iO ftp://foo/bar/*.deb - Easier access to low-level functions - Advanced lightweight virtualization - operating system study purposes as its done with minix - The possibility to create more efficient and powerful desktop environments - Having a _complete_ GNU System - All-in-one out-of-the-box distro running a webserver for crash-proof operation. #### Target groups and strong environments - Tinkerers who like its design. - multicore-systems ### The keyphrases in more detail or with additional ideas #### Give back power to users: arbitrary mounts, subhurds Simpler virtual computing environments - no need to setup XEN, everyone can just open up his/her computer for someone else by creating a new user account, and the other one can login and easily adapt the system for his/her own needs. If most systems just differ by the translators setup on them, people could even transfer their whole environment from one computer to another one without needing root access or more root interaction than creating a new user account. "I want my tools" -> "no problem, just setup your translators". Also it would be possible to just open an account for stuff like joining the "World Community Grid" allowing for easier sharing of CPU time. #### Easier access to low-level functions One important use is for very technical people, who don't always go with standard solutions, but rather use new approaches to best solve their problems, and will often find traditional kernels too limiting. Another interesting aspect is application development: With the easily customized/extended system functionality, and the ability to contain such customizations in subenvironments, I believe that Hurd offers a good platform for much more efficient development of complex applications. Application developers can just introduce the desired mechanisms on a very low level, instead of building around existing abstractions. The extensible filesystem in particular seems extremely helpful as a powerful, intuitive and transparent communication mechanism, which allows creating truly modular applications. #### Advanced lightweight virtualization There is also the whole area I called "advanced lightweight virtualization" (see http://tri-ceps.blogspot.com/2007/10/advanced-lightweight-virtualization.html ), i.e. the ability to create various kinds of interesting subenvironments. Many use cases are covered by much bigger fish; but the flexibility we offer here could still be interesting: I think the middle grounds we cover between directly running applications, and full isolation through containers or VMs, are quite unique. This could simplify management of demanding applications for example, by partially isolating them from other applications and the main system, and thus reducing incompatibilities. Creating lightweight software appliances sounds like an interesting option. #### The possibility to create more efficient and powerful desktop environments While I believe this can be applied to any kind of applications, I'm personally most interested in more efficient and powerful desktop environments -- these considerations are in fact what got me seriously interested in the Hurd. Even more specifically, I've done most considerations (though by far not all) on modular web browsing environments. Those interested can read up some of my thoughts on this: http://sourceforge.net/mailarchive/message.php?msg_name=20080909073154.GB821%40alien.local (Just skip the text mode browsing stuff -- the relevant part is the long monologue at the end... I really should put these ideas into my blog.) #### Nice features Another example of features which would be easily possible with the Hurd: * media-player translator: - settrans play /hurd/mediaplayer_play - cp song1.ogg song2.ogg play - # -> files get buffered and played. or even: * cp ftp://foo/bar/ogg play that's KDEs fabled network transparency on the shell level. -- My stuff: http://draketo.de - stories, songs, poems, programs and stuff :) -- Infinite Hands: http://infinite-hands.draketo.de - singing a part of the history of free software. -- Ein Würfel System: http://1w6.org - einfach saubere (Rollenspiel-) Regeln. -- PGP/GnuPG: http://draketo.de/inhalt/ich/pubkey.txt
signature.asc
Description: This is a digitally signed message part.