diff --git a/doc/gsoc_2012.txt b/doc/gsoc_2012.txt new file mode 100644 index 000000000..35e4b28cc --- /dev/null +++ b/doc/gsoc_2012.txt @@ -0,0 +1,231 @@ + + + ========================== + Google Summer of Code 2012 + ========================== + + +Genode Labs has applied as mentoring organization for the Google Summer of Code +program in 2012. This document summarizes all information important to Genode's +participation in the program. + +:[http://www.google-melange.com/gsoc/homepage/google/gsoc2012]: + Visit the official homepage of the Google Summer of Code program. + + +Application of Genode Labs as mentoring organization +#################################################### + +:Organization ID: genodelabs + +:Organization name: Genode Labs + +:Organization description: + + Genode Labs is a self-funded company founded by the original creators of the + Genode OS project. Its primary mission is to bring the Genode operating-system + technology, which started off as an academic research project, to the real + world. At present, Genode Labs is the driving force behind the Genode OS + project. + +:Organization home page url: + + http://www.genode-labs.com + +:Main organization license: + + GNU General Public License version 2 + +:Admins: + + nfeske, chelmuth + +:What is the URL for your Ideas page?: + + [http://genode.org/community/gsoc_2012] + +:What is the main IRC channel for your organization?: + + #genode + +:What is the main development mailing list for your organization?: + + genode-main@lists.sourceforge.net + +:Why is your organization applying to participate? What do you hope to gain?: + + During the past three months, our project underwent the transition from a + formerly company-internal development to a completely open and transparent + endeavour. By inviting a broad community for participation in shaping the + project, we hope to advance Genode to become a broadly used and recognised + technology. GSoC would help us to build our community. + + The project has its roots at the University of Technology Dresden where the + Genode founders were former members of the academic research staff. We have + a long and successful track record with regard to supervising students. GSoC + would provide us with the opportunity to establish and cultivate + relationships to new students and to spawn excitement about Genode OS + technology. + +:Does your organization have an application templateo?: + + GSoC student projects follow the same procedure as regular community + contributions, in particular the student is expected to sign the Genode + Contributor's Agreement. (see [http://genode.org/community/contributions]) + +:What criteria did you use to select your mentors?: + + We selected the mentors on the basis of their long-time involvement with the + project and their time-tested communication skills. For each proposed working + topic, there is least one stakeholder with profound technical background within + Genode Labs. This person will be the primary contact person for the student + working on the topic. However, we will encourgage the student to make his/her + development transparant to all community members (i.e., via GitHub). So + So any community member interested in the topic is able to bring in his/her + ideas at any stage of development. Consequently, in practive, there will be + multiple persons mentoring each students. + +:What is your plan for dealing with disappearing students?: + + Actively contact them using all channels of communication available to us, + find out the reason for disappearance, trying to resolve the problems. (if + they are related to GSoC or our project for that matter). + +:What is your plan for dealing with disappearing mentors?: + + All designated mentors are local to Genode Labs. So the chance for them to + disappear to very low. However, if a mentor disappears for any serious reason + (i.e., serious illness), our organization will provide a back-up mentor. + +:What steps will you take to encourage students to interact with your community?: + + First, we discussed GSoC on our mailing list where we received an overly + positive response. We checked back with other Open-Source projects related to + our topics, exchanged ideas, and tried to find synergies between our + respective projects. For most project ideas, we have created issues in our + issue tracker to collect technical information and discuss the topic. + For several topics, we already observed interests of students to participate. + + During the work on the topics, the mentors will try to encourage the + students to play an active role in discussions on our mailing list, also on + topics that are not strictly related to the student project. We regard an + active participation as key to to enable new community members to develop a + holistic view onto our project and gather a profound understanding of our + methodologies. + + Student projects will be carried out in a transparent fashion at GitHub. + This makes it easy for each community member to get involved, discuss + the rationale behind design decisions, and audit solutions. + + +Topics +###### + +While discussing GSoC participation on our mailing list, we identified the +following topics as being well suited for GSoC projects. However, if none of +those topics receives resonance from students, there is more comprehensive list +of topics available at our road map and our collection of future challenges: + +:[http://genode.org/about/road-map]: Road-map +:[http://genode.org/about/challenges]: Challenges + + +Combining Genode with the HelenOS/SPARTAN kernel +================================================ + +[http://www.helenos.org - HelenOS] is a microkernel-based multi-server OS +developed at the university of Prague. It is based on the SPARTAN microkernel, +which runs on a wide variety of CPU architectures including Sparc, MIPS, and +PowerPC. This broad platform support makes SPARTAN an interesting kernel to +look at alone. But a further motivation is the fact that SPARTAN does not +follow the classical L4 road, providing a kernel API that comes with an own +terminology and different kernel primitives. This makes the mapping of +SPARTAN's kernel API to Genode a challenging endeavour and would provide us +with feedback regarding the universality of Genode's internal interfaces. +Finally, this project has the potential to ignite a further collaboration +between the HelenOS and Genode communities. + + +Block-level encryption +====================== + +Protecting privacy is one of the strongest motivational factors for developing +Genode. One pivotal element with that respect is the persistence of information +via block-level encryption. For example, to use Genode every day at Genode +Labs, it's crucial to protect the confidentiality of some information that's +not part of the Genode code base, e.g., emails and reports. There are several +expansion stages imaginable to reach the goal and the basic building blocks +(block-device interface, ATA/SATA driver for Qemu) are already in place. + +:[https://github.com/genodelabs/genode/issues/55 - Discuss the issue...]: + + +Virtual NAT +=========== + +For sharing one physical network interface among multiple applications, Genode +comes with a component called nic_bridge, which implements proxy ARP. Through +this component, each application receives a distinct (virtual) network +interface that is visible to the real network. I.e., each application requests +an IP address via a DHCP request at the local network. An alternative approach +would be a component that implements NAT on Genode's NIC session interface. +This way, the whole Genode system would use only one IP address visible to the +local network. (by stacking multiple nat and nic_bridge components together, we +could even form complex virtual networks inside a single Genode system) + +The implementation of the virtual NAT could follow the lines of the existing +nic_bridge component. For parsing network packets, there are already some handy +utilities available (at os/include/net/). + +:[https://github.com/genodelabs/genode/issues/114 - Discuss the issue...]: + + +Runtime for the Go or D programming language +============================================ + +Genode is implemented in C++. However, we are repeatedly receiving requests +for offering more safe alternatives for implementing OS-level functionality +such as device drivers, file systems, and other protocol stacks. The goals +for this project are to investigate the Go and D programming languages with +respect to their use within Genode, port the runtime of of those languages +to Genode, and provide a useful level of integration with Genode. + + +Block cache +=========== + +Currently, there exists only the iso9660 server that is able to cache block +accesses. A generic solution for caching block-device accesses would be nice. +One suggestion is a component that requests a block session (routed to a block +device driver) as back end and also announces a block service (front end) +itself. Such a block-cache server waits for requests at the front end and +forwards them to the back end. But it uses its own memory to cache blocks. + +The first version could support only read-only block devices (such as CDROM) by +caching the results of read accesses. In this version, we already need an +eviction strategy that kicks in once the block cache gets saturated. For a +start this could be FIFO or LRU (least recently used). + +A more sophisticated version would support write accesses, too. Here we need a +way to sync blocks to the back end at regular intervals in order to guarantee +that all block-write accesses are becoming persistent after a certain time. We +would also need a way to explicitly flush the block cache (i.e., when the +front-end block session gets closed). + +:[https://github.com/genodelabs/genode/issues/113 - Discuss the issue...]: + + +Student applications +#################### + +The formal steps for applying to the GSoC program will be posted once Genode +Labs is accepted as mentoring organization. If you are a student interested +in working on a Genode-related GSoC project, now is a good time to get +involved with the Genode community. The best way is joining the discussions +at our mailing list and the issue tracker. This way, you will learn about +the currently relevant topics, our discussion culture, and the people behind +the project. + +:[http://genode.org/community/mailing-lists]: Join our mailing list +:[https://github.com/genodelabs/genode/issues]: Discuss issues around Genode + diff --git a/doc/news.txt b/doc/news.txt index 055ae31af..28a80cb9b 100644 --- a/doc/news.txt +++ b/doc/news.txt @@ -4,6 +4,24 @@ =========== +Google Summer of Code 2012 | 2012-03-08 +####################################### + +| Genode Labs applies as mentoring organization at the Google +| Summer of Code 2012 program. + +If you are a student interested in working on a Genode-related topic during +the summer, the application of our project to this year's Google Summer +of Code (GSoC) program may provide you with the perfect opportunity. If accepted, +you will be able to work on one of a wide range of intriguing topics, get +hands-on experience with advanced OS technology, and learn from the +methodologies of long-term systems architects and developers mentoring +your work. + +Learn more about Genode's aspired participation in GSoC 2012 +at our dedicated [http:/community/gsoc_2012 - Google Summer of Code 2012 website...] + + Genode OS Framework release 12.02 | 2012-02-28 ##############################################