From 52c5d6c873721eccbc9c08ddd15b3d6d2a91b133 Mon Sep 17 00:00:00 2001 From: Kristyna Jandova Date: May 02 2018 14:39:53 +0000 Subject: previous GSoC years added moved 2005 - 2017 from fedora wiki --- diff --git a/_topic_map.yml b/_topic_map.yml index 868f9e2..6c30dfc 100644 --- a/_topic_map.yml +++ b/_topic_map.yml @@ -33,3 +33,96 @@ Topics: File: ideas - Name: Application Process File: application + - Name: '2017' + Dir: '2017' + Topics: + - Name: Information + File: index + - Name: Ideas + File: ideas + - Name: Application Process + File: application_process + - Name: '2016' + Dir: '2016' + Topics: + - Name: Information + File: index + - Name: Ideas + File: ideas + - Name: Application Process + File: student_application_process + - Name: '2015' + Dir: '2015' + Topics: + - Name: Information + File: index + - Name: Ideas + File: ideas + - Name: Application Process + File: student_application_process + - Name: '2014' + Dir: '2014' + Topics: + - Name: Information + File: index + - Name: Ideas + File: ideas + - Name: Application Process + File: student_application_process + - Name: '2013' + Dir: '2013' + Topics: + - Name: Information + File: index + - Name: Ideas + File: ideas + - Name: Application Process + File: student_application_process + - Name: '2012' + Dir: '2012' + Topics: + - Name: Information + File: index + - Name: Ideas + File: ideas + - Name: Application Template + File: student_application_template + - Name: '2011' + Dir: '2011' + Topics: + - Name: Ideas + File: ideas + - Name: '2010' + Dir: '2010' + Topics: + - Name: Information + File: index + - Name: Ideas + File: ideas + - Name: Schedule + File: schedule + - Name: '2009' + Dir: '2009' + Topics: + - Name: Ideas + File: ideas + - Name: '2008' + Dir: '2008' + Topics: + - Name: Ideas + File: ideas + - Name: '2007' + Dir: '2007' + Topics: + - Name: Information + File: index + - Name: '2006' + Dir: '2006' + Topics: + - Name: Information + File: index + - Name: '2005' + Dir: '2005' + Topics: + - Name: Information + File: index diff --git a/gsoc/2005/index.adoc b/gsoc/2005/index.adoc new file mode 100644 index 0000000..1656966 --- /dev/null +++ b/gsoc/2005/index.adoc @@ -0,0 +1,52 @@ += Google Summer of Code 2005 + +The Fedora Project was happy to participate in +http://code.google.com/[Google's] +http://code.google.com/summerofcode.html[Summer of Code] 2005. This was +an extraordinary opportunity to involve students with the open-source +community. Below are the projects selected with Fedora as the mentoring +organization. + +[[selected-projects]] +== Selected Projects + +* Behdad Esfahbod - intelligent readahead daemon +http://sourceforge.net/projects/preload[project page] +http://www.cs.toronto.edu/~behdad/blog/preload.txt[proposal] + +* Ljudmila Korjukina - packetsim +http://sourceforge.net/projects/iptview/[project page] + +* Praveenkumar Ponnusamy - global bash history +https://sourceforge.net/projects/bash-gchistory/[project page] + +* Ulisses Furquim - pylibparted +http://pylibparted.tigris.org/[project page] + +* Darko Ilic - [wiki:Self:Kadischi Kadischi] +(live CD generator) + +* Pedro Fernandes Macedo - smart mirror selection +http://www.sourceforge.net/projects/mirrorselect[project page] + +* Wieland Gmeiner - setting process +rlimits http://stud4.tuwien.ac.at/~e8607062/studies/soc/[proposal and +patches] + +* Dave Arter - user backups (work in progress is at +https://sucs.org/~davea/trac/) + +* Mateusz Berezecki - atheros driver: +http://www.ath-driver.org/ + +* Adrian Bunk - Fedora Directory Server auto*-ing +http://www.fs.tum.de/~bunk/fds/[project page] or +http://sourceforge.net/projects/fds-build/[SourceForge page] + +* Camron T. Lacy - +system-config-securitylevel +http://www.sourceforge.net/projects/securitylevel[Sourceforge page] + +* Vikram Aggarwal - install coverage testing +http://sourceforge.net/projects/pootypedia/[project page] + diff --git a/gsoc/2006/index.adoc b/gsoc/2006/index.adoc new file mode 100644 index 0000000..abe711f --- /dev/null +++ b/gsoc/2006/index.adoc @@ -0,0 +1,31 @@ += Google Summer of Code 2006 + +The Fedora Project participated in the second Summer of Code event and +mentored 5 students throughought the summer as they completed their +projects. The following projects were selected from among the awesome +proposals: + +[[selected-projects]] +== Selected Projects + +[cols=",,",] +|======================================================================= +|*Project Summary* |*Student* |*Mentor* + +|link:https://fedoraproject.org/wiki/MikkoVirkkilä[ MoinMoin DocBook XML Conversion Tools] +|MikkoVirkkilä |KarstenWade + +|link:https://fedoraproject.org/wiki/TimNiemueller[ NetworkManager Dialup Support] |TimNiemueller +|JeremyKatz + +|link:https://fedoraproject.org/wiki/NitinGupta[ Compressed Caching for Linux] |NitinGupta |RikvanRiel + +|link:https://fedoraproject.org/wiki/ArthurPemberton[ Backup tool (system-config-backup)] +|ArthurPemberton |PatrickBarnes + +|link:https://fedoraproject.org/wiki/IvanBarrera[ Motherboard sensors autoconfig] |IvanBarrera +|HansdeGoede +|======================================================================= + +''''' + diff --git a/gsoc/2007/index.adoc b/gsoc/2007/index.adoc new file mode 100644 index 0000000..e1a28f3 --- /dev/null +++ b/gsoc/2007/index.adoc @@ -0,0 +1,47 @@ +[[googles-summer-of-code-2007]] += Google's Summer of Code 2007 + +This year, Fedora is the mentoring organization for 5 projects. + +[[projects]] +== Projects + +[cols=",,",] +|======================================================================= +|*Project Summary* |*Student* |*Mentor* + +|link:https://fedoraproject.org/wiki/DimitrisGlezos[ An upstream-friendly l10n Web UI for Fedora] +|DimitrisGlezos |KarstenWade + +|link:https://fedoraproject.org/wiki/DebarshiRay[ An offline package update/installation facility for +Pirut] |DebarshiRay |SankarshanMukhopadhyay + +|link:https://fedoraproject.org/wiki/ChristopherTan[ tcconf - A traffic shaping configuration utility +for GNU/Linux] |ChristopherTan |StevenPritchard + +|link:https://fedoraproject.org/wiki/JonathanSteffan[ Fedora Documentation Publishing Platform] +|JonathanSteffan |PatrickBarnes + +|link:https://fedoraproject.org/wiki/RiaDas[ Publication of all man and info pages for each release +through a web interface] |RiaDas |JeffSheltren +|======================================================================= + +[[coss-summer-code-2007]] += COSS Summer Code 2007 + +This is Fedora's first year mentoring a project for +http://www.coss.fi/[COSS] 's +http://www.coss.fi/web/coss/developers/summercode/2007[Summer Code 2007] +. + +[[projects-1]] +== Projects + +[cols=",,",] +|======================================================================= +|*Project Summary* |*Student* |*Mentor* + +|link:https://fedoraproject.org/wiki/VillePekkaVainio[ Extend MoinMoin with man and info page +publication and editing capabilities.] |VillePekkaVainio |KarstenWade +|======================================================================= + diff --git a/gsoc/2008/ideas.adoc b/gsoc/2008/ideas.adoc new file mode 100644 index 0000000..b80f9a9 --- /dev/null +++ b/gsoc/2008/ideas.adoc @@ -0,0 +1,904 @@ +[[ideas-for-student-projects-for-2008]] += Ideas for Student Projects for 2008 + +This page gathers all the ideas and pointers/references for the 2008 +intern and Summer coding programs. + +[cols="",] +|======================================================================= +|*If you see an idea here you want to learn about or hack on, contact +the people associated with the idea.* +|======================================================================= + +JBoss.org project ideas are found here: +http://labs.jboss.com/wiki/GSoC[1] + +''''' + +_What could these students do for Fedora with a Summer?_ + +Projects can occur in an upstream, as long as the work happens through +Fedora and benefits Fedora. + +Feel free to comment on the ideas posted here, putting your WikiName in +front of your comments. The goal is to consider ideas as _proposed_ +until they have faced sufficient peer review, i.e., have stayed +unscathed on the page for a while. + +[[apport]] +== Apport + +_Status:_ _Proposed_ + +_Summary of idea:_ The QA team has a half finished port of Ubuntu' +Apport, it would greatly enhance the handling of crash reporting if we +were able to finish this work. + +_Contacts:_ Added by DavidNielsen, I have no skills but hopefully +WillWoods will be able to function as mentor. KyleMcMartin is willing to +mentor this. + +_Notes:_ More information Apport can be found here: +https://wiki.ubuntu.com/Apport + +[[package-webui]] +== Package WebUI + +_Status:_ _Proposed_ + +_Summary of idea:_ We need a web interface that is made for end-users to +access information about packages. This will be similar to +packages.debian.org or packages.gentoo.org in some ways but we hope to +improve on those in several ways. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:ToshioKuratomi[ Toshio Kuratomi(abadger1999)] has +agreed to take point on this. Interaction with other developers will +likely be needed as this touches many systems. Luke Macken(lmacken), +John Palmieri(J5), Ricky Zhou(ricky), Seth Vidal(skvidal), and Mike +Bonnet(mbonnet) are all involved in projects that touch on the work to +be done here. + +_Notes:_ This needs to be an enhancement of the +https://fedorahosted.org/packagedb[Package Database] . The DB schema +will need additional tables to reflect the enduser view of data. We'll +need to generate dynamic web pages to display the information to the end +user and allow them to give feedback/enhanced information about a +package. + +_Design Requirements:_ + +* This must integrate with the PackageDB. Therefore it will be a piece +of a larger TurboGears application. Knowledge of TurboGears and python +is not required but a willingness to program in them is :-) +* It is meant to be task and application oriented rather than package +oriented. The aim is to answer questions like "What application will let +me make drawings?" "Is there a python library for formatting +documentation?" "I don't like "deluge" but I need something that does a +similar thing?" +* We already have package information in several sources. We want to +avoid duplicating information where possible but for efficiency we may +need to pull some of the data into our database. +* The interface should link back and forth with the existing PackageDB +but it is not simply another view of the data. Additional data will be +involved. +* Allowing the user to contribute to the knowledge about the package is +a goal. + +A mockup of what a page could look like is in the +link:https://fedoraproject.org/wiki/MyFedora?action=AttachFile&do=get&target=info-mockup.png[MyFedora +proposal] . Note that the header information is MyFedora UI rather than +PackageDB Ui and we'd want to be describing gimp as an application +rather than gimp as a package. + +[[jack-driver-for-audacity]] +== Jack driver for Audacity + +_Status:_ _Proposed_ + +_Summary of idea:_ The Jack Audio Connection Kit enables low latency +interapplication audio connections. Many applications currently in +Fedora support it and can connect to each other and to the audio card. +Audacity is one of them. But its Jack support depends on PortAudio, and +to be kind, PortAudio Jack support is sorely lacking. Audacity is an +extremely popular audio editor but its main weakness is its lack of a +proper native Jack driver. Having one would make it a lot more useful in +the context of an audio content creation environment. + +_Contacts:_ Added by link:https://fedoraproject.org/wiki/User:FernandoLopezLezcano[Fernando Lopez ] + +_Notes:_ Why is the PortAudio driver not so good? + +It cannot react dynamically to changes in the Jack graph, that is, Jack +applications already running can be seen by Audacity, applications +started after Audacity starts are invisible until Audacity is restarted. + +Jack ports can only be selected in the Preferences menu of Audacity. The +standard way of handling this in Jack applications is that in the +preferences menu you select either the Jack driver or an auto discovery +mode. If the Jack driver is selected then the application will connect +(register ports) to it on startup (if Jack is running) and will register +input and output ports with Jack. Those will be seen in the Jack graph +and can be source or sink of audio information to/from other apps and/or +the soundcard. Normally the connection with other apps or the soundcard +is done externally. Some programs add internal means of connecting to +other apps and that is generally not done through the preferences menu +(Jack is dynamic), and can show applications that started after (in this +case) Audacity starts. Some programs have the extra option of connecting +automatically on startup to the first n physical audio output ports +which facilitates trivial use of the program. + +BastienNocera: we use PulseAudio by default in Fedora, and I don't +really see the point of using Jack if we use PulseAudio for "normal" +users (most users won't be changing that default). You're better off +pushing this request to an Audacity SoC project. + +[[func-network-automation]] +== Func / Network Automation + +_Status:_ + +* _Being worked on by User:bombshelter13[Gregory Masseau] +(gjmasseau@learn.senecac.on.ca)_ + +* _Being worked on by User:miltonpaiva[Milton Paiva] +(mpaivaneto@learn.senecac.on.ca)_ + +_Summary of idea:_ Func is a network applications framework that allows +for powerful remote manipulation and scripting of very large numbers of +Fedora machines. + +This idea is to expand Func by writing lots of useful modules to do all +sorts of powerful remote things, making it into the world's best API for +remote scripting Fedora over lots of machines at once -- with an +emphasis on integrating Func with other tools we already have in Fedora. +This would be a particular good project for someone who had an interest +in networking, clusters, automation, or security related topics. +Contributions to Func wouldn't be limited to just writing modules, as +anything networking/automation related is fair game. Contact +MichaelDeHaan for more information. + +_Contacts:_ MichaelDeHaan + +_Notes:_ see https://fedorahosted.org/func + +[[koji-hiding-binaries-import-secondary-repos]] +== koji hiding binaries/ import secondary repos + +_Status:_ _Proposed_ + +_Summary of idea:_ For various reasons we need to be able to use a +second repo. but still know what was in the build root. or to be able to +hide builds for pre-release, security issues. Koji needs to be able to +import repodata and know where binaries are while not making them +available. We walso want to be able to mark a build as being embargoed +and hide it completely. from cvs through to the build happening. to be +opened up when embargo is done. + +_Contacts:_ DennisGilmore + +_Notes:_ https://fedorahosted.org/koji + +[[integrate-fedora-infrastructure-and-eclipse]] +== Integrate Fedora Infrastructure and Eclipse + +_Status:_ _Proposed_ + +_Summary of idea:_ At present, there is a largely functional specfile +editor plugin for Eclipse shipping in Fedora. It would be nice to expand +the usefulness of the plugin with the ability to push builds to koji. +Using mock from within Eclipse and doing pkgdb and bodhi work would also +be nice. + +_Contacts:_ AndrewOverholt + +_Notes:_ + +[[a-gobby-plugin-for-eclipse]] +== A Gobby plugin for Eclipse + +_Status:_ _Proposed_ + +_Summary of idea:_ The Eclipse Communications Framework has shared +editing support. It would be nice to have a gobby backend for this so +that Eclipse users could take advantage of Fedora's existing gobby +server. + +_Contacts:_ AndrewOverholt + +_Notes:_ +http://blog.mricon.com/2008/02/why-is-there-no-gobby-support-in.html , +https://bugs.eclipse.org/bugs/show_bug.cgi?id=219829 + +[[windows-data-migration-tool]] +== Windows Data Migration Tool + +_Status:_ _Proposed_ + +_Summary of idea:_ Anaconda supports partition resizing (including NTFS) +in Rawhide now. It would be great to combine this with a data migration +tool for Windows or dual booting users. + +_Contacts:_ RahulSundaram + +_Notes:_ I only have the general idea. Others more qualified, feel free +to volunteer + +[[automatic-updates-with-dynamic-bandwidth-throttling]] +== Automatic Updates with dynamic bandwidth throttling + +_Status:_ _Proposed_ + +_Summary of idea:_ The idea is to update the system using idle bandwidth +in an asynchronous, prioritized and throttled manner, i.e to update +packages asynchronously from the server. This way the user can continue +working while the updated packages are being downloaded without any +noticeable changes in bandwidth. + +Updates can be done automatically by a cron job or with yum-updatesd, +but this will make yum/pup to use whole of the bandwidth. yum has a +throttle option but it decides the upper limit of usage of bandwidth. +Whereas, with asynchronous mode, limit can be decided dynamically +depending upon the current usage. In many developing countries most of +the people are on low bandwidth networks or have limited access to +Internet. This will help them to keep their system updated with maximum +utilization of their bandwidth. + +_Contacts:_ SunilKumarGhai + +_Notes:_ [1] We can also have some kind of general framework, which can +be used by other applications to use throttling in services they +provide. [2] We can implement this with repositories over http only. ftp +repositories will not work. [3] Maybe work with PackageKit? -- +RichardHughes + +@RichardHughes: As the idea is moving in development of framework as +mentioned in [1] point, we would be able to use it. But still as +PackageKit has YUM backend so only http repositories will work. -- sunil + +[[corresponding-source-web-app]] +== Corresponding Source Web App + +_Status:_ _Proposed_ + +_Summary of idea:_ Finish design and implement web application that +provides downloadable SRPMS for any package+tag in the Fedora Package +Source Code Control system. While we provide SRPMS for all packages at +release, the updates and rawhide trees churn their packages more +rapidly, and will remove the koji-built SRPMS when the binary packages +are removed. This would allow people to request source corresponding to +the packages they have on ISO media or otherwise. + +_Contacts:_ MattDomsch + +_Notes:_ +http://git.fedorahosted.org/git/?p=correspondingsource.git;a=blob;f=DESIGN;hb=HEAD +has mdomsch's thoughts on how it should work. + +[[extend-bootchart-to-support-systemtap]] +== Extend Bootchart to support SystemTap + +_Status:_ _Proposed_ + +_Summary of idea:_ Bootchart is a tool for performance analysis, and +visualization of the Linux boot process. At present, bootchart uses a +logger script to collect the boot information from the /proc interface. +It also uses a parser to extract information in a non-standardized +format. It would be nice to: + +* extend bootchart to collect information using SystemTap instead. +* code the boot information in XML format. +* explore additional metrics that would make bootchart more useful, i.e. +finding out the working set size at various points of the boot process, +etc. +* test bootchart on Fedora 8/9/rawhide dom0/domU/kvm/etc. +* propose (and possibly implement) suggestions on how we can improve the +boot process. + +_Skills needed:_ Strong background in Operating Systems. Familiarity +with Python, Java/JAXP, XML and C programming. Some experience in kernel +internals would be helpful, but not necessary. + +_Contact:_ EugeneTeo, eteo_at_fedoraproject_dot_org + +_Notes:_ See http://bootchart.org/, +http://sourceware.org/systemtap/wiki/, +http://people.redhat.com/berrange/systemtap/bootprobe/ + +[[a-visualization-tool-for-systemtap]] +== A visualization tool for SystemTap + +_Status:_ _Proposed_ + +_Summary of idea:_ SystemTap provides an infrastructure that simplifies +the gathering of information about the running Linux kernel, so that it +can be further analyzed for performance or functional issues. This +project involves writing a graphical tool for visualizing this +information in real-time, so that anomalies can be easily identified. +The tool should use configuration files in XML format to describe how it +should interpret the output of the scripts. Users should be able to +extend the tool by adding new SystemTap scripts. How information should +be visualized meaningfully requires more thought during the design +phase. One of the main objectives is to make SystemTap user-friendly, +and easy to use. + +_Update:_ I wrote the following to a student recently. Here's more +description of the project: The objective of the project is to create a +visualization tool that we can display graphs and statistics in a +meaningful way. Another objective is to investigate how we can gather +important statistics from SystemTap, and have it formatted in a way that +is easy for the tool to display the results. I am not looking at yet +another gnome-system-monitor though. A user should be able to specify a +systemtap script, have it conform to a specific output format, write a +XML configuration file to describe the input format, and output format, +and have the visualization tool display it. + +For example, we want to monitor lock contention in Linux. We write a +script to get hold of futex locks. We write a XML configuration file, +specify the output format of the script, and then display the +graphs/statistics. + +.... +program locks +app1 #245 ####### +app2 #23 ### +app3 #423 ############## +.... + +Another example, we want to monitor I/O activities in the system, we +take an existing script, modify it to display output for the +visualization tool. We write a XML configuration file, specify how the +output is like, and then display the statistics: + +.... +program reads writes +app1 234 23 +app2 123 2333 +/--------\ +app1 _/----\___/ |------------------ +app2 -------------\_______/--------\_____ +.... + +_Skills needed:_ Strong background in Operating Systems. Familiarity +with Python/GTK+, and C programming. Some experience in kernel internals +would be helpful, but not necessary. + +_Contact:_ EugeneTeo, eteo_at_fedoraproject_dot_org + +_Notes:_ See http://sourceware.org/systemtap/wiki/, +http://stapgui.sourceforge.net/screenshots.shtml, +http://www.kernel.sg/roller/eugene/entry/mortadelo_a_graphical_systemwide_strace, +http://lwn.net/Articles/271796/ + +[[packagekit-offline-use]] +== PackageKit Offline Use + +_Status:_ _Proposed_ + +_Summary of idea:_ Many computers are not connected to the Internet and +cannot be updated easily. A solution should be found to use +libpackagekit and be distribution neutral so all distros can benefit. +For this task, first we would generate top-level use-cases for offline +use, and expand on existing use cases. This task would involve reviewing +link:https://fedoraproject.org/wiki/DebarshiRay/Opyum[Opyum] or +http://aptoncd.sourceforge.net/[APTonCD] for ideas and ways to do things +better. + +This would possibly involve using avahi for client->client transfers, +and would have to deal with the trust issues that arise from this. It +would also involve generating offline packs for automatic install or +automatic update. ServicePack CD's could be shipped on magazine covers +with updates to all the typical fedora applications for people without +inexpensive network access. This could be investigated further. + +_Contacts:_ RichardHughes, richard_at_hughsie_dot_com + +_Notes:_ The applicant would need to be familiar with C and a little +python, but would be a great way to get into development of a young +fast-moving software project. + +[[packagekit-self-check]] +== PackageKit Self Check + +_Status:_ _Proposed_ + +_Summary of idea:_ PackageKit is complex, and relies on many different +parts of the stack, e.g. yum, rpm, dbus, etc. There is currently only +limited build time self-checks in the PackageKit source package. We +would need to design of an end-to-end test harness for packagekit that +would test .rpm and yum on local temporary repositories for a complete +self check of the code pathways and packages used. This could be used to +trivially check each version of these components before being pushed to +an update repository. + +_Contacts:_ RichardHughes, richard_at_hughsie_dot_com + +_Notes:_ The applicant would need to be familiar with C and a little +python, but would be a great way to get into development of a young +fast-moving software project. + +[[non-linear-ogg-editor-screencast-helper]] +== Non linear ogg editor/ screencast helper + +_Status:_ _Proposed_ + +_Summary of idea:_ Still we are missing a good non linear editor for ogg +videos. This can be a simple GUI based application to do non linear +editing of ogg. Like cutting, mixing the videos. Adding still frames to +the video etc. Though this is not a project to be finished within 2-3 +months, but we should be able to have a basic application running to do +simple edits. May be having feature of upload videos to fedoratv or +integrate itself with recordmydesktop to get screencasts directly. I am +looking for more ideas on this. + +_Contacts:_ KushalDas kushaldas AT fedoraproject \{NOSPAM} DOT org + +_Notes:_ Recommended choice of language is Python or C + +ValentTurkovic: I have 2 suggestions; First is to try and resurrect Diva +Project who started as GSC project in 2006. Second is to work with +Pitivi Project because it is on a good path and has ogg editing +functionality and easy enough interface. To get an overview of this Diva +Project rise and fall please read these two posts. UPDATE: There are two +projects that look promissing: saya-videoeditor +http://saya-videoeditor.blogspot.com/[2] and myvideoeditor +http://myvideoeditor.blogspot.com[3] + +MDK: State of Diva http://www.mdk.org.pl/2006/12/7/state-of-diva[4] + +Comment on Diva +http://blogs.gnome.org/uraeus/2006/12/08/comment-on-diva/[5] + +also look at video demos of Diva Project: +http://www.archive.org/details/DivaLinuxVideoEditorDemo01[6] +http://www.archive.org/details/DivaLinuxVideoEditorDemo02[7] +http://www.youtube.com/watch?v=22qz_VWrzFo&fmt=6[8] +http://www.youtube.com/watch?v=JB1NF-tB9Lk&fmt=6[9] + +[[fedora-webinstall]] +== Fedora WebInstall + +_Status:_ _Proposed_ + +_Summary of idea:_ One of the items that other distributions have been +able to accomplish that is still lacking in Fedora is the ability to +have a web link, which will allow an update and/or install using an +approved yum repository. Similar to OpenSUSE's misnamed One-Click +install, or Ubuntu's AptURL feature, building a package repository +reference which then uses PackageKit or something similar. + +_Contacts:_ ClintSavage herlo AT fedoraproject DOt org + +_Notes:_ Proof of concepts are available from the Ubuntu and OpenSUSE +website's respectively. + +http://packages.ubuntu.com/gutsy/admin/apturl + +http://en.opensuse.org/Standards/One_Click_Install + +[[ila]] +== ILA + +_Status:_ _Proposed_ + +_Summary of idea:_ ILA is "Sanskrit" word meaning "Terrestrial"... The +Idea is to integrate all computers reachable (via any kind of network, +internet to be most obvious) into a parallel web which is reachable by a +single click or shortcut... + +let me put the last line as first... "A parallel web which doesn't +depends on a central service provider for any of its functions... the +core part of the node functionality is loaded with the desktop" so every +computer online/lan is capable of being a node depending on the modules +activated + +Its modular so that new features can be made available... + +The architecture, language, implementation are open to discussion... I +have a few ideas but most relevant thing to write here would be +use-cases which will make the objectives of the project clear.. + +\1. A User is stuck on some problem he just clicks a shortcut to make +visible the desktop application goes to query tab and fills the question +then hits 'Ask'... now all the other computers (reachable) who have +selected i-want-to-answer-this-type-of-questions (which is optional) +will be shown a popup on the desktop... all the answers that are sent +are then shown on the system where they originated. [much better then a +search algorithm you are getting reply from real people] + +\1. Can be used for file sharing [no need to explain just like any good +P2P] + +\1. A modular design will allow users to choose from large number of +attachable modules like the above two such as +Distributed-CPU-Utilization applications (like SETI), Instant messenger, +feeds collector, news (users can add news and everyone can see it in +diff categories)... [use your imagination] + +\1. The only requirement to use a feature or service is just network +reachability. no dependence on any central service provider + +First Issue that I see is... It "Should" be usable... (still its an +abstract statement :-) ) Although I would like it to run on Fedora and +other Distros, porting to any plateforms should be possible Idea is +still in abstract form is "Remove dependence on centrally controlled +systems...integrate this functionality in the OS" so that new kind of +apps/tools/featuers can be created. + +_Contacts:_ Added by SiddharthUpmanyu, If you want to take this project +contact me at siddharth AT techbugs DOT org. + +[[transifex-ideas-transifex]] +== Transifex ideas (#transifex) + +The following are some ideas on Transifex that came up. Feel free to +contact DimitrisGlezos for more info and/or extend them with new points +in your application. + +If you want to discuss any ideas you might have, please contact +DimitrisGlezos right away. + +You might also want to take a look at link:https://fedoraproject.org/wiki/L10N/Tools/Plans[ +L10N/Tools/Plans] . + +[[transifex-clients-apis-and-rpcs-tx_client]] +== Transifex: Clients, APIs and RPCs (#tx_client) + +_Status:_ _Proposed_ + +_Summary of idea:_ + +Transifex works well as a server and the website workflow works well +with new content providers (eg. translators), however not all users find +the website efficient enough. Implementing an API callable over http +will enable a Command Line Interface, AJAX calls, and integration with +other tools. + +_Contacts:_ + +DimitrisGlezos + +_Notes:_ + +* Duplication of website functionality +* Damned Lies interaction? (eg. `tx get-file anaconda el.po`) +* How can we make login work? +* Security a challenge +* Hook-up with Pootle as a use-case scenario? +* If the server has plugins enabled, how is this going to be implemented +here? (Interaction with student working on extensions might be needed) +* (...more ideas?) + +[[transifex-extension-engine-tx_ext]] +== Transifex: Extension engine (#tx_ext) + +_Status:_ _Proposed_ + +_Summary of idea:_ + +Refactor Transifex's code with hooks (pre, post commit), overridden +functions, and classes in order to add a plugin/extension mechanism. +Abstract file metaphor, and make support for PO files a plugin and +implement a new one for image submissions. + +_Contacts:_ + +DimitrisGlezos + +_Notes:_ + +* Student might need to work with the student working on the client to +discuss how the client can be extended to implement these plugins. +* Metrics will be needed to see how good the refactoring was, and what +opportunities it will provide -- these metrics would be good to be +mentioned in the application itself. +* (...more ideas?) + +[[transifex-permission-and-authorization-layer-tx_perm]] +== Transifex: Permission and authorization layer (#tx_perm) + +_Status:_ _Proposed_ + +_Summary of idea:_ + +Add user/authorization/permission layer on top of Transifex, to improve +the workflow Transifex creates by identifying key user groups and +implementing functionality for each one. + +* Developers, administrators, language leaders, editors, translators, +anonymous users: They all have different things to do in Transifex +* Add OpenID support +* Introduce string, release, translation freezes that influence what +some users can do +* Fine-grain permissions in Tx: Language maintainers, approvals by +proj/lang/branch, etc. Who owns what, who controls what. Add ability to +"hold" and "release" a project/branch, like in elvis. +* Requirement for this idea is to work with the creators of Vertimus. +This idea might (or might not) have common ground with Vertimus, and we +need to make sure that either Tx can interoperate with Vertimus, or that +the V folks know what we are working on and see how we can work together +(note: Vertimus is written in PHP, but some interest has been raised for +finding ways to work with Tx). + +[[transifex-add-async-repo-support-tx_async]] +== Transifex: Add async repo support (#tx_async) + +_Status:_ _Proposed_ + +_Summary of idea:_ + +Currently Tx requires a constant sync with the remote repo. A submission +triggers a push, and pulls happen continuously. We need to add a feature +to extend this paradigm with submissions living in Tx, until the next +push is run (probably by the developer or an editor). + +This way we can enable a bunch of nice stuff like, instead of Tx +pushing, add support for the developer to pull whenever she needs. Also, +having a temporary upload place which needs approval before actually +being committed will help QA and get new translators more easily +(language leaders can review). These could either be used as a temporary +upload space or as a way to allow non-authorized submissions (an +authorized user can move a Draft to an actual submission). + +Idea: Split files into multiple chunks and submit them all together? + +_Contacts:_ + +DimitrisGlezos + +[[transifexs-submissions-revisited-tx_submissions]] +== Transifex's Submissions revisited (#tx_submissions) + +_Status:_ _Proposed_ + +_Summary of idea:_ + +Currently Tx supports only a small set of submission methods, all tied +in with a version control commit approach. We want to create an abstract +submission system decoupled from vcs. On top of that we want to rebuild +all the current submission methods and to implement a set of other +requested methods such as email delivery, filling a ticket on trac or +bugzilla etc. + +In addition a primary goal is to build a CLI Client so translators can +submit their translations directly from their terminal. + +_Info:_ Proposed by Christos Trochalakis (application: +link:https://fedoraproject.org/wiki/ChristosTrochalakis/GSoC/Tx-Submissions[Tx Submissions revisited] ) + +[[transifex-tx-committer-service-tx_committer]] +== Transifex: Tx Committer service (#tx_committer) + +_Status:_ _Proposed_ + +_Summary of idea:_ + +Currently Transifex runs as a web server, running the actual commits +within the same process. This could be a bit of a security risk, and +we'd like to have the commit service run as a different user. An +advantage of this is that any repo can run this committer and control +the submissions instead of giving SSH access to a downstream project. + +* Split committer into a different component +* Move commit code outside transifex/ and into transifex-committer/ +* Practically, have it behave as a different application. First, we +could communicate with it via an API and then via JSON to have it +remotely. +* Use-cases: projects behind a firewall, upsteam projects not wanting to +give SSH access, etc. +* Work with SELinux a plus. + +_Contacts:_ + +DimitrisGlezos + +[[transifex-server-federated-architecture-tx_federated]] +== Transifex: Server-federated architecture (#tx_federated) + +_Status:_ _Proposed_ + +_Summary of idea:_ + +One of the most important assets of Tx is its community bridging +architecture. When multiple Transifex instances exist, they might want +to share stuff, like users, translation statistics and maybe +submissions. Eg. a Fedora user could submit something to the Debian +server, which will wait the approval of a Debian language leader. + +* For a single Tx instance to scale well, one might want to split its +functionality into (say) el.fooTx.org, pt.fooTx.org, etc. +* This splitting/joining requires something like a server to server +architecture/protocol and the ability to aggregate and delegate stuff on +both sides +* Some projects might want to have their own Tx instance which contains +internal projects, not publicly visible. At the same time, they might +have public projects wanting to freely receive translations, but also +they might want to allow their internal translators to use this instance +as a gateway to all other Tx servers. +* Minimizing the independence between the scattered Tx instances (ie. +building bridges between the Tx "islands") will bring the whole +"community bridging" idea of Transifex to a whole new level. This is the +goal we want to reach in the long term. + +The most important aspect of this idea is architecture design. The +student will need to have a very good image of content and translation +workflow, the process Transifex adopts, and study how open source +projects work together. + +Also, most likely the student will want to discuss a lot with the main +Transifex developers. Fluent English is probably an important asset for +someone applying for this idea. + +[[transifex-usability-and-efficiency-enhancements-tx_enhancement]] +== Transifex: Usability and efficiency enhancements (#tx_enhancement) + +_Status:_ _Proposed_ + +_Summary of idea:_ + +Currently our application to submit translations (Transifex) doesn't +have i18n support for translators to be able to translate it. Definitely +it is a thing than we have to do. The admin face of transifex needs some +enhancements. Currently we just have the option to add modules and +repos, but we can't handle them with edit or remove options. All +interactions with the user over the application could be quicker and +more efficient using Ajax calls mainly with JSON. It could improve the +user experience and make a great application improvement for all +translators. + +_Contacts:_ + +DiegoZacarao, DimitrisGlezos + +_Notes:_ + +* Add i18n support. +* Add user friendly interface to handle modules and repos. +* Should we merge the two modules lists of t.fp.o? +* Make all relevant interactions of application be called using Ajax. + +PS: The idea is based on what I'm able to work on. + +[[transifex-online-editing-integration-of-pootle-tx_pootle]] +== Transifex: Online editing, integration of Pootle (#tx_pootle) + +_Status:_ _Proposed_ + +_Summary of idea:_ + +Currently, translators have to manually download PO files from outside +of Transifex, change them, then use Transifex to submit these changed +files to a project's repository. It would lower the bar of entry quite a +bit if they could edit the translations, one at a time (i.e.: not the +complete PO file, but individual messages), directly in Transifex. With +http://translate.sourceforge.net/wiki/pootle/index[Pootle] , there is a +web-based PO file editor which could be integrated with Transifex. + +The work proposed here involves getting Pootle and Transifex working +together, in a way that Pootle uses Transifex to handle and submit +files. The idea is that we have a community that already uses a workflow +around traditional, VCS-centric translations, which would like to use a +web-based translation for some modules. Here are some details about what +could be done: + +* Add necessary configuration options in Pootle to use Transifex for +certain tasks and particular modules. +* Abstract what is needed to retain compatibility with the traditional +way of handling files in Pootle. +* Extend Transifex in a way that accepts submissions without the web +interface (might need some discussion with the student working on the +Command Line Interface). + +_Contacts:_ + +NilsPhilippsen, DimitrisGlezos + +_Notes:_ + +* Edit translations directly in Transifex (or in a seamless, integrated +way with Tx), operating on individual messages. +* Compare pootle to locally running PO editors (e.g. kbabel, +gtranslator, poedit), check if essential functionality is missing and +eventually implement it (e.g. does it display eventually included source +code comments which help translating the message, cf. "xgettext +--add-comments ..."). +* Evaluate whether certain Pootle functionality (e.g. translation +suggestions) is needed or can be disabled for Transifex. + +[[smolt-pretty-web-2.0-interfaces]] +== Smolt: Pretty Web 2.0 Interfaces + +_Status:_ _Proposed_ + +_Summary of idea:_ + +smolts.org stores alot of information already. Getting the information +out to the public in the way that is useful to people is hard. There is +a number of ways this can be done, and we've discussed many. We are +looking for someone who is interested in finding out ways to tell people +more about their own computer. + +The Smolt program collects statistics about hardware running Linux and +other data that goes with it. It collects lists of hardware devices, +type of CPU, hard drive information and other statistics for each +machine. While we can deliver statistics that are useful as fun +factoids, they do not help out people looking for detailed information. +This also does not inform people about any known issues about their +machine. Two classic examples of what we are looking for are these: + +* Joe wants to know how many machines running Fedora 9 Betas have +SELinux enabled +* Fred needs to know that there is new eratta for his soundcard, perhaps +we can make sound work on his new machine finally! +* Tim's machine works perfectly, how can he tell us this, so that we can +mark our stamp of approval + +These are only guidelines of the things we are looking for. This project +is very open ended, and you can do what you feel like. New Ideas are +very welcome. You will work concurrently with one or two other +developers who will work on parallel ideas, so you will not be +completely on your own. + +You will need only some basic web skills and a basic understanding of +data structures. This project is based on implementing whiz-bang ideas, +and not on using technology X. Smolt is based off of Turbogears, +SQLAlchemy, and MySQL. Basic experience in any of these technologies, or +just Python is a plus.. + +_Contacts:_ + +* YaakovNemoy +* MikeMcGrath + +_Notes:_ + +* Create a good web interface to access data from the server +* Make Smolt more helpful to the end user +* If you like buzzwords, this project is very Web 2.0 oriented. + +[[election-software]] +== Election Software + +_Status:_ _Proposed_ + +_Summary of idea:_ Currently, our election software can only handle one +groups (FESCo, FAB, etc.) election at the time. We would like to see it +modified to handle multiple groups at a time. + +_Contacts:_ ToshioKuratomi, BrianPepple + +_Notes:_ The current software we're using resides at +http://cvs.fedoraproject.org/viewcvs/fedora-vote/?root=fedora + +If there is enough time during the GSoC, we would advocate rewriting +this software as a TurboGears app. This will make it 1) fit into our +existing infrastructure (auth will be very easy, for instance). 2) Make +it more extensible. So we could add history view of past elections, +on-the-fly updates of how the vote is going, etc. + +[[spin-chooser]] +== Spin chooser + +_Status:_ _Proposed_ + +''Summary of idea: In this idea spins can be chosen while installing +fedora. If somebody has downloaded a dvd or a cd he can chose the a +predefined group of packages defined in the package chooser such as +choosing gamer will install all games and utilitiess available in the +dvd and the rest from internet. This would save people time as they +won't have to select apps one by one in the package chooser '' + +_Contacts: arnavkalra007@gmail.com_ + +_Notes:_ + +[[idea-name-template]] +== Idea Name (Template) + +_Status:_ _Proposed_ or _Ready for Use_ + +_Summary of idea:_ + +_Contacts:_ + +_Notes:_ + diff --git a/gsoc/2009/ideas.adoc b/gsoc/2009/ideas.adoc new file mode 100644 index 0000000..8daeb16 --- /dev/null +++ b/gsoc/2009/ideas.adoc @@ -0,0 +1,361 @@ += Ideas: Google Summer of Code 2009 +//// +Other ideas that were incomplete or worth considering are found at +link:Summer_coding_ideas_for_2008[Summer coding ideas for 2008]. +//// +Find an idea you like? Want to propose your own? See our Getting Started +Guide: + +http://groups.google.com/group/redhat-summer/web/gsoc-getting-started + +[[project-name]] +== Project name + +_Status:_ + +_Summary of idea:_ + +_Contacts:_ + +_Mentor(s):_ + +_Notes:_ + +[[cobbler]] +== Cobbler + +_Status:_ Proposed + +_Summary of idea:_ Various ideas related to Cobbler : +http://fedorahosted.org/cobbler + +_Contacts:_ MichaelDeHaan + +_Mentor(s):_ MichaelDeHaan + +_Notes:_ The cobbler project is a Linux (and soon to be other OS) +installation server with numerous datacenter automation features. +Possible ideas for GSOC include web app workflow improvements, or a +collection of many numerous RFEs in Fedora Hosted's Trac instance +(fedorahosted.org/cobbler). Students should also have their own original +ideas and an interest in datacenter automation -- folks doing admin work +for their college and interested in using cobbler are ideal. We are +interested in folks that (A) can show they understand the goals of the +project and understand it's present features (as to not reinvent things +it already does or are out of scope), (B) have new ideas of their own +and are creative, and (C) are interested in the domain of datacenter +automation, systems management, virtualization, or constructing SkyNet. +Some knowledge of Python, Perl, Ruby, or a similar dynamic language is +required. Cobbler is all Python so if you're a Python hacker, we'd be +especially glad to have you. If you'd like to contact me to refine your +ideas prior to submitting or just ask questions, that's great, please do +so. (mdehaan AT redhat DOT com) + +[[instantmirror]] +== InstantMirror + +_Status:_ Proposed + +_Summary of idea:_ There exist various existing repository replication +methods to mirror repositories, each with their own pros and cons. +InstantMirror aims to solve problems of data repository replication in +an efficient way. Various modern techniques are utilized and combined +like Squid-like reverse proxy cache and cache expiry algorithm, +rsync-like local directory trees, Torrent style efficient swarming +many-to-many data replication. This project if implemented would +dramatically improve the efficiency and timeliness of repository +replication. This could be very useful for mirror networks like +kernel.org, Fedora, Debian, CPAN, etc. ''' n _Contacts:_ WarrenTogami + +_Mentor(s):_ WarrenTogami, RikvanRiel + +_Notes:_ + +* https://fedorahosted.org/InstantMirror/ + +[[packages-end-user-ui]] +== Packages End User UI + +_Status:_ Proposed + +_Summary of idea:_ A User Interface to the PackageDB for end users to +find and review packages + +_Contacts:_ Toshio Kuratomi + +_Mentor(s):_ Toshio Kuratomi + +_Notes:_ This idea has already been taken up and a more detailed +proposal worked on by maploin, Ionuț Arțăriși + +Many Linux distributions have a website that shows what packages are +present in the distribution to users of the distribution. These websites +have pages that tell what the software does, how to use it, what version +it is, and so on. We'd like to add the same capabilities to the Fedora +Package Database so that Fedora Users can come there to see what +packages are in Fedora. + +We also want to add a few features that aren't in other systems. + +* The ability to filter these as applications instead of packages, +* Letting end users comment on the applications to help other end users +* Letting end users tag the packages with keywords to make searching +easier + +More details here: + +* https://fedorahosted.org/packagedb/wiki/EndUserUI + +[[new-developer-ui-for-the-packagedb]] +== New Developer UI for the PackageDB + +_Status:_ Proposed + +_Summary of idea:_ Update the Packager's User Interface to be more +efficient. + +_Contacts:_ Toshio Kuratomi + +_Mentor(s):_ Toshio Kuratomi + +_Notes:_ This idea has already been taken up and a more detailed +proposal worked on by Ranjith Kannikara + +The Package Database provides an adequate interface to managing acls on +packages but there are some definite warts that cause our packagers to +spend too much time on the beaurocracy of maintaining packages rather +than coding. This proposal is to address several outstanding feature +requests and create some new interfaces that will make managing package +acls much easier. + +More details here: + +* https://fedorahosted.org/packagedb/wiki/NewDevUI + +[[robotics-livecd-with-simulator-environment]] +== Robotics LiveCD with Simulator Environment + +_Status:_ Proposed + +_Summary of idea:_ Create a LiveCD that provides a simulation +environment and tools to start robotics experiments. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Timn[Tim Niemueller] + +_Mentor(s):_ Don't know, would like to be the student + +_Notes:_ I would like to integrate the robot software that I've +developed at university (and that is going to be released to the public +real soon now as GPL'ed OSS) into Fedora, then integrate the +Gazebo/Stage simulators properly into Fedora and the software and +provide a simple development playground that one can use to make the +robots move in the simulation and solve tasks. Maybe a simple task-based +game (get the robot to pick the can and bring it to the place marked +with X) could come out of it. My diploma/master thesis (that I'm +finishing atm) is about efficient and simple behavior control employing +Lua, so this would be a really good fit. This project would be embedded +into the link:https://fedoraproject.org/wiki/SIGs/Robotics[Fedora Robotics SIG]. + +[[spacewalk]] +== Spacewalk + +_Status:_ Proposed + +_Summary of idea:_ PostgreSQL support in Spacewalk + +_Contacts:_ JesusRodriguez + +_Mentor(s):_ JesusRodriguez + +_Notes:_ Spacewalk is an open source Linux systems management solution. +It allows you to: + +* Inventory your systems (hardware and software information) +* Install and update software on your systems +* Collect and distribute your custom software packages into manageable +groups +* Provision (Kickstart) your systems +* Manage and deploy configuration files to your systems +* Monitor your systems +* Provision virtual guests +* Start/stop/configure virtual guests + +Currently Spacewalk works only with Oracle, which is why enabling it to +work with PostgreSQL would be a great project. + +* https://fedorahosted.org/spacewalk/wiki/PostgreSqlProject +* https://fedorahosted.org/spacewalk/ + +[[fedora-feature]] +== Fedora Feature + +_Status:_ Proposed + +_Summary of idea:_ Create any open ended Feature which must be approved, +and will be included in Fedora 12 + +_Contacts:_ link:https://fedoraproject.org/wiki/User:ynemoy[Yaakov Nemoy] + +_Mentor(s):_ Yaakov Nemoy + +_Notes:_ For more information link:https://fedoraproject.org/wiki/User:Ynemoy/GSOC_2009[click this link +here], or try to get in contact with Yaakov Nemoy + +[[packagekit-fix-app-install]] +== PackageKit: fix app-install + +_Status:_ Proposed + +_Summary of idea:_ Fix app-install problems and let it be accepted to +Fedora. + +_Contacts:_ Richard Hughes + +_Mentor(s):_ Richard Hughes + +_Notes:_ + +See +http://blogs.gnome.org/hughsie/2009/03/05/application-installing/[this +blog post] about more information of app-install in general. + +See +https://bugzilla.redhat.com/show_bug.cgi?id=488968[fedora-app-install] +review request about problems expressed. + +At least the following problems are addressed: + +* Layout of app-install metadata and application icons inside of +repository, +* Pregenerating of app-install metadata and icons, +* Change app-install to download metadata from repository, +* Learn app-install to download icons on demand. + +[[ekg]] +== EKG + +_Status:_ Proposed + +_Summary of idea:_ Help build a community scanner that gives detailed +statistics and provides visualizations about what the Open Source +community is up to. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:ynemoy[ Yaakov Nemoy], link:https://fedoraproject.org/wiki/Michael_DeHaan[Michael +DeHaan], Max Spevack + +_Mentor(s):_ Yaakov Nemoy and Michael DeHaan + +_Notes:_ EKG (http://fedorahosted.org/ekg) is a tool that lets us +monitor community mailing lists and see where traffic is coming from. +What projects are becoming more popular? What is the mix of people +posting to various lists? What's the pulse on the community? + +As a contributor, you will help extend EKG to track additional +resources, mine new data, and create new visualizations, metrics, and +comparisons. We will measure the contributions by company and +organisation and community members. There is a lot of room for work in +web visualization, whether this means making new charts and graphs or +attempting to find ways to show a lot of information at a glance. + +You will get to work with the following technologies: + +* Python +* HTML +* Javascript +* SQLAlchemy +* Python templating languages + +Students should bring some of their own ideas to table when submitting +proposals. This may be a very good project for a student with interests +in data mining, statistics, or (2D) data visualization. + +[[jboss.org-ideas]] +== JBoss.org ideas + +The JBoss.org crew is proposing as a mentoring organization with the +Fedora Project, as has been done in the past. That ideas page is here: + +http://www.jboss.org/community/docs/DOC-13401 + +[[transifex-ideas]] +== Transifex ideas + +The Transifex team is proposing ideas under the Fedora Project mentoring +organization for this year's Summer of Code. + +Coding includes Python and Django, Web frameworks, workflow development, +and the chance to contribute to something used by quite a few folks. + +A full list of ideas can be found on the Transifex wiki page: + +http://transifex.org/wiki/Development/SummerCoding/Ideas + +[[augeas]] +== Augeas + +_Status:_ Proposed + +_Summary of idea:_ Various ideas around Augeas : http://augeas.net/ + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Lutter[David Lutterkort] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Lutter[David Lutterkort] + +Augeas is a command line tool and library to make editing of +configuration files from programs and scripts easier. It does that by +parsing existing configuration files into a tree, allowing modifications +of the tree through an API, and writing the tree back to the original +configuration file with those modifications. + +There are a wide variety of interesting projects to enhance Augeas +itself or build tools on top of it. Depending on the specific project, +required skills range from learning the ins and outs of specific config +files to python scripting and the ability to solve hard research +problems. + +Detailed list of ideas at http://www.augeas.net/page/Project_Ideas + +[[better-iptables-management]] +== Better iptables management + +_Status:_ Proposed + +_Summary of idea:_ Write a tool to help understand and modify iptables +rules + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Lutter[David Lutterkort] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Lutter[David Lutterkort] + +The iptables config is a scary file, especially when programs need to +modify it, since making a change often requires that the program +understands what a chain does in its entirety. It would be much better +to have a tool that can answer questions like "What does chain X do to +packets that look like this ?" and "Modify chain X to ACCEPT/DROP/REJECT +packets that look like this" in a way that avoids redundant rules. +Solutions to these are described in a few research papers. + +You should have a basic knowledge of iptables configuration, interest in +writing OCaml (preferred) or C code, and be willing to learn about some +theoretical concepts like binary decision diagrams (BDD's) + +[[backup-system-on-btrfs]] +== Backup system on btrfs + +_Status:_ Proposed + +_Summary of idea:_ Write a backup system on btrfs (use snapshots ) + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Kushal[ Kushal Das] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Kushal[ Kushal Das] + +btrfs is upcoming filesystem which is already there in rawhide. It +include unique feature of create snapshots, one can easily go back to +the previous states of the files using that. In the current condition it +is better to take snapshots of subvolumes only. + +Primary task will be to create an independent GUI based app to browse +the history. In future one can patch the major file managers for this +feature. + diff --git a/gsoc/2010/ideas.adoc b/gsoc/2010/ideas.adoc new file mode 100644 index 0000000..c819b9b --- /dev/null +++ b/gsoc/2010/ideas.adoc @@ -0,0 +1,794 @@ += Ideas: Google Summer of Code 2010 +This page holds all the ideas suggested by community members for the +link:indes.html[Fedora Summer Coding 2010] program. + +Scroll to the bottom of this page for all the pages in the 2010 ideas +category. +//// +__TOC__ + +Other ideas that were incomplete or worth considering from the past are +found at link:Summer_coding_ideas_for_2009[Summer coding ideas for +2009]. +//// +Looking for JBoss.org ideas? +http://community.jboss.org/wiki/GoogleSummerofCode2010 + +[[process]] +== Process + +1. Think in terms of use cases. ++ +:: + If you provide a use case and some ideas of how to solve, you give + more room for students to put in their own ideas and passion. + + + Consider if that is possible for each of your project ideas. +2. Prepare a project idea page, part of which is included on this page. ++ +:: + To learn how to add an idea to this page, read + link:https://fedoraproject.org/wiki/How_to_create_an_idea_page_for_Summer_Coding[How to create an + idea page for Summer Coding]. + +[[idea-page-sample]] +== Idea page sample +//// +The main page for this idea is +link:Summer_Coding_2010_ideas_-_Idea_page_sample[Summer Coding 2010 +ideas - Idea page sample]. +//// +_Status:_ + +_Summary of idea:_ + +_Contacts:_ + +_Mentor(s):_ + +_Notes:_ + +[[rhq]] +== RHQ +//// +The main page for this idea is +link:Summer_Coding_2010_ideas_-_Libyahoo2[Summer Coding 2010 ideas - +Libyahoo2]. +//// + +_Status:_ "Idea" + +_Summary of idea:_ Add features to the +http://libyahoo2.sourceforge.net[libyahoo2 messaging protocol library] + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Siddhesh[Siddhesh Poyarekar] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Siddhesh[Siddhesh Poyarekar] + +_Notes:_ A brief list of features that are currently needed: + +* Webcam support +* Voice support +* Yahoo! Chat room support + + +[[kde-netbook-spin]] +== KDE Netbook Spin +//// +The main page for this proposal is +link:Summer_Coding_2010_ideas_-_KDE_Netbook_Spin[Summer Coding 2010 +ideas - KDE Netbook Spin]. +//// +_Status:_ Accepting Applications + +_Summary of idea:_ The creation of an official KDE Netbook Edition Spin +for Fedora 14 + +_Contacts:_ Ryan Rix < rrix fedoraproject.org >, rrix on +irc.freenode.net/#fedora-kde + +_Mentor(s):_ Ryan Rix rrix on irc.freenode.net/#fedora-kde, Jaroslav +Reznik jreznik on irc.freenode.net/#fedora-kde + + +[[welcome-wizard]] +== Welcome Wizard +//// + main page for link:Summer_Coding_2010[Summer Coding 2010] ideas is +link:Summer_Coding_2010_ideas_-_Welcome_Wizard[Summer Coding 2010 ideas +- Welcome Wizard]. +//// + +_Status:_ Idea + +_Summary of idea:_ A step by step process of joining the Fedora Project. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Mmcgrath[Mike McGrath] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Mmcgrath[Mike McGrath] + +_Notes:_ Right now when new users sign up for an account, they have NO +idea what to do next. One common thing is applying for a bunch of +seemingly random groups, then trying to ssh to fedorapeople. Then just +having your applications sit there... forever never getting approved. + +I'd like for the account system to have a simple wizard interface (via a +plugin), welcomes users, explains how Fedora works and explains how to +apply for groups and what to expect. We may have to come up with a +standard way to apply for groups, to be discussed. + +[[packagedb-enhancements]] +== PackageDB Enhancements +//// +The main page for this idea is +link:Summer_Coding_2010_ideas_-_PackageDB_Enhancements[Summer Coding +2010 ideas - PackageDB Enhancements]. +//// + +_Status:_ Proposed + +_Summary of idea:_ The Fedora PackageDB contains information that both +developers and end users would find useful about the applications and +packages in Fedora. There are a large variety of changes that could be +useful for it ranging from the mundane (example: porting to TurboGears2, +adjusting the way we link between the Application and Package +interfaces) to redesigning the database model, or including new +features. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:toshio[Toshio Kuratomi] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:toshio[Toshio Kuratomi] + +_Notes:_ Some ideas are listed on +https://fedorahosted.org/packagedb/wiki/ToDo + + +[[copr]] +== Copr +//// +The main page for this idea is +link:Summer_Coding_2010_ideas_-_Copr[Summer Coding 2010 ideas - Copr]. +//// + +_Status:_ Proposed + +_Summary of idea:_ Copr (Cool Other Package Repo) is a Fedora project to +help make building and managing third party package repositories easy. +Copr is being implemented this summer by Seth Vidal and Toshio Kuratomi. +They would welcome help from interested students. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Toshio[Toshio Kuratomi(abadger1999)] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Toshio[Toshio Kuratomi(abadger1999)] + +_Notes:_ : +//// +Category:Copr[ More information about Copr] +//// + +[[gnome---nautilus-search-dialog]] +== Gnome - Nautilus Search dialog +///// +The main page for this idea is +link:Summer_Coding_2010_ideas_-_Gnome_-_Nautilus_search[Summer Coding +2010 ideas - Gnome - Nautilus search]. +//// +_Status:_ Idea + +_Summary of idea:_ Nautilus is the default file manager for Gnome +desktop. The current state of the search dialog is suboptimal, our goal +is to make it more rich and provide more options. For example, when we +had set Tracker as the primary search engine, we also committed users to +use their fulltext search by default. An option switching between +filename-based matching and fulltext search would be great addition. +Additional filters would also be a great asset. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:tbzatek[Tomáš Bžatek] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:tbzatek[Tomáš Bžatek] + +_Notes:_ See upstream bug +https://bugzilla.gnome.org/show_bug.cgi?id=612725#c6 for details + +[[chasm]] +== CHASM +//// +The main page for this idea is +link:Summer_Coding_2010_ideas_-_CHASM[Summer Coding 2010 ideas - CHASM]. +//// +_Status:_ Idea + +_Summary of idea:_ Various ideas related to http://chasmd.org[CHASM] + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Rescrv[Rob Escriva], link:https://fedoraproject.org/wiki/User:Mathstuf[Ben Boeckel +(mathstuf)] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Rescrv[Rob Escriva], link:https://fedoraproject.org/wiki/User:Mathstuf[Ben Boeckel +(mathstuf)] + +_Notes:_ CHASM, the Cryptographic-Hash-Algorithm-Secured Mirroring +solution, is a project that is to help alleviate a lot of the pains that +mirrors have in organizing and verifying their content. The project can +be thought of as a stateful `rsync` daemon in some respects, and solves +a problem that kernel.org and a number of other large mirroring +infrastructures have been looking into for several years now. This is +ultimately a project that will be used by a greater portion of the +larger mirroring infrastructures and as such has a lot of need for high +performance and good design. + + + +[[dgc-gtk-gui]] +== DGC GTK GUI +//// +The main page for this link:Summer_Coding_2010[Summer Coding 2010] ideas +is link:Summer_Coding_2010_ideas_-_DGC_GTK_GUI[Summer Coding 2010 ideas +- DGC GTK GUI]. +//// +_Status:_ Proposed + +_Summary of idea:_ The proposed work is to write the GTK GUI for Digital +Gate Compiler (DGC) to use the latest GTK+ 2.0 API. This is Fedora +Electronic Lab ticket #73: +https://fedorahosted.org/fedora-electronic-lab/ticket/73 + +_Contact:_ link:https://fedoraproject.org/wiki/User:Shakthimaan[ Shakthi Kannan] , "mbuf" at +irc.freenode.net/#fedora-india + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Shakthimaan[ Shakthi Kannan] , "mbuf" at +irc.freenode.net/#fedora-india + +_Notes:_ + + +[[infinispan]] +== Infinispan + +The main page for this idea is +http://community.jboss.org/wiki/StudentContributorProjectswithInfinispan. + +_Status:_ Proposed + +_Summary of idea:_ Improvements to Infinispan project +(http://www.jboss.org/infinispan) + +_Contacts:_ Manik Surtani + +_Mentor(s):_ Manik Surtani + +_Notes:_ Ideas are + +* ISPN-272 Recover from transaction failures +* ISPN-127 Ability to bring up/take down nodes based on SLAs +* ISPN-374 Add event handling to HotRod +* ISPN-57 Support Google App Engine +* ISPN-200 Distributed queries +* ISPN-262 Geographically distributed data grid +* ISPN-263 Handle MERGE events to deal with split brains + +Please check details at the Student/Contributor Projects with Infinispan +wiki page at +http://community.jboss.org/wiki/StudentContributorProjectswithInfinispan + + +[[seam-framework]] +== Seam Framework + +The main page for this idea is +http://seamframework.org/Community/StudentProjects. + +_Status:_ Proposed + +_Summary of idea:_ Improvements and new features to seam Framework +(http://seamframework.org/) + +_Contacts:_ Pete Muir + +_Mentor(s):_ Pete Muir + +_Notes:_ Ideas are + +* JBoss ESB integration with CDI +* Errai (GWT) integration with CDI +* Errai (GWT) integration with CDI events +* Errai (GWT) integration with Seam Security +* Extensible project management tooling environment (based on Maven and +Maven Archetypes) +* Conversations with remote EJBs + +Please check details at the Student Projects wiki page at +http://seamframework.org/Community/StudentProjects + + +[[fsoc---four-seasons-of-code]] +== FSoC - Four Seasons of Code +//// +The main page for this idea is +link:Summer_Coding_2010_ideas_-_FSoC[Summer Coding 2010 ideas - FSoC]. +//// +_Status:_ Proposed + +_Summary of idea:_ Student Project Management System + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Shreyankg[Shreyank Gupta] , Shrink on +irc.freenode.net/#fedora-india + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Shreyankg[Shreyank Gupta] + +_Notes:_ The idea is to develop an application which would allow Mentors +and Students to collaborate effectively and get the process of mentoring +automated. + + +[[kronikarz---simple-tool-for-desktop-backup-restore]] +== Kronikarz - Simple Tool for Desktop Backup / Restore +//// +The main page for this idea is +link:Summer_Coding_2010_ideas_-_Kronikarz_-_shortinfo[Summer Coding 2010 +ideas - Kronikarz - shortinfo]. + +The main page for link:Summer_Coding_2010[Summer Coding 2010] ideas is +:Category:Summer_Coding_2010_ideas[:Category:Summer Coding 2010 ideas]. +//// +_Status:_ "Idea" + +_Summary of idea:_ Handy graphical tool for archiving settings of +desktop applications. This tool will be useful for users who: + +* want to simply backup / restore look-and-feel and settings of desktop +applications; +* frequently migrate from one distribution to another; +* have more then one device and want to sync settings. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Elemc[Alexei Panov] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Elemc[Alexei Panov] + +_Notes:_ Tool can be written to work with plugins (preferrable) or just +bunch of configuration files to describe backup / restore / sync methods +and enable support for certain application. + +Proposed features: + +* Easy search and select installed applications for backup / restore / +sync +* Can work as application or as daemon +* Has scheduler and backup / restore / sync settings (archive type, +passwords, compression rate, additive/solid, etc.) +* Custom selection of applications for archiving (one, group, all, etc.) +* Restoring data from archive with tracking of current application, +nonexistent on target machine applications should be reinstalled from +PackageKit +* Including user selected files in archive for restoring on target +machine (possibly searching and automatic including configuration files +or files of specified types). + + +[[unified-mobile-sync]] +== Unified Mobile Sync +//// +The main page for this idea is +link:Summer_Coding_2010_ideas_-_Unified_Mobile_Sync_-_shortinfo[Summer +Coding 2010 ideas - Unified Mobile Sync - shortinfo]. + +The main page for link:Summer_Coding_2010[Summer Coding 2010] ideas is +:Category:Summer_Coding_2010_ideas[:Category:Summer Coding 2010 ideas]. +//// +_Status:_ Idea + +_Summary of idea:_ Synchronization tool for mobile devices. The creation +of tool for data synchronization between mobile devices and desktop, +such as contacts, calendar, schedule, tasks, messages. Today mobility is +a major trend, so enabling synchronization between mobile and desktop is +important for Linux desktop adoption. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Anganar[Alexey Vasyukov] + +_Mentor(s):_ For the moment link:https://fedoraproject.org/wiki/User:Anganar[Alexey Vasyukov] + +_Notes:_ Proposed features: + +* Synchronization of contacts and calendar (required), tasks and +messages (desired) +* Support for popular mobile devices, simple extensibility for new +gadgets via plugins +* Support for popular desktop applications, simple extensibility for +other via plugins +* Simple graphical synchronization tuning tool – what to synchronize, +scheduling, rules (filters, conflict resolution, etc.) +* Enabling mobile device backup and restore +* Desirably running not only on Linux, but also on Windows and MacOS +(TBD) +* Think about future integration with open source collaboration suites +and unified communication systems. + +_Current state_ + +The current stage (stage 1) is about research and architecture design. +It can not be stuck to certain technologies. You need a broad vision of +different technologies to be successful at this stage. + + +Current stage will take at least 2-3 months. After it we will determine +coding tasks and timeline and proceed to stage 2 - prototype +implementation. + +The tasks for current stage: + +* Find out how to upload/download to/from popular mobile devices +(Android, iPhone, Symbian, PalmOS, Win Mobile, BB, etc) contacts, +messages, calendars, todos, media content, etc. It includes studying +what data is accessible, in what format we are to process it, what +protocols-libraries-APIs should be used. As a result we should get clear +understanding what and how can be synced for different devices. This +task will require gathering and reading tons of technical documentation +and writing code to check if documentation is really true. I can not +predict what programming languages, libraries, standards and protocols +you will encounter. + +* Find out how to upload/download to/from popular desktop apps +(Evolution, Thunderbird, KDE PIM, Outlook, etc) contacts, messages, +calendars, todos, media content, etc. Once again, it includes studing +what is accessible, in what format, via which channels. As a result we +should get clear understanding what and how can be synced with different +apps. This task will require, similarly with the previous one, reading +documentation and writing tests. Once again, I can not predict what +programming languages, libraries, standards and protocols you will +encounter. + +* Find out how to integrate mobile sync into current system +infrastructure for Linux desktop (dbus, udev, PackageKit, etc) and, +probably, Windows desktop (???). This task will require very good +knowledge of system design. + +* Prepare concept of GUI application and implement the first version +(with placeholders instead of real sync plugins). This task will require +knowledge of cross-platform programming with Python or C/C++ and +GTK/Qt/etc. Knowledge of GUI design and usability will be a big +advantage. + +* Prepare the architecture based on the results of tasks #1-4. The +architecture should meet the requirements [1]. Determine tasks for +complete UMS implementation. + +From my point of view each of the tasks #1-4 will require few +person-months. Task #5 will be solved collaboratively. + + +[[kde-fingerprint-support-for-various-components]] +== KDE fingerprint support for various components +//// +The main page for this idea is +link:Summer_Coding_2010_ideas_-_KDE_fingerprint_support[Summer Coding +2010 ideas - KDE fingerprint support]. +//// +_Status:_ Idea + +_Summary of idea:_ The aim of this project is to finish fingerprint +support for various KDE core components and package it for Fedora. The +current code supports KDM login & KDE locking and sits in KDE SVN +playground. Support to other KDE componenets have to be done - Polkit +KDE auth. agent, kdesu etc. Code should be accepted by upstream and +should go through KDE review to be shipped in official KDE SC releases. + +_Contacts:_ link:https://fedoraproject.org/wiki/JaroslavReznik[Jaroslav Reznik] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/JaroslavReznik[Jaroslav Reznik] & KDE SIG + +[[kde-usability-recording-tool]] +== KDE Usability recording tool +//// +The main page for this idea is +link:Summer_Coding_2010_ideas_-_KDE_Usablity_tool[Summer Coding 2010 +ideas - KDE Usablity tool]. +//// +_Status:_ Idea + +_Summary of idea:_ Usability engineers regularly administer usability +sessions. Within these sessions there are a number of things that they +need to record: + +The three most notable are the screen of the user being tested + +* An external camera source + +* An external microphone + +These must be compressed and multiplexed together, compressed. The tool +must be able to open these files, export them to other more conventional +types, i.e. an OGG simply of the users screen. + +_Contacts:_ link:https://fedoraproject.org/wiki/JaroslavReznik[Jaroslav Reznik] , +link:https://fedoraproject.org/wiki/User:Ltinkl?rd=LukasTinkl[Lukas Tinkl] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/JaroslavReznik[Jaroslav Reznik], link:https://fedoraproject.org/wiki/User:Ltinkl?rd=LukasTinkl[Lukas +Tinkl] & mentor @ university + +_Notes:_ for FIT BUT/FI MUNI students only + + +[[gnu-smalltalk-package-revamping]] +== GNU Smalltalk package revamping +//// +The main page for this idea is +link:Summer_Coding_2010_ideas_-_GNU_Smalltalk_package_revamping[Summer +Coding 2010 ideas - GNU Smalltalk package revamping]. +//// +_Status:_ Idea + +_Summary of idea:_ The GNU Smalltalk virtual machine is a monolithic +package in Fedora, and is not updated often. By contrast, the Debian +package separates all of the provided bindings into separate packages, +which allows to install the VM with fewer dependencies—for example +without GTK+ support, or without Expat, and so on. + +The project aims at providing a similar level of flexibility for the +Fedora package. In addition, it would be good to have a way to generate +from the same source the Fedora .spec file, the Windows installer +(currently done with a custom shell script that uses the Fedora mingw32 +cross-compilation environment), and the Debian package. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Bonzini[Paolo Bonzini] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Bonzini[Paolo Bonzini] + +[[unified-ink-level-reporting]] +== Unified ink level reporting +//// +The main page for this proposal is +link:Summer_Coding_2010_ideas_-_Unified_ink_level_reporting[Summer +Coding 2010 ideas - Unified ink level reporting]. +//// +_Status:_ Idea + +_Summary of idea:_ Several printer drivers are capable of reporting the +amount of remaining ink or toner in the printer they are driving, but +they all do it in different ways. Usually there is a command line +program that the user has to know about and run (and interpret the +output). For gutenprint there is escputil. For HPLIP there is hp-levels. +And so on. + +CUPS provides a unified framework for all drivers to report marker +levels in the same way, viewed and queried from a single user interface. +The same interface can be used for other "special" functions such as +cleaning/aligning the print heads, printing a self-test page, etc. We +just need the printer drivers to conform to this way of doing things. + +Changing both gutenprint and hplip would be sufficient to cover a large +number of printer models. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:twaugh[Tim Waugh] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:twaugh[Tim Waugh] + + +[[customizable-application-installer]] +== Customizable application installer +//// +The main page for this idea is +link:Summer_Coding_2010_ideas_-_Customizable_application_installer[Summer +Coding 2010 ideas - Customizable application installer]. + +The main page for link:Summer_Coding_2010[Summer Coding 2010] ideas is +:Category:Summer_Coding_2010_ideas[:Category:Summer Coding 2010 ideas]. +//// +_Status:_ Accepting Applications + +_Summary of idea:_ + +Ailurus is an application installer [1]. It lists specific software for +specific task. It lists few software, rather than all packages in Fedora +repository. It helps new users because new users can find out software +they want directly, rather than do searching in a lot of packages. Many +Fedora users are using Ailurus now. + +Our goal is to make Ailurus _customizable_. For example, users can add +comment for software. Software introduction can be changed. New software +items can be added. Existing software items can be removed. Under the +user's permission, the changes to the software items can be uploaded to +a web service on google app-engine, therefore other users will obtain a +benefit by downloading the changes. This application installer supports +extensions. Users can add their own function. + +[1] http://ailurus.googlecode.com + +_Contacts:_ link:https://fedoraproject.org/wiki/User:homerxing[Homer Xing] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:homerxing[Homer Xing] + + +[[gnome-file-sharing-administration-tool]] +== Gnome File Sharing Administration Tool +//// +Name: Gnome File Sharing Administration Tool + +The main page for this idea is +link:Summer_Coding_2010_ideas_-_Gnome_File_Sharing_Administration_Tool[Summer +Coding 2010 ideas - Gnome File Sharing Administration Tool]. +//// +_Status:_ Idea + +_Summary of idea:_ KDE has taken an advance on file sharing which is +Kcm-filesharing by allowing the user list all samba/nfs shares and allow +the user to configure the shares centrally and graphically, while which +is required but not supplied by Gnome. The proposed project aims to +create a utility that should provide a graphical administration tool to +configure both samba system shares and nfs shares. It is able to manage +the file sharing management, authentication, and other most worthy +configurations of samba and nfs. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Xtyangjie[Yang Jie] + +_Mentor(s):_ looking for a mentor + +[[beacon]] +== Beacon +//// +The main page for this idea is +link:Summer_Coding_2010_Ideas_-_Beacon[Summer Coding 2010 Ideas - +Beacon]. +//// +_Status:_ Proposed + +_Summary of idea:_ + +The idea is to have an inline DocBook XML editor in Zikula (or the +Fedora instance of Zikula). + +The preliminary tasks are to: + +1. Enable Zikula setup with DocBook support. +2. Enable wiki-like editing setup that can support revisions too +3. Enable XSL support for parsing of docbook to and from html + +_Contacts:_ + +link:https://fedoraproject.org/wiki/User:Satyak[Satya Komaragiri] + +_Mentor(s):_ + +1. link:https://fedoraproject.org/wiki/User:Satyak[Satya Komaragiri] +2. link:https://fedoraproject.org/wiki/User:n9986[Nandeep Mali] + + +[[libyahoo2]] +== Libyahoo2 +//// +The main page for this idea is +link:Summer_Coding_2010_ideas_-_Libyahoo2[Summer Coding 2010 ideas - +Libyahoo2]. +//// +_Status:_ "Idea" + +_Summary of idea:_ Add features to the +http://libyahoo2.sourceforge.net[libyahoo2 messaging protocol library] + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Siddhesh[Siddhesh Poyarekar] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Siddhesh[Siddhesh Poyarekar] + +_Notes:_ A brief list of features that are currently needed: + +* Webcam support +* Voice support +* Yahoo! Chat room support + + +[[fedora-musicians-guide]] +== Fedora Musicians' Guide +//// +The main page for this idea is +link:Summer_Coding_2010_ideas_-_Fedora_Musicians'_Guide[Summer Coding +2010 ideas - Fedora Musicians' Guide]. +//// +_Status:_ Idea + +_Summary of idea:_ The goal is to produce a document like the User +Guide, but focussed on applications that might be used by musicians. A +broad range of applications and application types will be covered, +including the installation and use of software from Planet CCRMA +(http://ccrma.stanford.edu/planetccrma/software/). + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Crantila[Christopher Antila] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Rlandmann[Rlandmann] and AnthonyGreen + + +[[freeseer-portable-presentationdemo-capture-station]] +== Freeseer portable presentation/demo capture station + +//// +The main page for this idea is +link:Summer_Coding_2010_ideas_-_Freeseer[Summer Coding 2010 ideas - +Freeseer]. +//// +_Status:_ Proposed + +_Summary of idea:_ + +Freeseer is a portable presentation capture tool. It captures vga +output/firewire/webcam/local desktop and audio and mixes them together +to produce a video thus enabling you to capture great presentations, +demos, or training material easily. The ideas for this project implement +various features to improve the Freeseer video capture software. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:fosslc[Andrew Ross] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:fosslc[Andrew Ross], link:https://fedoraproject.org/wiki/User:herlo[Clint Savage], +link:https://fedoraproject.org/wiki/User:zxiiro[Thanh Ha] + + +[[dorrie]] +== Dorrie +//// +The main page for this idea is +link:Summer_Coding_2010_ideas_-_Dorrie[Summer Coding 2010 ideas - +Dorrie]. +//// +_Status:_ Proposed + +_Summary of idea:_ + +Dorrie is a Web interface to build customized Fedora Remixes. It is a +Free Software licensed under the GNU Affero General Public License v3 or +later and written using Django/Python. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:shreyankg[Shreyank Gupta] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:shreyankg[Shreyank Gupta] + +_Notes:_ + + + +[[universal-build-id]] +== Universal Build-ID + +//// +The main page for this idea is +link:Summer_Coding_2010_ideas_-_Universal_Build-ID[Summer Coding 2010 +ideas - Universal Build-ID]. +//// +_Status:_ "Idea" + +_Summary of idea:_ Extend the Build-ID support to make it more +universally usable. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Mjw[Mark Wielaard], link:https://fedoraproject.org/wiki/RolandMcGrath[Roland McGrath] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Mjw[Mark Wielaard], link:https://fedoraproject.org/wiki/RolandMcGrath[Roland McGrath] + +_Notes:_ This is not a completely worked out idea yet. A proposal should +pick one or more scenarios and create a concrete implementation plan. + + + +[[shotwell-slideshowsprinting]] +== Shotwell slideshows/printing +The main page for this idea is +http://trac.yorba.org/wiki/SummerCodeIdeas . + +_Status:_ Proposed + +_Summary of idea:_ Shotwell is the default photo manager in Fedora 13. +Yorba (the open source group that develops Shotwell) is looking for +students interested in working on two different aspects of Shotwell this +summer. + +First, slideshows. Today, Shotwell's slideshows are primitive: photos +are simply displayed in succession with no transitions of any sort. We'd +like to implement fancier slideshows with cool-looking transitions. If +time permits, it would be great to add captions and/or music to +slideshows as well. + +Second, printing. Today, printing in Shotwell is basic: you can simply +print one photo per page on a white background. We'd like to let the +user print multiple photos per page, choose fancy borders and background +colors and so on. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:adamdingle[Adam Dingle] + +_Mentor(s):_ + +_Notes:_ + diff --git a/gsoc/2010/index.adoc b/gsoc/2010/index.adoc new file mode 100644 index 0000000..8ca831a --- /dev/null +++ b/gsoc/2010/index.adoc @@ -0,0 +1,463 @@ += Google Summer of Code 2010 + +The Fedora Summer Coding program connects students, mentors, +sub-projects, and sponsors to provide coding opportunities as summer +jobs. + +This page has information for all the groups involved. +(http://bit.ly/FSC-2010[Short URL.]) + +__TOC__ + +[[general-information]] +== General information + +The link:schedule.html[Summer Coding 2010 schedule] has +the timeline of events. + +The page link:index.html[Summer Coding 2010] +is the central location to find information about the program. + +[[you-are-a-student]] +== You are a student + +This section is for students interested in contributing to the Fedora +Project or JBoss.org through Fedora Summer Coding 2010. + +If you have an idea or want to participate through Fedora or JBoss.org, +you should already be looking around the community and +link:https://fedoraproject.org/wiki/Communicating_and_getting_help[communicating]. + +[[timeline-for-students]] +=== Timeline for students + +[[step-by-step-for-students]] +=== Step-by-step for students + +[[why-spend-your-summer-working-on-foss]] +=== Why spend your summer working on FOSS? + +When you work in the open on free software, you create a body of work +that follows you for the rest of your life. Rather than a coding +assignment done by thousands of other students and relegated to the +bottom of the bit drawer at semester's end, working in FOSS is a chance +to contribute to a living project. + +Working in FOSS gives you a chance to: + +* Work with real world large codebases. +* Collaborate with real engineers and other professional experts. +* Contribute to something meaningful while learning and earning student +value. +* Learn tools and processes that are just like what you are going to use +if you work in technology after graduation. +* Make friends and contacts around the globe. +* Possibly attract attention that gets you an internship or job after +graduation. +* Earn while you learn. We are planning to sponsor $5000 for full +projects and $2500 for half projects. Check out Summer_Coding_FAQ for +more details. + +[[why-work-with-fedora-and-jboss.org]] +=== Why work with Fedora and JBoss.org? + +Our projects are large and diverse. We are very experienced at working +with new contributors and helping them be successful. + +Many long-time contributors continue to be around, lending expertise and +mentoring. People who stay around the community and do good work are +noticed. They get hired for jobs from it, including being hired by Red +Hat. link:https://fedoraproject.org/wiki/GSoC_report_2009[Past Google Summer of Code students were +hired by Red Hat, as well as interns in various positions]. This is just +an example, as experience and reputation in the JBoss.org and Fedora +Project communities is influential on your career in many ways. + +As long-standing communities with many facets, it is possible for you to +find many rewarding sub-projects to work on. + +You should know that contributing to FOSS doesn't require you to have +super programming skills, or super-anything else. You just need be +interested and curious enough, and be willing to become comfortable +being _productively lost_. This is the state of learning through finding +your way around and figuring things out. + +[[do-you-want-to-start-from-ideas-mentors-already-have]] +=== Do you want to start from ideas mentors already have? + +Mentors and sub-projects have put up sections on the +link:ideas.html[Summer Coding 2010 ideas] page. There you +can find: + +* Full ideas that you might want to start on; +* Suggestions and use cases, to help you make up your own idea; +* Links to the sub-project/upstream where you can learn more. + +For example, if you are interested in doing something for the +http://rhq-project.org[RHQ Project], there is a link to an ideas page on +their website and how to contact the team. If you contact them, you can +learn about even more ideas, and share some of your thinking. + +Even if a mentor has an idea, you want to find one that inspires you. +You must become part of the idea yourself. + +[[do-you-have-an-idea-you-need-a-mentor-for]] +=== Do you have an idea you need a mentor for? + +People can be most passionate about an idea that is their own. That +passion can be what helps you get through the hard part of the project. + +Do you know what person or sub-project in JBoss or Fedora that might be +the mentoring group for your idea? + +You need to do these things: + +1. Contact the relevant sub-project for your idea or contact +http://lists.fedoraproject.org/mailman/listinfo/summer-coding-discuss[the +discussion group]. +2. Be prepared to explain your idea, receive input and criticism, and +grow (or reduce) the idea so it has the best chance of being accepted +for Fedora Summer Coding. +3. Create an idea page, noting in the section for mentors that you are +looking for a mentor. Use +link:https://fedoraproject.org/wiki/How_to_create_an_idea_page_for_Summer_Coding[How to create an idea +page for Summer Coding] to make the page. + +[[are-you-already-working-in-the-fedora-or-jboss-communities]] +=== Are you already working in the Fedora or JBoss communities? + +Students who are users, participants, or contributors in the Fedora and +JBoss communities are _encouraged_ to participate. + +Do you have ideas for what you'd like to see in the project? + +Are you working in an area of the project that might want to mentor you +for your Summer Coding 2010 work? For example, if you write for the +Fedora Documentation Project or translate for the Fedora Localization +Project, talk with your group to see if there are ideas you can turn in +to a student proposal, with another sub-project member as the mentor. + +[[what-are-my-chances-of-having-a-proposal-accepted]] +=== What are my chances of having a proposal accepted? + +This is the first year we are running a solo summer coding program, and +many details are being finalized in parallel with taking and reviewing +proposals. For example, sponsors are still being sought, which affects +the size of the funding pool. We'll announce this information as it is +known and decided; final funding-per-student may vary and is dependent +on the quality of proposals as well as size of funding pool. + +We may not be able to fund as many projects as we ran under the Google +Summer of Code, but our goal is on quality and not quantity. + +We intend to run Fedora Summer Coding in the future. One idea is to run +it for the summer in the Southern Hemisphere (Sep 2010 to Feb 2011). If +you don't get in this round, keep trying! You are welcome to keep +lurking and offering ways to help improve the program for future rounds. + +[[you-are-a-mentor]] +== You are a mentor + +Wanting to be a mentor is a good thing. Join the +http://lists.fedoraproject.org/mailman/listinfo/summer-coding-discuss[discussion +list] and tell us about yourself, your project idea, and so forth. + +You must be committed to work with the student and be a liaison between +the student, sub-projects, upstreams, and the overall project (Fedora +Project or JBoss.org.) You can come from a Fedora sub-project, an +upstream such as a JBoss.org project, from a university or college +sponsoring students, as a few examples. + +After discussion on the main Summer Coding 2010 list, you will be +invited to join the private mentor discussion list + +[[timeline-for-mentors]] +=== Timeline for mentors + +[[step-by-step-for-mentors]] +=== Step-by-step for mentors + +[[what-to-do-with-your-ideas]] +=== What to do with your ideas + +Put them here on the : link:ideas.html[Summer Coding +ideas] page. Reference +link:https://fedoraproject.org/wiki/How_to_create_an_idea_page_for_Summer_Coding[How to create an idea +page for Summer Coding] when creating your idea. + +We are looking in to using http://openhatch.org[OpenHatch] for managing +ideas. If you are interested in learning more about that, join us on the +http://lists.fedoraproject.org/mailman/listinfo/summer-coding[Summer +Coding SIG mailing list]. + +[[how-to-work-with-students]] +=== How to work with students + +One way is to provide an idea for students to work on. This idea might +be very well planned out, in which case you may need a high-level of +contact with the student to get it implemented correctly. + +It is harder to find success where you are completely certain of how an +idea needs to be implemented; finding a student with the skills and +interest to implement a specific solution is a lot harder than finding a +student with enough skills to respond to a use case need. + +Where you can have looser ideas, you may be able to find a student who +works as a sort-of intern who can implement a solution to a use case you +have. In past experiences, students going after a use case are more +likely to get somewhere with self-direction. + +You may also want to work with a student who brings an idea to your +sub-project. This requires a different level of communication throughout +the project, but can be the most rewarding. + +[[mentor-responsibilities]] +=== Mentor responsibilities + +You are an essential part of the student's success, the project's +success, and the success for your overall organization (Fedora, +JBoss.org, or another). + +Your responsibilities include: + +* Being an interface for an identified sub-project or SIG in Fedora or +JBoss.org. +* Helping students communicate with the overall project and any +upstreams. +* Be the final, accountable person for deciding if the student is +successful or not, which affects payment. + +[[are-you-committed-to-working-with-all-parties]] +=== Are you committed to working with all parties? + +You need to be committed to working on your part of the Fedora Summer +Coding 2010 for it to be successful. You may want to work with another +mentor (_co-mentoring_) to ensure there is always someone available to +work with the student and other project members. + +[[how-to-comment-on-proposals]] +=== How to comment on proposals + +[[you-are-a-sub-project]] +== You are a sub-project + +Sub-projects are teams working on discrete parts of the Fedora Project +or JBoss.org. For example: + +* Fedora Infrastructure +* RHQ +* Fedora Docs Team +* Drools +* Fedora Website Team + +[[timeline-for-sub-projects]] +=== Timeline for sub-projects + +[[step-by-step-for-sub-projects]] +=== Step-by-step for sub-projects + +https://fedoraproject.org/wiki/Summer_Coding_2010#Step-by-step_for_sub-projects[Summer +Coding 2010 step-by-step for sub-projects] + +[[working-with-students-and-the-summer-coding-program]] +=== Working with students and the Summer Coding program + +You can gain a lot of value from students working via the Summer Coding +program in your sub-project area; read link:https://fedoraproject.org/wiki/GSoC_report_2009[GSoC report +2009] for examples. + +Your sub-project may need to identify a single mentor to work with the +student, if the mentor doesn't come from somewhere else in +Fedora/JBoss.org. In addition, you want a back-up mentor or, in some +cases, co-mentors, to ensure continuity for the student and the rest of +the sub-project. + +If you have ideas/problems you want students to work on, they are best +served to the students as use cases. If you do have a strong plan for +execution, make that clear in the idea so the student knows it is more +of a guided project. + +Some experience shows that student projects have a higher success rate +for all involved when more of the initial idea is from the student. Keep +that in mind as you create ideas. + +Ideas can be divided in to several parts for different students. There +are no explicit limitations on how students may interact on multiple +parts of a project. For example, two students could team build a new +component instead of working on two discrete components separately. + +[[you-are-a-sponsoring-organization]] +== You are a sponsoring organization + +Fedora Summer Coding is about connecting sponsors (those with resources +to share) with students (those with time, passion, and skills to share.) + +[[timeline-for-sponsoring-organizations]] +=== Timeline for sponsoring organizations + +[[step-by-step-for-sponsors]] +=== Step-by-step for sponsors + +https://fedoraproject.org/wiki/Summer_Coding_2010#Step-by-step_for_sponsors[Summer +Coding 2010 step-by-step for sponsors] + +[[why-you-should-be-a-sponsor]] +=== Why you should be a sponsor? + +What do you get out of it? + +* Positively impact FOSS projects. +* Get your brand in front of smart students who want to work on FOSS. +* Potentially end up +link:https://fedoraproject.org/wiki/GSoC_report_2009#Recruiting_new_Red_Hat_associates[hiring great +developers through the program]. +* Work on a community program that demonstrates how open source business +is done. +* See something you’d like coded be completed. +* Other positive brand associations. + +[[what-you-need-to-do]] +=== What you need to do + +We need to start talking, soon. + +* Open by default on the discuss list - +http://lists.fedoraproject.org/mailman/listinfo/summer-coding-discuss +* Private via direct email to project leadership - link:https://fedoraproject.org/wiki/User:Quaid[Karsten +Wade], ... + +What are the resources you can supply? + +1. Money to pay stipends to students for spending focused time on these +FOSS projects. This is a cross between a summer job and an internship. +2. Someone to help coordinate and to contribute as part of the Fedora +Summer Coding special interest group (SIG). +3. Mentors, especially if they work actively in sub-project or area the +sponsor is supporting. + +[[what-does-the-summer-coding-program-do]] +=== What does the Summer Coding program do? + +The Fedora Summer Coding mentors sort the student ideas, generate the +list of approved proposals, work with the students throughout the +summer, and make sure you hear back about how things went. + +It’s not necessary as a sponsor to have ideas of how your resources +should be used, that’s what the Fedora Project and JBoss.org mentors and +sub-projects are prepared to do. + +You can learn more about the model we are using in this blog post, +http://blog.melchua.com/2010/03/04/summer-of-code-swimchart-now-with-more-generic/[Summer +Of Code Swimchart: Now With More Generic.] + +[[you-are-an-upstream]] +== You are an upstream + +[[timeline-for-upstreams]] +=== Timeline for upstreams + +[[step-by-step-for-upstreams]] +=== Step-by-step for upstreams + +https://fedoraproject.org/wiki/Summer_Coding_2010#Step-by-step_for_upstreams[Summer +Coding 2010 step-by-step for upstreams] + +[[has-a-student-brought-a-project-idea-to-you]] +=== Has a student brought a project idea to you? + +Please join the +http://lists.fedoraproject.org/mailman/listinfo/summer-coding-discuss[discussion +list] and talk with us about it. We'll ask at least one member of your +project to be on that list throughout the 2010 program. It is not a +requirement, and you can best work it out with the student's assigned +mentor. + +[[do-you-have-one-or-more-ideas-you-want-exposed-to-students]] +=== Do you have one or more ideas you want exposed to students? + +As long as the idea is relevant for the Fedora Summer Coding program, +you can put it on the link:ideas.html[Summer Coding 2010 +ideas] page. Follow the process on that page. + +As this is a program for the Fedora Project and JBoss.org, there must be +some benefit to those projects for your upstream idea. When you bring +the topic to the discussion list, be prepared to talk about that. + +There must be a demonstrable benefit to Fedora, even if it is only +updated code in a package. Another example is having a student do the +work of getting your software packaged for Fedora. All of your ideas and +ramifications should be topics on the discussion mailing list. + +[[are-you-committed-to-working-with-all-parties-1]] +=== Are you committed to working with all parties? + +A project needs a mentor. Throwing an idea over the wall on to the wiki +page doesn't get it the attention it needs to be part of the Summer +Coding program. If you put an idea out there but do not have a mentor in +mind for it, it is left open to the Summer Coding mentors and +administators to sort out. + +When considering a proposal, the mentors look at the amount of +connection with upstream is required, and how strong the communication +channels are. A stronger connection means the proposal looks better. + +[[you-are-a-campus-ambassador]] +== You are a Campus Ambassador + +Campus Ambassadors should work to guide new interests through this +process. They should work in both generating interest in Fedora Summer +Coding within the Fedora Community and also generating interest in +Fedora within student contributors. + +Campus Ambassadors should then guide new contributors in helping them +get set up with mentors and helping submit their Summer Coding proposal. +[edit] Campus Ambassadors - what + +`   * Students can have a quality intern-like experience working with Fedora/JBoss.org.` + +`         o Money! Code! Fame! Success! Community! ` + +`   * Sub-projects in JBoss.org and Fedora are ready to work with students.` + +`   * This is right in your pocket, you can run with Summer Coding participation and make your school very successful.` + +`   * You can make more students successful by being an additional mentor for students through the process.` + +`   * Do you know someone at the university/college who wants to talk about partnering with Fedora Summer Coding? ` + +[[timeline-for-campus-ambassadors]] +=== Timeline for Campus Ambassadors + +[[step-by-step-for-campus-ambassadors]] +=== Step-by-step for Campus Ambassadors + +https://fedoraproject.org/wiki/Summer_Coding_2010#Step-by-step_for_Campus_Ambassadors[Summer +Coding 2010 step-by-step for Campus Ambassadors] + +[[you-want-to-help-organize]] +== You want to help organize + +[[timeline-for-organizers]] +=== Timeline for organizers + +[[step-by-step-for-organizers]] +=== Step-by-step for organizers + +[[you-are-a-member-of-the-fedora-project-community]] +== You are a member of the Fedora Project community + +[[timeline-for-fedora-project-community]] +=== Timeline for Fedora Project community + +[[step-by-step-for-fedora-community]] +=== Step-by-step for Fedora community + +https://fedoraproject.org/wiki/Summer_Coding_2010#Step-by-step_for_Fedora_community[Summer +Coding 2010 step-by-step for Fedora community] + +[[you-are-a-member-of-the-jboss.org-community]] +== You are a member of the JBoss.org community + +[[timeline-for-jboss.org-community]] +=== Timeline for JBoss.org community + +[[step-by-step-for-jboss.org-community]] +=== Step-by-step for JBoss.org community + +https://fedoraproject.org/wiki/Summer_Coding_2010#Step-by-step_for_JBoss.org_community[Summer +Coding 2010 step-by-step for JBoss.org community] + diff --git a/gsoc/2010/schedule.adoc b/gsoc/2010/schedule.adoc new file mode 100644 index 0000000..6737e3b --- /dev/null +++ b/gsoc/2010/schedule.adoc @@ -0,0 +1,70 @@ += Schedule: Google Summer of Code 2010 +This schedule is ready for link:index.html[Summer Coding 2010]. +Join the +http://lists.fedoraproject.org/mailman/listinfo/summer-coding-discuss[discussion +mailing list] and/or watch this page to be updated about schedule +changes. + +_Start dates_ are emphasized and *deadlines* are in bold emphasis for +student items. + +* April ++ +:: + _7 April - Students can begin submitting applications_ +* May ++ +:: + Whole month - students, mentors, and sub-projects get to know each + other + + + 13 May - Mentors need to finish idea pages + + + *20 May - Students applications + proposals need to be in* + + + 21 May - Sponsors must pledge funding by this point + + + 24 May - Organizers finalize how many applications will be accepted + + + 27 May - Mentors + admins finalize rank-ordered list + + + _28 May - Students informed yes/no about application_ +* June ++ +:: + Whole month - code, interact + + + _01 June - Project begins (depending on proposal)_ + +* July ++ +:: + _05 July - Midterm evaluations period begins_ + + + _05 July - Student midterm deadline for evaluation (first, soft + deadline)_ + + + *08 July - Student midterm deadline for evaluation (final deadline)* + + + _12 July - Midterm evaluations due from mentors_ +* August ++ +:: + *09 August - Project coding completes* + + + *16 August - Students final report, code snapshot, and evaluations + due* + + + 20 August - Mentor evaluations due for students + + + 23 August - Final evaluations due back to students + + + 25 August - Mentor, sub-project evaluations of the Summer Coding + program requested +* September ++ +:: + 01 September - Sponsors receive report from organizers + + + 06 September - Sponsors release and deliver funds (proposed date) + diff --git a/gsoc/2011/ideas.adoc b/gsoc/2011/ideas.adoc new file mode 100644 index 0000000..329480b --- /dev/null +++ b/gsoc/2011/ideas.adoc @@ -0,0 +1,564 @@ += Ideas: Google Summer of Code 2011 +Find an idea you like? Want to propose your own? See our Getting Started +Guide: + +http://groups.google.com/group/redhat-summer/web/gsoc-getting-started +//// +You may be interested in ideas from previous years, such as and +link:Summer_coding_ideas_for_2009[2009]. +//// +[[applications-for-desktop-end-users]] +== Applications for desktop end users + +These are coding projects that benefit end users of the Linux desktop. + +[[wubi-like-application-for-fedora]] +=== Wubi like application for Fedora + +_Status:_ + +_Summary of idea:_ +https://launchpad.net/wubi[https://launchpad.net/wubi] is a great tool +that lets one install Linux from a windows OS. It would be nice to have +something like this for Fedora as well. + +_Contacts:_ + +_Mentor(s):_ + +_Notes:_ + +[[integrate-proxy-settings-and-network-locations]] +=== Integrate Proxy Settings and Network Locations + +_Status:_ Proposed + +_Summary of Idea:_ The system should use an appropriate networking +profile (e.g. Proxy settings) for each network location. + +Currently, Gnome does have a concept of network locations in its Network +Proxy configuration window. However, user should select the appropriate +location whenever he moves between networks. This idea is about +providing an integration between NetworkManager and Desktop environments +so that a user can create network profiles for each network location +providing appropriate settings like proxy settings which is the main +proposed setting here. NetworkManager can have a "Network Location" +concept: for wireless networks, usually the name of the network (ESSID) +is usually enough. For wired connections, DHCP servers can and usually +do provide network's domain name, which can be used as the name of the +location. It is nice if a user can associate each network location with +a network settings profile which will be used whenever the user is +connected to that network automatically. So, when you connect to a +network, a corresponding network settings profile is activated +automatically. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Hedayat[Hedayat Vatankhah] + +_Mentor(s):_ + +[[fill-in-some-of-the-missing-nvidia-and-radeon-api-pieces]] +=== Fill in some of the Missing nVidia and Radeon API pieces + +_Status:_ Proposed + +_Summary of idea:_ Add some of the missing 3d APIs for at least one of +the major card types, considerably helping out the beleagured Radeon and +Nvidia reverse-engineering efforts. There is enough currently (F14) +missing that most 3d games do not function correctly, many of the +underpinnings of FireFox 4 acceleration are blacklisted under Linux, and +many other visual and other components cannot make correct use of the +gpu(s) under Linux. Progress is abysmal for many reasons. + +_Contacts:_ + +_Mentor(s):_ + +_Notes:_ Requires good integration with the existing Radeon and nVidia +teams and their testsuites + +[[spice-as-a-replacement-for-vnc-and-ltsp]] +=== SPICE as a replacement for VNC and LTSP + +_Status:_ Proposed + +_Summary of Idea:_ SPICE is a virtual desktop interaction protocol that +would be an ideal replacement for VNC and current X based LTSP +implementations. Using SPICE would improve the user experience by +implementing some missing capabilities such as sound in VNC, and making +LTSP more efficient than using raw X. A common protocol for all types of +remote displays would also simplify the client setup. More information +on SPICE can be found here: + +http://www.spicespace.org/ + +_Contacts:_ + +_Mentor(s):_ + +_Notes:_ + +[[applications-for-programmers]] +== Applications for programmers + +Other programmers benefit most from these coding project ideas. + +[[better-erlang-support]] +=== Better Erlang support + +_Status:_ Proposed + +_Summary of Idea:_ There is one major issue with Erlang RPM packaging +now. A dependencies between Erlang packages still must be calculated by +hand. There was an initial attempt to create list of Provides and +Requires automatically during build stage but it wasn't finished. +Another interesting task is to tightly integrate Erlang/OTP essential +feature of live application upgrades with RPM upgrade process thus +allowing really smooth upgrades of running Erlang applications. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Peter[Peter Lemenkov] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Peter[Peter Lemenkov] + +_Notes:_ Requires average knowledge of RPM building process and +installation procedure. Also basic Erlang knowledge is required. + +[[infrastructure-for-fedora-contributors-and-users]] +== Infrastructure for Fedora contributors and users + +Other contributors and users of the Fedora Project's infrastructure +benefit most from these coding projects. + +[[port-infrastructure-turbogears-apps-to-tg2]] +=== Port Infrastructure TurboGears apps to TG2 + +_Status:_ Proposed + +_Summary of idea:_ Several Fedora Infrastructure applications are +written in TurboGears 1.0, and for longevity need to be ported to TG2. +These include bodhi, mirrormanager, packagedb, elections, fas, smolt. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:mdomsch[Matt Domsch], link:https://fedoraproject.org/wiki/User:toshio[Toshio Kuratomi] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:mdomsch[mdomsch] + +[[mirrormanager-enhancements]] +=== MirrorManager enhancements + +_Status:_ Proposed + +_Summary of idea:_ MirrorManager provides the mirror lists to all Fedora +systems. In addition to porting to TG2 (see above), several enhancements +would be welcome: + +* Simplify creation of new MirrorManager instances (non-Fedora users, +such as CentOS) +* Simplify selection of mirrors within Cloud Providers on granularity +other than netblocks and ASNs +* Other items on the +http://git.fedorahosted.org/git/mirrormanager?p=mirrormanager;a=blob;f=TODO;hb=HEAD[TODO +list] + +_Contacts:_ link:https://fedoraproject.org/wiki/User:mdomsch[Matt Domsch] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:mdomsch[mdomsch] + +[[create-a-fedora-events-system]] +=== Create a Fedora Events System + +_Status:_ Proposed + +_Summary of Idea:_ The idea is to create a website which would allow +displaying events, divided by region, list attendance, topics discussed +and other points. For reference, see +http://loco.ubuntu.com/events/[Ubuntu Loco Events]. + +http://nushio.fedorapeople.org/fes/roadmap.html[Roadmap] (Work in +progress. Tasks are defined, but dates aren't yet) + +_Contacts:_ + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Nushio[Nushio] develops webapps as a dayjob and +wouldn't mind making it a summer job too. + +_Notes:_ link:https://fedoraproject.org/wiki/User:Giallu[giallu] the Ubuntu site is a django application, +code available as GPLv3 +http://bazaar.launchpad.net/~loco-directory-dev/loco-directory If they +do not require copyright assignment I'd consider using it + +[[self-manage-buildroot-overrides]] +=== Self Manage Buildroot overrides + +_Status:_ Proposed + +_Summary of Idea:_ when users need a buildroot override they can manage +it all themselves. + +For this I see 2 parts: cli integration into fedpkg i.e. "fedpkg +override" and a server to talk to, track overrides, and do the actual +tagging and untagging -possible work flow: allow developer to specify a +life for the override, defaulting to 24 hours: the server would then do +the tag in koji and at the end of its life untag it I could see having a +web app to see the current overrides, allow requests, extensions etc + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Ausil[Dennis Gilmore] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Ausil[Dennis Gilmore] + +[[mw-enhancements]] +=== `mw` enhancements + +_Status:_ Proposed + +_Summary of idea:_ mw is a command-line program that pretends to be a +version control system. It should eventually help people who are console +nuts (like me) edit MediaWiki-based wikis without having to shout at +their web browser. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Ianweller[Ian Weller] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Ianweller[Ian Weller] + +_Notes:_ Here are some ideas for students: +link:https://fedoraproject.org/wiki/User:Ianweller/mw_thoughts[User:Ianweller/mw thoughts] + +[[complete-implementation-and-deployment-of-copr]] +=== Complete implementation and deployment of Copr + +_Status:_ Proposed + +_Summary of Idea:_ Finalize and deploy the personal repositories concept +initiated by http://repos.fedorapeople.org + +http://fedoraproject.org/wiki/Category:Copr[Copr (Cool Other Package +Repo)] is a Fedora project to help make building and managing third +party package repositories easy. The instance to be installed within +Fedora Infrastructure provides Fedora maintainers with the ability to +create repos of packages to build against and share with others. + +As a Fedora user and Ambassador, I'm asked a lot about this feature in +Fedora. + +_Contacts:_ + +_Mentor(s):_ + +[[integrating-fuzzing-based-instruments-in-quality-assurance-tools]] +=== Integrating Fuzzing-based instruments in quality assurance tools + +_Summary of idea:_ Generate fuzzing testcases from the existing "make +test", which is generally only as good as the package maintainer placed +effort into this Extending the range of testcases in a generic way +contributes to an enhanced scope of quality and security testing of +software. Key implementation technique is providing mock "fuzzing" +devices and transparent in-process instrumentation (fuzzing loops) the +turn-around time and bug discovery rate will improve. Transparent +integration in build tools (like rpm-build macros) lower the entry +hurdle for developers and maintainers. + +Key components: + +-Fuzzing devices: By this we mean user space devices that manipulate +given original data based on a given fuzzing strategy, the strategy +chosen depends on the nature of the file type, implemented by plugins +(for a start provide comprehensive plugin source for image types, gif +png, multimedia, midi). + +-Package QA process: We think that a prototypical integration in +rpm-build (macro, pre-waive certain results ) will help (Fedora) +developers package maintainers to transparently gain from these +functionality during package build. + +Target: It is expected that all posix variants can benefit from wrapping +fuzzing algorithms behind devices, however due to the rpm-build macro +support, we expect most benefit for rpm-based distros. + +_Contacts:_ Marc Schoenefeld , mschoene@redhat.com + +_Mentor(s):_ Marc Schoenefeld , mschoene@redhat.com + +[[linux-system-services]] +== Linux system services + +These coding projects are lower-level services that benefit Fedora and +other Linux distributions. + +[[nis-support-in-sssd]] +=== `NIS` support in `SSSD` + +* _Status:_ Proposed +* _Summary of idea:_ Currently, the System Security Services Daemon +supports only LDAP for network user identity. Support for NIS identities +has been requested several times by end-users. +* _Contacts:_ link:https://fedoraproject.org/wiki/User:Sgallagh[Stephen Gallagher] +* _Mentor(s):_ link:https://fedoraproject.org/wiki/User:Sgallagh[Stephen Gallagher] + +[[sudo-support-in-sssd]] +=== `SUDO` support in `SSSD` + +* _Status:_ Proposed +* _Summary of idea:_ Sudo 1.8.0 will support a plugin interface for sudo +authorization decisions. It would be excellent for SSSD to provide such +a plugin to provide cached access to sudo information stored in the sudo +LDAP schema. This would make it easier to maintain centralized sudo +rules that also function while offline. +* _Contacts:_ link:https://fedoraproject.org/wiki/User:Sgallagh[Stephen Gallagher] +* _Mentor(s):_ link:https://fedoraproject.org/wiki/User:Sgallagh[Stephen Gallagher] +* _Notes:_ http://www.sudo.ws/sudo_plugin.man.html + +[[improving-fedora-packaging]] +== Improving Fedora packaging + +The heart of Fedora are the packages and the applications that manage +them; these coding projects help improve the package experience for +users and contributors. + +[[maven-and-packagekit-integration]] +=== Maven and PackageKit integration + +_Status:_ Proposed + +_Summary of idea:_ Currently when building with maven locally, all spec +files need to specify build dependencies manually. Java libraries and +maven plugins should have something like +"Provide(groupId:artifactId:version:format)" so that "yum install +org.apache.velocity:velocity" will correctly find and install velocity +package. Second part of this project can be creating maven plugin asking +you to install via PackageKit the package that provides the dependency. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Sochotni[Stanislav Ochotnicky] or +link:https://fedoraproject.org/wiki/User:Akurtakov[Alexander Kurtakov] + +_Mentor(s):_ + +_Notes:_ Basic knowledge of maven and rpm is required. + +[[kde-plasma-and-packagekit-integration]] +=== KDE Plasma and PackageKit integration + +_Status:_ Proposed + +_Summary of idea:_ Add automatically-generated rpm dependencies for +kde/plasma related services (see also +http://rdieter.livejournal.com/14897.html[blog entry on the topic]), and +add packagekit hooks to use them (one concrete example would be for +plasma dataengines (see also +http://rdieter.livejournal.com/14897.html[blog entry on the topic]). + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Rdieter[Rex Dieter] + +_Mentor(s):_ + +_Notes:_ Intermediate knowledge of rpm and/or kde plasma coding + +[[avahi-yum-repositories]] +=== Avahi yum repositories + +_Status:_ Proposed + +_Summary of idea:_ Add a yum plugin that will use avahi to find local +mirrors of canonical repositories, and tools/scripts for local http/nfs +servers to advertise what they have. It would also be nice to include +proper nfs repository support in yum or a plugin, so the advertised +repositories can be on NFS filesystems that are not already mounted +locally on clients. The use on the clients should be transparent without +any local yum repo config changes except perhaps for installing/enabling +the plugin. Later anaconda could also be taught to use avahi to find +repositories for installation. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:roland[Roland McGrath] + +_Mentor(s):_ + +_Notes:_ Divisible into various separate pieces that are worthwhile on +their own. + +[[improve-critical-dependency-management-in-yum]] +=== Improve critical dependency management in Yum + +_Status:_ Proposed (please review) + +_Summary of idea:_ The idea (roughly) is that Yum could detect when a +package update is going to break some important functionality of the +system because is a dependency of another package that won't be updated +(for example: Yum is not detecting that when a kernel is updated, +because the previous kernel is not deleted, and the dependency isn't +broken). This happens once in a while with kernel and third party +packages that provide support for devices that aren't supported by +Fedora directly because of licensing restrictions: ie. Fedora updates +the kernel, and RPM Fusion packages related to Broadcom wireless usually +need 2-4 days to be updated, resulting in a non working wireless. + +_Contacts:_ + +_Mentor(s):_ + +_Notes:_ I don't feel qualified to be mentor. + +[[masking-packages]] +=== Masking packages + +Mixing stable and unstable packages (ie from different repositories) is +quite tiresome and hardly manageable for more than a few packets. What +is missing is something like the Gentoo approach where you can unmask +(or mask) certain unstable packages so that they will be pulled and +installed into your otherwise stable-only environment. The user has to +resolve any conflicts that may arise. + +Apart from the luxury of more bleeding-edge packages available, this +could also really get more people into testing of unstable packages. +With changed policies regarding only stable updates / backports to a +stable Fedora release, this would make Fedora still attractive for users +that like to work with latest packages but refrain from rawhide for +whatever reasons. + +[[smarter-yum-metadata]] +=== Smarter Yum Metadata + +_Status:_ Proposed + +_Summary of Idea:_ Share yum metadata among users of a system and also +fetch them faster instead of downloading the whole chunk each time. + +A git-based metadata store was +http://log.amitshah.net/2010/12/idea-faster-metadata-downloads-with-yum.html[proposed] +but https://bugzilla.redhat.com/show_bug.cgi?id=664356[objected] to by +yum maintainers. There could be other ways of doing this, as suggested +in the bug report or by going ahead with the git idea -- I believe it +can be done. + +_Contacts:_ + +_Mentor(s):_ + +[[turn-smock-into-a-real-program]] +=== Turn smock into a real program + +_Status:_ + +_Summary of idea:_ +http://git.annexia.org/?p=fedora-mingw.git;a=tree;f=smock;hb=HEAD[smock] +is a hack that Dan and I wrote a few years ago that lets you build a +chain of RPMs in mock. It works out all the dependencies and builds the +packages in the right order, using the result from an earlier build to +satisfy dependencies in a later build, and being almost completely +automated. What really needs to happen is that link:https://fedoraproject.org/wiki/Projects/Mock[mock] +is extended to support this as a native feature. + +_Contacts:_ + +_Mentor(s):_ + +_Notes:_ + +[[fedora-spins-and-remixes]] +== Fedora Spins and remixes + +Remixing and making new Fedora Spins is an important part of the +community's freedoms, and these coding projects support that. + +[[fedora-medical]] +=== Fedora Medical + +_Status:_ In progress. + +_Summary of idea:_ Here, we are looking for a couple students who have +some experience in RPM packaging, python, and bash. This would be a good +opportunity to learn in depth packaging and fedora contributor +ecosystem. + +This is a work in progress and details can be found here: +http://fedoraproject.org/wiki/SIGs/FedoraMedical + +We are looking forward to do mainly packaging and getting them published +to fedora repo. However, we will also be doing some tooling and +associated works. So, python and bash will be required. + +Understanding fedora package maintainer guideline is required. Having +existing packages in fedora will be a plus. Also, the student should be +interested in maintaining some of those packages after SOC. + +_Contacts:_ Susmit Shannigrahi + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Susmit[Susmit] and link:https://fedoraproject.org/wiki/User:Mrceresa[Mario Ceresa ] + +_Notes:_ + +[[create-a-spin-to-aid-students-in-education-and-to-help-them-understand-linux-and-fedora-better]] +=== Create a spin to aid students in education and to help them understand Linux and Fedora better + +_Status:_ Proposed + +_Summary of Idea:_ The idea is to create a spin which would be more +student friendly. It should have some graph plotting tools, some circuit +simulator, maybe an equation solving application, IDE for some basic +coding and a few compilers which are taught in colleges and other +relevant stuff. It should consist of extensive documentation to help +students use these tools and Linux in general. A few interesting games +and music player would be a plus. + +Additionally, if possible, one can imagine to throw up a screen during +install which would help in picking the age group of the student. The +applications can be installed accordingly. For example, I would like to +have a scrabble game for a small kid then a circuit simulator. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Rrix[ Ryan Rix] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Rrix[ Ryan Rix] (Maybe) + +[[educational-application-for-fedora-robotics-suite]] +=== Educational Application for Fedora Robotics Suite + +_Status:_ Proposed + +_Summary of Idea:_ Create an educational app introducing software from +Fedora Robotics Suite + +The link:https://fedoraproject.org/wiki/SIGs/Robotics[Fedora Robotics SIG] is creating a +link:https://fedoraproject.org/wiki/Features/RoboticsSuite[Robotics Suite] consisting of many packages +useful in robotics. We want to develop a demonstration application +introducing new users step by step to core packages like +http://www.fawkesrobotics.org[Fawkes] and +http://playerstage.sourceforge.net[Player/Stage]. It would feature +multiple game-like levels with increasing complexity. The general task +would be to instruct the robot to fulfill a specific task in a +simulation environment. + +Developing this requires a strong background in C++, a background in +robotics is preferred but not necessary. You should be able to +familiarize yourself with new software quickly. User visible parts will +require GUI programming using Gtkmm. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Timn[Tim Niemueller] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Timn[Tim Niemueller] + +[[dorrie---a-web-interface-to-create-fedora-remixes]] +=== Dorrie - A Web interface to create Fedora Remixes + +_Status:_ Proposed + +_Summary of Idea:_ Contribute to Dorrie, and make it more usable, tested +and deployable. + +More at link:https://fedoraproject.org/wiki/Remixes_Web_Interface[Dorrie], code at +https://github.com/shreyankg/Dorrie, fork and send pull request, if you +are interested to contribute. + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Shreyankg[Shreyank Gupta] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Shreyankg[Shreyank Gupta] + +[[aeolus-packaging]] +=== Aeolus Packaging + +_Status:_ Proposed + +_Summary of Idea:_ Contribute to the Aeolus family of projects +(http://aeolusproject.org), starting with packaging of dependencies not +yet in Fedora +(http://www.aeolusproject.org/page/Packages_Missing_From_Fedora) + +_Contacts:_ link:https://fedoraproject.org/wiki/User:clalance[ Chris Lalancette ] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:clalance[ Chris Lalancette ] + diff --git a/gsoc/2012/ideas.adoc b/gsoc/2012/ideas.adoc new file mode 100644 index 0000000..896656b --- /dev/null +++ b/gsoc/2012/ideas.adoc @@ -0,0 +1,962 @@ += Ideas: Google Summer of Code 2012 +Find an idea you like? Want to propose your own? See the Getting Started +Guide with GSoC: + +link:index.html[Information] +//// +You may be interested in ideas from +link:Summer_coding_ideas_for_2011[2011], +link:Summer_coding_ideas_for_2010[2010], +link:Summer_coding_ideas_for_2009[2009] and +link:Summer_coding_ideas_for_2008[2008]. +//// +Further, last year accepted ideas from the Fedora Project can be found +at http://www.google-melange.com/gsoc/org/google/gsoc2011/fedora[GSoC +2011 web site] + +[[students-welcome]] +== Students Welcome + +If you are a student looking forward to participate the GSoC 2012 with +Fedora, please feel free to browse the idea list which is still growing. +Do not hesitate to contact the mentors/ contributors as indicated in +this page for any related clarification. If you are new to The Fedora +project, following material would help you to get started. Further +please sign-up with the https://fedoraproject.org/wiki/FAS[Fedora +Account System(FAS)] if you are willing to continue with the Fedora +project. `#fedora-devel`, IRC channel can be used to get instant +support. +1. link:https://fedoraproject.org/wiki/Foundation[The Foundation] +2. http://docs.fedoraproject.org/en-US/index.html[Fedora Documentation] +3. link:https://fedoraproject.org/wiki/Communicate/IRCHowTo[IRC] +4. https://fedoraproject.org/wiki/FAS[Fedora Account System(FAS)] +5. link:https://fedoraproject.org/wiki/Development[Development] + +[[supporting-mentors]] +== Supporting Mentors + +Following contributors are also willing to support the GSoC 2012 +program. (please feel free to add your self, attach the user page). +Sometimes there should be some backing up mentors to mentor if the +original mentor get busy with something for a short time period. In such +case we need help. + +1. link:https://fedoraproject.org/wiki/User:Bckurera[Buddhike Kurera(Bckurera)] +2. link:https://fedoraproject.org/wiki/User:Quaid[Karsten Wade(Quaid)] +3. link:https://fedoraproject.org/wiki/User:Susmit[Susmit Shannigrahi(Susmit)] +4. link:https://fedoraproject.org/wiki/User:Duffy[ Mo Duffy (Duffy)] +5. link:https://fedoraproject.org/wiki/User:Mmorsi[ Mo Morsi] + +[[draft-of-an-idea]] +== Draft of an idea + +Please add your idea as follows. + +[[project-name]] +=== Project name + +_Status:_ + +_Summary of idea:_ + +_Knowledge prerequisite:_ + +_Skill level:_ + +_Contacts:_ + +_Mentor(s):_ + +_Notes:_ + +*!!!The draft was changed slightly, please add required field as +required!!!* + +[[idea-list-for-gsoc-2012]] +== Idea list for GSoC 2012 + +[[applications-for-desktop-end-users]] +=== Applications for desktop end users + +These are coding projects that benefit end users of the Linux desktop. + +[[integrate-proxy-settings-and-network-connectionslocations]] +==== Integrate Proxy Settings and Network Connections(Locations) + +_Status:_ Proposed + +_Summary of idea:_ The system should use an appropriate networking +profile (e.g. Proxy settings) for each network connection. + +Gnome 2 had a concept of network locations in its Network Proxy +configuration window. However, user should selected the appropriate +location whenever he moves between networks. This idea is about +providing an integration between NetworkManager and Desktop environments +so that a user can create network profiles for each network +location(connection) providing appropriate settings like proxy settings +which is the main proposed setting here. NetworkManager can have a +"Network Location" concept: for wireless networks, usually the name of +the network (ESSID) is usually enough. For wired connections, DHCP +servers can and usually do provide network's domain name, which can be +used as the name of the location. It is nice if a user can associate +each network location with a network settings profile which will be used +whenever the user is connected to that network automatically. So, when +you connect to a network, a corresponding network settings profile is +activated automatically. + +_Knowledge prerequisite:_ + +_Skill level:_ + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Hedayat[Hedayat Vatankhah] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:danw[Dan Winship] + +_Notes:_ There is an entry with some description in +http://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/TODO[NetworkManager +TODO] which should be considered for the implementation + +[[bringing-the-cloud-to-the-fedora-desktop]] +==== Bringing the Cloud to the Fedora Desktop + +_Status:_ Proposed + +_Summary of idea:_ http://www.aeolusproject.org[Aeolus] is an umbrella +project that provides an open source API which to control any number of +backend proprietary cloud providers. It allows us to write tooling that +is able to deploy, monitor, and manager instances to any cloud provider +such as EC2 or OpenStack in a Free and Open Manner. We need more tooling +to interface with the various Aeolus components from the Fedora desktop +(or any other) in novel ways such as command-line and gtk-based +applications to deploy instances to the cheapest cloud provider or the +one with the fastest response time, to monitor running instances using +various visualizations, and more closely integrate local data and code +w/ that on the cloud. + +_Knowledge prerequisite:_ + +_Skill level:_ + +_Contacts:_ link:https://fedoraproject.org/wiki/User:_Mmorsi[Mo Morsi] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:_Mmorsi[Mo Morsi], link:https://fedoraproject.org/wiki/User:_Matthewwagner[ Matt Wagner] +as co-mentor + +_Notes:_ Ping me (mmorsi on freenode) for more info about the Aeolus +project. All the components which to build images for the cloud and +control instances is in place and ready to go, just drop various bits +(they are interoperable and interchangable) into an environment to be +able to interact with the cloud, avoiding proprietary interfaces and +vendor lockin. + +[[web-hosting-control-panel]] +==== Web hosting control panel + +_Status:_ Proposed - Draft + +_Summary of idea:_ develop a free alternative of cpanel / plesk control +panels, 100% compatible with fedora, and redhat enterprise Linux. +written in python. + +the control panel will be able to create domains and automatically setup +apache, postfix, dovecot, mysql, postgresql bind etc... + +_Knowledge prerequisite:_ apache, postfix, dovecot, mysql, postgresql, +proftpd, bind + +_Skill level:_ Medium + +_Contacts:_ itamarjp [AT] fedoraproject [DOT] org, kaustubh [DOT] +karkare [AT] gmail [DOT] com + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Ausil[ Dennis Gilmore] + +_Notes:_ link:https://fedoraproject.org/wiki/User:Itamarjp/gsoc-2012[webhosting control panel draft] + +[[assemble-a-toolchain-for-recording-screencasts-easily]] +==== Assemble a toolchain for recording screencasts easily + +_Status:_ Proposed - Draft - Need a mentor + +_Summary of idea:_ Creating screencasts on Fedora and post-processing +them for upload should be easy and fool proof. + +The link:https://fedoraproject.org/wiki/Videos[Fedora Videos] project has been launched to bring +together a collection of screencasts that help people learn how to use +Fedora. There's only one major hurdle, though. Capturing really good +screencasts on Fedora, post-processing them to include an intro and +outro and other effects, and finally exporting them to an open format is +challenging. There are lots of different tools, but each one only gets +you part of the way there and you have to be the glue to make it all +work. And then there are the bugs. + +The goal of this project is to assemble a toolchain (a recommended +collection of software available in the Fedora repositories) and write a +comprehensive tutorial for how to create an professional-looking +screencast. That may included chasing down & fixing bugs in the existing +tools, discovering new tools and getting them packaged and learning +about techniques in the environment around the computer, such as how to +select & setup a microphone or how to draft a good speaking script. One +possible task in the project is to add sound recording support to the +Gnome 3 desktop recorder. Currently, the desktop recorder only grabs the +video of the screen. + +The student will get support and advice from the Fedora Videos team +since they are trying to learn how to create these screencasts. + +_Knowledge prerequisite:_ gstreamer, video and sound editing, blender + +_Skill level:_ Medium + +_Contacts:_ link:https://fedoraproject.org/wiki/Videos[Fedora Videos Team] + +_Mentor(s):_ - + +_Notes:_ + +[[improve-fedoras-tablet-user-experience]] +==== Improve Fedora's Tablet User Experience + +_Status:_ Proposed - Draft + +_Summary of idea:_ Improving Fedora's Tablet User Experience. + +The window managers/desktop environments officially supported by Fedora +do not match the expectations of people with low power touch devices. + +Fedora features new technology to reduce system load and - requirements, +the user interface has not seen too much love. + +Currently available interfaces for users are: + +* Too Ressource Consuming +* Too Overloaded or +* Too Feature Poor +* Not Customizable With Reasonable Effort + +The E17 Desktop Shell, developed as part of the +http://www.enlightenment.org[Enlightenment Project], is a perfect match. +It provides a rich interface, whilst consuming very little ressources. +The Enlightenment Foundation Libraries, on which E17 is built upon, were +chosen as Foundation Block of Tizen, the MeeGo successor backed by +Samsung and Intel. If things work out, E17 will be the first "real" +Desktop Shell for Wayland. + +Though it already provides +http://dev.enlightenment.fr/~captainigloo/2011/08/25/elfe-and-the-composited-windows-list/[special +behaviour] for touchscreen devices through certain modules, there's +still room for improvement. + +The overall goal of this project would be to improve the user experience +of people who want to use Fedora on low power devices such as tablets. + +The student will get support and advice from the Enlightenment Project +developers. + +_Knowledge prerequisite:_ C, X11, Wayland, Enlightenment Foundation +Libraries + +_Skill level:_ Medium to High + +_Contacts:_ Michael Bouchaud (yoz [at] efl [dot] so), link:https://fedoraproject.org/wiki/User:leif[ Leif +Middelschulte] (leif [dot] middelschulte [at] student [dot] kit [dot] +edu) + +_Mentor(s):_ Michael Bouchaud (yoz [at] efl [dot] so) + +_Notes:_ If this idea gets realized, a proper tablet spin can be +created, that honors the spirit of Fedora. + +[[applications-for-programmers]] +=== Applications for programmers + +[[implement-a-binding-translator-for-glusterfs]] +==== Implement a binding translator for GlusterFS + +_Status:_ Proposed - Draft + +_Summary of idea:_ In transporting data across networks, programmers +need GlusterFS language bindings to be able to create apps in their +language of choice. A language binding translator would greatly increase +the number of programmers who would be able to more easily extend +GlusterFS. It's also a fun project for someone wanting to get some +experience with multi-threaded architecture and design in the context of +distributed systems and data. + +_Knowledge prerequisite:_ C, Python, embedded Python + +_Skill level:_ Medium to High + +_Contacts:_ johnmark [AT]redhat [DOT] com , abperiasamy [AT] gmail [DOT] +com + +_Mentor(s):_ Anand Avati - Mentor, AB Periasamy - Co-mentor, +link:https://fedoraproject.org/wiki/User:johnmark[John Mark Walker] - Co-mentor + +_Notes:_ - + +[[implement-a-cassandranosql-connector-or-translator-for-glusterfs]] +==== Implement a Cassandra/NoSQL Connector or Translator for GlusterFS + +_Status:_ Proposed - Draft + +_Summary of idea:_ In general, there is a need for the ability to store +and access NoSQL data on general purpose distributed filesystems. +Currently, there are a host of single-purpose methods for storing and +retrieving NoSQL data, which are difficult to access from legacy +applications. Creating a NoSQL translator for GlusterFS would help +mitigate this problem and give developers more options for storing and +accessing "big data" in a way that is accessible via a variety of +standard toolkits and protocols. + +_Knowledge prerequisite:_ C, GlusterFS internals + +_Skill level:_ High + +_Contacts:_ johnmark [AT]redhat [DOT] com , abperiasamy [AT] gmail [DOT] +com + +_Mentor(s):_ Anand Avati - Mentor, AB Periasamy - Co-mentor, +link:https://fedoraproject.org/wiki/User:johnmark[John Mark Walker] - Co-mentor + +_Notes:_ - + +[[linux-kernel-project]] +=== Linux kernel project + +[[implement-nfsfscache-writeback-cache]] +==== Implement nfs/fscache writeback cache + +_Status:_ Proposed + +_Summary of idea:_ Currently, the flashcache/bcache only works for local +filesystems. For network filesystems, nfs only supports write through +cache based on fscache/cachefiles. With wider adoption of SSD on nfs +client side, it would be great for nfs to support writeback cache to +speed up write intensive clients. This project would implement a +writeback mechanism for nfs, which need to make necessary changes to +kernel nfs, fscache and cachefiles modules, and take care of nfs +close-to-open semantics. + +_Knowledge prerequisite:_ C, Linux kernel, nfs + +_Skill level:_ High + +_Contacts:_ bergwolf [AT] gmail [DOT] com + +_Mentor(s):_ Peng Tao - Mentor + +[[infrastructure-for-fedora-contributors-and-users]] +=== Infrastructure for Fedora contributors and users + +[[implement-a-survey-infrastructure-for-the-fedora-project]] +==== Implement a survey infrastructure for the Fedora Project + +_Status:_ Proposed - Draft + +_Summary of idea:_ Surveys are important to increase the quality of a +service, and it is true for the Fedora project as well.(discussions +http://meetbot.fedoraproject.org/fedora-meeting/2011-12-24/apac.2011-12-24-04.00.log.html#l-310[1]) +In this project it is supposed to implement a survey infrastructure +facility so that the contributors can use for various activities as per +the need. + +The concern is to develop a simple web base survey system OR implement a +existing survey project and customized as required, so that contributors +can easily create surveys and dig for results as well. Linking with the +[FAS|FAS] is required. Further it should be compatible with anonymous +and open ID so that if the creator set for those authentication the +survey should allow those authentications. Statistics and other required +reports can be obtained. So that it is easy to analyse. + +_Knowledge prerequisite:_ PHP, Python, Ruby are preferred, MySQL +(database handling), experience with Lime Survey would be an advantage + +_Skill level:_ Medium + +_Contacts:_ kevin [AT]scrye [DOT] com , bckurera [AT] fedoraproject +[DOT] org + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Kevin[Kevin Fenzi] - Mentor, link:https://fedoraproject.org/wiki/User:Bckurera[Buddhike +Kurera] Co-mentor. + +_Notes:_ This idea is improving, please contact for upto-date details. + +[[design-hub-floss-collaboration-for-floss-designers]] +==== Design Hub: FLOSS Collaboration for FLOSS Designers + +_Status:_ Proposed - Draft + +_Summary of idea:_ Free software designers don't have a great set of +tools to work with to collaborate with each other and with the community +on their design work. With this project, we'd like to make progress +towards fixing that. We have some disparate ideas / tools that we'd like +to be integrated: + +* http://sparkleshare.org[Sparkleshare] - a git-backed, Dropbox like +system that will automatically check in and push files in project +directly to a shared git repo +* https://github.com/garrett/magicmockup[Magic Mockup] - a +coffeescript/javascript you can insert into an SVG of mockups to enable +interactive, click-through mockups +(http://blog.linuxgrrl.com/2011/08/12/interactive-svg-mockups-with-inkscape-javascript/[see +a demo here] +* http://blog.linuxgrrl.com/category/design-hub/[Design Hub] - an idea +and a ruby on rails prototype of a web front end that could potentially +serve as a front end to git repos with design assets *and* serve as well +as a front end to magic mockup mockups in said repos +* http://inkscape.org[Inkscape] is our preferred design tool of choice; +it would be great if it had some GUI integration with Magic Mockup, +Sparkleshare, and Design Hub + +_Knowledge prerequisite:_ Ruby on Rails, web development, some UI design +chops + +_Skill level:_ Intermediate + +_Contacts:_ duffy at fedoraproject [dot] org + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Duffy[ Mo Duffy], link:https://fedoraproject.org/wiki/User:Emichan[ Emily Dirsh] + +_Notes:_ We can provide a development platform for the web UI at +openshift.redhat.com. Also, note this project doesn't just benefit +Fedora designers, but it benefits all FLOSS designers. + +[[implement-a-unit-test-framework-for-fedpkg-and-rpkg]] +==== Implement a unit test framework for fedpkg and rpkg + +_Status:_ Proposed + +_Summary of idea:_ Unit tests are good. Testing is good. fedpkg and it's +backend rpkg is a growing code base, gaining more and more contributors. +It lacks a unit test framework which would be very beneficial to the +code base for making sure contributions don't break the code in subtle +ways. + +_Knowledge prerequisite:_ + +_Skill level:_ + +_Contacts:_ jkeating [AT]redhat [DOT] com + +_Mentor(s):_ User:jkeating - Mentor + +_Notes:_ This project is in python. + +[[insight-use-cases-for-calendar]] +==== Insight use cases for calendar + +Status: Proposed - Draft + +Insight project requirement to be implemented. More details can be found +at the wiki, Insight_use_cases_for_calendar + +_Knowledge prerequisite:_ Knowledge on PHP and Drupal would be essential + +_Skill level:_ Medium + +Contacts: link:https://fedoraproject.org/wiki/User:Pfrields[Paul W. Frields], link:https://fedoraproject.org/wiki/User:Herlo[Clint Savage] & +link:https://fedoraproject.org/wiki/Insight[Insight Team] + +Mentor(s): link:https://fedoraproject.org/wiki/User:Tatica[María "tatica"], link:https://fedoraproject.org/wiki/User:Asrob[Peter Tibor Borsa] +and _Back-up Mentor :_ link:https://fedoraproject.org/wiki/User:Bckurera[Buddhika Kurera] + +Notes: - + +[[insight-use-cases-for-status-and-microblogging]] +==== Insight use cases for status and microblogging + +Status: Proposed - Draft + +These are use cases for status and microblogging services that we might +want to provide through Insight. More details can be found at the wiki, +Insight_use_cases_for_status_and_microblogging + +_Knowledge prerequisite:_ Knowledge on Drupal would be essential. + +_Skill level:_ High + +Contacts: link:https://fedoraproject.org/wiki/User:Pfrields[Paul W. Frields] + +Mentor(s): link:https://fedoraproject.org/wiki/User:Asrob[Peter Tibor Borsa], link:https://fedoraproject.org/wiki/User:Tatica[María "tatica"] +and _Back-up Mentor :_ link:https://fedoraproject.org/wiki/User:Bckurera[Buddhika Kurera] + +Notes: Students who are interested on this topic is highly requested to +contact the mentors as the first step. Knowledge on Drupal would be +essential. + +[[insight-use-cases-for-events]] +==== Insight use cases for events + +Status: Proposed + +This integration should facilitate Fedora ambassadors to organize their +events easily and at the same time should be compatible with the Insight +calender. Please refer to link:https://fedoraproject.org/wiki/Insight_use_cases_for_events[Insight use +cases for events.] + +_Knowledge prerequisite:_ Knowledge on Drupal would be essential. PHP +and MySQL + +_Skill level:_ Medium + +Mentor(s): link:https://fedoraproject.org/wiki/User:Bckurera[Buddhika Kurera], link:https://fedoraproject.org/wiki/User:Asrob[Peter Tibor Borsa] + +[[isitfedoraruby.com]] +==== isitfedoraruby.com + +_Status:_ Proposed + +_Summary of idea:_ Right now most Ruby programmers make use of the +http://rubygems.org/[gem] package management system to install Ruby +libraries on their system. The link:https://fedoraproject.org/wiki/Ruby_SIG[Fedora/Ruby] community +works hard to convert these gems into rpms for inclusion in the Fedora +stack, making use of various tooling such as +https://github.com/lutter/gem2rpm[gem2rpm]. We are looking for more +tools and capabilities around Ruby / Fedora integration, namely to +reduce the overhead in supporting Ruby on Fedora and to promote Fedora +as the de-facto platform for Ruby development. + +As part of this, we would like to develop a isitfedoraruby.com website +(similar to http://isitruby19.com/[isitruby19] and other sites like it) +to promote the ruby stack on Fedora and the Fedora/Ruby development +effort, highlighting success stories, use cases, ways contributors can +help, etc + +_Knowledge prerequisite:_ + +_Skill level:_ + +_Contacts:_ link:https://fedoraproject.org/wiki/User:_Mmorsi[Mo Morsi] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:_Mmorsi[Mo Morsi], link:https://fedoraproject.org/wiki/User:_Matthewwagner[ Matt Wagner] +as co-mentor + +_Notes:_ Ping me (mmorsi on freenode) for more info. This project should +be written in Ruby + +[[setup-gitlab-as-a-front-end-for-fedora-hosted-git-repositories]] +==== Setup Gitlab as a front end for Fedora Hosted git repositories + +_Status:_ Proposed + +_Summary of idea:_ To setup http://gitlabhq.com/[Gitlab] as a front end +for git repositories at [fedorahosted.org]. + +Git has fundamentally improved the way that developers share code. The +barrier to sharing code has virtually been eliminated. We are also +seeing the emergence of a new dynamic called "Social Coding". There's no +better example of this than Github. + +Creating an environment to foster social coding, and a low barrier to +sharing code, requires more than just git, though. A lot of what makes +Github successful with git is the web-based front end. That explains why +there is such a dramatic difference between Github and fedorahosted.org, +and why many projects are moving to Github instead. + +Fortunately, there is an open source application named Gitlab that +provides much of the interactive functionality and usability that is +found at Github. The goal of this project is to bring that experience to +fedorahosted.org by setting up Gitlab. + +This project will require working with the infrastructure team to get +the necessary prerequisites installed, find a server to host the +application and configure the existing projects to be wired to this +interface. + +_Knowledge prerequisite:_ Ruby, git, Linux system administration (web +servers, authentication) + +_Skill level:_ Medium + +_Contacts:_ link:https://fedoraproject.org/wiki/User:mojavelinux[Dan Allen] (general), link:https://fedoraproject.org/wiki/User:Vondruch[Vít +Ondruch] (packaging) + +_Mentor(s):_ Ranjib Dey (tentative), Seth Vidal (tentative), Dmitriy +Zaporozhets (dzaporozhets), Ariejan de Vroom (ariejan) + +_Notes:_ This idea is definitely something the Fedora project is +interested in pursuing. The work in this project will be carried on +after the project, and is an opportunity for a longer-term involvement +in Fedora. + +See the discussion on the Fedora Infrastructure list about +implementation details: +http://lists.fedoraproject.org/pipermail/infrastructure/2012-March/011463.html + +A demo of Gitlab can be found here: http://gitlabhq.com/demo.html + +[[dorrie-a-web-interface-for-building-fedora-spinsremixes]] +==== Dorrie: A web-interface for building Fedora spins/remixes + +_Status:_ Proposed + +_Summary of idea:_ Contribute to Dorrie, and make it more usable, add +test coverage and deployable. Details at +link:https://fedoraproject.org/wiki/Remixes_Web_Interface[Dorrie]. + +_Knowledge prerequisite:_ Python, Django + +_Skill level:_ Intermidiate + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Shreyankg[Shreyank Gupta] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Shreyankg[Shreyank Gupta], link:https://fedoraproject.org/wiki/User:Rtnpro[Ratnadeep +Debnath] + +_Notes:_ Features that I am looking to target: + +`* User management/FAS integration` + +`* Un-linerize the workflow.` + +`* Default wallpaper/Hostname/user-password/root-password` + +`* Custom repos/RPMs` + +`* Home directory content` + +`* Search Packages` + +`* Image type: ISO, virt image, raw disk` + +Code at https://github.com/shreyankg/Dorrie, fork and send pull request, +if you are interested to contribute. + +[[semi-automated-system-implementation-for-fwn]] +==== Semi-automated system implementation for FWN + +_Status:_ Proposed + +_Summary of idea:_ The idea behind this project is to make the +link:https://fedoraproject.org/wiki/FWN[Fedora Weekly News] composing less cumbersome and +semi-automated. + +_Knowledge prerequisite:_ PHP, Python, Parsing, XML + +_Skill level:_ Intermediate + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Bckurera[Buddhike Kurera] + +_Notes:_ Contact the mentor if anyone is interested. + +[[linux-system-services]] +== Linux system services + +[[improving-fedora-packaging]] +=== Improving Fedora packaging + +[[java-apiabi-changes-checker]] +==== Java API/ABI changes checker + +_Status:_ Proposed + +_Summary of idea:_ Libraries written in Java add, remove and modify +their public interfaces from time to time. This is normal, but currently +it is very hard to guess effect an update of library to new version will +have on rest of the system. What is needed is a tool that would be able +to tell us that "With update of package java-library to version 2.0, +function X(b) has been removed. This function is used in package +java-app". There are already a few open-source projects that can do some +of the analysis needed. This would be of interest to whole Java world I +believe and would enable safer and easier updates. To get an idea of +similar projects see http://linuxtesting.org/upstream-tracker/java/[Java +API compliance checker] and +https://sites.google.com/site/obriencj/projects/java-classfile-python-module[Python +Javaclass project] + +_Knowledge prerequisite:_ Knowledge of Java (inheritance rules, +generics, etc.) and probably some scripting language(s) + +_Skill level:_ Fairly high + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Sochotni[Stanislav Ochotnický] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Sochotni[Stanislav Ochotnický] + +_Notes:_ Don't hesitate to get in touch via IRC (sochotni@FreeNode) or +email (contact on my user page). + +[[aur-clone-for-fedora]] +==== AUR Clone for Fedora + +_Status:_ Proposed - Students' Idea - Need a mentor + +_Summary of idea:_ The idea is to make an AUR clone for Fedora where +users can submit buildfiles, which need to be hosted. These set of files +can compile packages on the user side, and installed locally. + +The benefit of this method is: + +1. No need to host the entire packages (saving space on servers hosting +the RPMs) +2. Make changes to the buildfile, and not compile the package +3. Can pull sources from any version control system/stored tarballs to +make a very upto-date package. (See blog entry for an example) + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Anujmore[Anuj More] + +_Notes:_ Need mentor. Need advice on feasibility of the software and +issues that can arise. Also, read the extensive blog post on +http://execat.blogspot.in/2012/03/aur-clone-for-fedora.html[my blog]. + +Analogy: This is a lot like "having your own library" vs "getting a book +from a bookstore". If you refer a book often, you'd keep it in your +library. This would occupy space and consume resources. Otherwise, you'd +just pull out a separate paper with instructions about the bookstore to +find the book, and fetch the book from the store. Though the first +method is hassle-free, it is not possible to have all the books in the +world with you. + +[[maven-foss-repository-extension]] +==== Maven FOSS Repository Extension + +_Status:_ Proposed + +_Summary of idea:_ With the inception of Maven we have a means to +standardize the building of Java projects. However it has also resulted +in the usage of a very wide dependency set by these Java projects. This +makes it very hard to integrate those projects on a single platform (be +it Fedora or JBoss Application Server (or the combination)). + +In essence during packaging all these dependencies must be lined up to +form a single consistent component set. Thus each project will only have +those components available which are actually available on the target +platform. This is very hard to enforce using standard Maven setup. + +For Fedora I'm envisioning a Maven extension that makes sure only +sanctioned components are used during the build (without putting a +burden on the packager). This will allow developers who are not on +Fedora to also build with this extension and thus verify (and fix) +issues which are the result of "Fedora packaging". + +A prototype can be viewed at +https://github.com/wolfc/fedora-maven[Fedora Maven Extension]. + +_Knowledge prerequisite:_ Knowledge of Maven + +_Skill level:_ Medium + +_Contacts:_ http://community.jboss.org/people/wolfc[Carlo de Wolf] + +_Mentor(s):_ http://community.jboss.org/people/wolfc[Carlo de Wolf] + +_Notes:_ You can find me at irc.freenode.net #fedora-java wolfc + +[[fedora-spins-and-remixes]] +=== Fedora Spins and remixes + +[[fedora-audio-creation-spin]] +==== Fedora Audio Creation Spin + +_Status:_ Proposed + +_Summary of idea:_ To create a Fedora Audio spin showcasing the rich and +diverse landscape of Linux Audio production. + +The link:https://fedoraproject.org/wiki/Audio_Creation[Fedora Audio Creation SIG] is a collection of +enthusiastic Fedora users driven by the common desire to make the best +Linux distribution also the best for Music creation and Audio +Production. + +We are looking for one or two candidates to assist us in the complete +development cycle of this project. Tasks may include (but not limited +to): + +* packaging open source audio projects +* porting certain packages from the PlanetCCRMA repository into Fedora +* working/communicating with the Fedora Audio community to determine the +final make-up of the spin +* help coordinate pushing the spin through the Spins Review process +* creating/testing kickstart files +* developing small applications/scripts to help solve hardware and audio +system configuration requirements +* communicating with Fedora Audio SIG, Fedora Desktop team and other +Fedora teams +* organizing QA testcases and test days + +Ideally, interested candidates will have a passion for Music/Audio +Production. Basic scripting knowledge and the ability to compile +projects from source is a must. Sponsored packagers / knowledge of the +Fedora Packaging Guidelines and/or the desire to continuing maintaining +the packaged software post-project considered a plus. + +Interested? Why wait, submit an audio package for review and get +sponsored (Join_the_package_collection_maintainers). + +_Knowledge prerequisite:_ Scripting/programming (bash/python) + +_Skill level:_ Rudimentry + +_Contacts:_ link:https://fedoraproject.org/wiki/User:bsjones[Brendan Jones] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:bsjones[Brendan Jones] and link:https://fedoraproject.org/wiki/User:Crantila[Christopher +Antila] + +[[fedora-jboss-spin]] +==== Fedora JBoss Spin + +_Status:_ Proposed + +_Summary of idea:_ To create a Fedora JBoss spin that helps Java +developers get started quickly using JBoss software. + +The link:https://fedoraproject.org/wiki/SIGs/Java[Java SIG] and the link:https://fedoraproject.org/wiki/JBossAS7[JBoss AS 7 on Fedora +Initiative] is a cross-section of enthusiastic Fedora users driven by +the common desire to make the Fedora the best OS for developing with +JBoss software. + +We are looking for one or two candidates to assist us in the complete +development cycle of this project. The bulk of the effort lies in +packaging open source Java and JBoss projects and integrating many of +the packages from the JBoss Community into Fedora. Packages in +particular include JBoss AS 7, JBoss Tools and JBoss Forge. Other tasks +may include the testing of kickstart files and developing configurations +to better integrate with the Fedora Desktop. + +There could be two variants of this spin (feel free to choose). One is +on the developer needing a good desktop to create JBoss-based +applications (things like Eclipse + JBoss Tools, AS 7, Forge, a +database, and so on). The other focus is on getting a server setup so +that it can run the application. That would also be where the upcoming +OpenShift toolset will come into play. + +Another critical component is the interoperability with Eclipse. It's +important that a setup for Eclipse gets augmented for a developer to +install/implement the JBoss specific tools and plugins. A decision needs +to be done, whether updates of Eclipse should be done via RPMs or via a +Eclipse repository. JBossAS7 is targeting a maven repository setup - one +option could simply be to tie into this repository. + +Ideally, interested candidates will have a passion for Java development +using JBoss software. Basic scripting knowledge and the ability to +compile Java projects from source is a must. Sponsored packagers / +knowledge of the Fedora Packaging Guidelines and/or the desire to +continuing maintaining the packaged software post-project considered a +plus, but not required. + +Interested? Why wait, submit a Java package for review and get sponsored +(link:https://fedoraproject.org/wiki/Join_the_package_collection_maintainers[Join the package +collection maintainers]). + +_Knowledge prerequisite:_ Scripting/programming (Java, shell) + +_Skill level:_ Rudimentary + +_Contacts:_ link:https://fedoraproject.org/wiki/Goldmann[Marek Goldmann], +http://community.jboss.org/people/wolfc[Carlo de Wolf], +http://community.jboss.org/people/alrubinger[Andrew Rubinger], +https://community.jboss.org/people/maxandersen[Max Andersen], +link:https://fedoraproject.org/wiki/User:bit4man[Peter Larsen] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Goldmann[Marek Goldmann], +http://community.jboss.org/people/wolfc[Carlo de Wolf] + +[[educational-application-for-fedora-robotics-suite]] +==== Educational Application for Fedora Robotics Suite + +_Status:_ Proposed + +_Summary of Idea:_ Create an educational app introducing software from +Fedora Robotics Suite + +The link:https://fedoraproject.org/wiki/SIGs/Robotics[Fedora Robotics SIG] is creating a +link:https://fedoraproject.org/wiki/Features/RoboticsSuite[Robotics Suite] consisting of many packages +useful in robotics. We want to develop a demonstration application +introducing new users step by step to core packages like +http://www.fawkesrobotics.org[Fawkes] and +http://playerstage.sourceforge.net[Player/Stage]. It would feature +multiple game-like levels with increasing complexity. The general task +would be to instruct the robot to fulfill a specific task in a +simulation environment. + +_Knowledge prerequisite:_ Developing this requires a strong background +in C++, a background in robotics is preferred but not necessary. You +should be able to familiarize yourself with new software quickly. User +visible parts will require GUI programming using Gtkmm. + +_Skill level:_ Medium to High + +_Contacts:_ link:https://fedoraproject.org/wiki/Timn[Tim Niemueller] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/Timn[Tim Niemueller] + +[[applications-for-systems-administrators]] +=== Applications for systems administrators + +[[rhq-agent-to-interface-with-matahari]] +==== RHQ-agent to interface with Matahari + +_Status:_ Proposed + +_Summary of idea:_ Write a RHQ-agent in Python and make it interface +with Matahari to pick up metrics that are provided by Matahari from +Fedora or RHEL systems. The agent would talk to the RHQ server via the +REST api and push metrics to RHQ etc. This agent will not implement the +full functionality of the RHQ java agent. + +While RHQ is written in Java, this project does not need any Java +knowledge. + +_Knowledge prerequisite:_ Python, Linux system administration, qpid, +principles of REST + +_Skill level:_ Medium to High + +_Contacts:_ Heiko Rupp + +_Mentor(s):_ Heiko Rupp + +_Notes:_ RHQ wiki is at http://rhq-project.org/ + +[[applications-for-testers]] +=== Applications for Testers + +[[fedora-gooey-karma]] +==== Fedora Gooey Karma + +_Status:_ Proposed + +_Summary of idea:_ link:https://fedoraproject.org/wiki/Fedora_Easy_Karma[Fedora Easy Karma] is a CLI +application to help testers apply karma to installed updates and while +it's great at doing so, it doesn't display much other information on +what an update is supposed to fix or what can be done to test a +particular update. A GUI tool that pulls in more information on packages +under test would help in the testing process and hopefully help +encourage less techical users to start testing packages. + +_Knowledge prerequisite:_ GUI tool kit (Qt or GTK), python + +_Skill level:_ intermediate + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Tflink[Tim Flink (tflink)] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Tflink[Tim Flink (tflink)] + +_Notes:_ A longer description and some rough mockups +http://blog.tirfa.com/gooey-karma[can be found here] + +[[fedora-on-demand-build-service]] +==== Fedora On-Demand Build Service + +_Status:_ Proposed (Student Idea) + +_Summary of idea:_ During the testing of Fedora releases, test images +are often useful as smoke tests before full TC/RC composes, as baselines +for specific test days or for automated installation testing in AutoQA. +The idea is to make an *on-demand* Web-based build service (similar to +https://build.opensuse.org/[Open Suse Build Service] and +http://www.slax.org/build.php[Slax]) which users/developers can use to +make custom Fedora based distributions. The service would be capable of +building and hosting images (boot iso, installation DVDs and live +images) made up of builds from stable repositories in addition to side +repos containing specific builds from both updates-testing and koji +builds that have yet to be pushed to any repos. The service should also +also have a RESTful API (or similar). + +_Knowledge prerequisite:_ Python, Fedora repositories + +_Knowledge nice-to-have_: Fedora image building, testing, Celery + +_Skill level:_ intermediate to advanced + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Amitksaha[Amit Saha] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Tflink[Tim Flink (tflink)] + +_Notes:_ Looking for co-mentors, will update this idea if any are found + diff --git a/gsoc/2012/images/Gsoc-2012-logo.png b/gsoc/2012/images/Gsoc-2012-logo.png new file mode 100644 index 0000000..4122474 Binary files /dev/null and b/gsoc/2012/images/Gsoc-2012-logo.png differ diff --git a/gsoc/2012/index.adoc b/gsoc/2012/index.adoc new file mode 100644 index 0000000..5975a8b --- /dev/null +++ b/gsoc/2012/index.adoc @@ -0,0 +1,261 @@ += Google Summer of Code 2012 + +image:Gsoc-2012-logo.png[Gsoc-2012-logo.png,title="Gsoc-2012-logo.png"] + +The Fedora project represented the Google Summer of Code program for 6 +years and willing to participate on year 2012 program as well. This wiki +page serves as the GSoC portal. Please feel free to contact us via +https://admin.fedoraproject.org/mailman/listinfo/summer-coding[summer-coding@lists.fedoraproject.org] +for clarifications/ more info. + +[[students]] +== Students + +Students who are looking for challenges and would like to contribute to +the worlds' leading and innovative Linux Distro, this could be the +chance. Please feel free to contact and refer to the material and start +contacting mentors. + +1. link:ideas.html[Main Idea Page] + +[[why-spend-your-summer-working-on-foss]] +=== Why spend your summer working on FOSS? + +When you work in the open on free software, you create a body of work +that follows you for the rest of your life. Rather than a coding +assignment done by thousands of other students and relegated to the +bottom of the bit drawer at semester's end, working in FOSS is a chance +to contribute to a living project. + +Working in FOSS gives you a chance to: + +* Work with real world large codebases. +* Collaborate with real engineers and other professional experts. +* Contribute to something meaningful while learning and earning student +value. +* Learn tools and processes that are just like what you are going to use +if you work in technology after graduation. +* Make friends and contacts around the globe. +* Possibly attract attention that gets you an internship or job after +graduation. +* Create life time connections. + +[[why-work-with-fedora]] +=== Why work with Fedora? + +Our project is large and diverse. We are very experienced at working +with new contributors and helping them be successful. + +Many long-time contributors continue to be around, lending expertise and +mentoring. People who stay around the community and do good work are +noticed. They get hired for jobs from it, including being hired by Red +Hat. Past Google Summer of Code students were hired by Red Hat, as well +as interns in various positions. This is just an example, as experience +and reputation in the Fedora Project communities is influential on your +career in many ways. + +As long-standing communities with many facets, it is possible for you to +find many rewarding sub-projects to work on. + +You should know that contributing to FOSS doesn't require you to have +super programming skills, or super-anything else. You just need be +interested and curious enough, and be willing to become comfortable +being productively lost. This is the state of learning through finding +your way around and figuring things out. + +[[step-by-step-guide-for-students]] +=== Step-by-step guide for students + +Please check the link:https://fedoraproject.org/wiki/GSOC_Guide_students[Step by Step guide for +students]. + +[[students-application]] +=== Student's application + +Please use the following application template to apply for the program. + +link:https://fedoraproject.org/wiki/GSOC_2012/Student_Application_Template[Student application template] + +[[administration]] +== Administration + +In order to clarify matters/ obtain more info related with the GSoC 2012 +with Fedora please contact the administrators directly (please consider +CCing the summer-coding list where ever possible). + +1. link:https://fedoraproject.org/wiki/User:Bckurera[Buddhike Kurera(Bckurera)] - Administrator +2. link:https://fedoraproject.org/wiki/User:Quaid[Karsten Wade(Quaid)] - Backup-Admin +3. link:https://fedoraproject.org/wiki/User:Susmit[Susmit Shannigrahi(Susmit)] - Fall-back Admins +4. link:https://fedoraproject.org/wiki/User:Duffy[ Mo Duffy (Duffy)] - Fall-back Admins +5. link:https://fedoraproject.org/wiki/User:Mmorsi[ Mo Morsi] - Fall-back Admins + +[[mentors]] +== Mentors + +The contributors of the Fedora Project can propose ideas and mentor +them. Please feel free to check following links and please add your +ideas to the main idea page, further if you are not interested in +proposing an idea but still want to support the program please check the +students' idea page and pick one as per your interest. + +1. http://en.flossmanuals.net/GSoCMentoring/[Manual on Mentoring] +2. link:ideas.html[Main Idea Page] +3. link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2012/Students_Idea[Students' Idea page] + +[[how-to-work-with-students]] +=== How to work with students + +* One way is to provide an idea for students to work on. This idea might +be very well planned out, in which case you may need a high-level of +contact with the student to get it implemented correctly. + +* It is harder to find success where you are completely certain of how +an idea needs to be implemented; finding a student with the skills and +interest to implement a specific solution is a lot harder than finding a +student with enough skills to respond to a use case need. + +* Where you can have looser ideas, you may be able to find a student who +works as a sort-of intern who can implement a solution to a use case you +have. In past experiences, students going after a use case are more +likely to get somewhere with self-direction. + +* You may also want to work with a student who brings an idea to your +sub-project. This requires a different level of communication throughout +the project, but can be the most rewarding. + +[[mentor-responsibilities]] +=== Mentor responsibilities + +You are an essential part of the student's success, the project's +success, and the success for your overall organization (Fedora, +JBoss.org, or another). + +Your responsibilities include: + +* Being an interface for an identified sub-project or SIG in Fedora. +* Helping students communicate with the overall project and any +upstreams. +* Be the final, accountable person for deciding if the student is +successful or not, which affects payment. + +[[list-of-mentors]] +=== List of Mentors + +Please feel free to contact mentors to clarify the related matters. + +* link:https://fedoraproject.org/wiki/User:Hedayat[Hedayat Vatankhah] +* link:https://fedoraproject.org/wiki/User:Mmorsi[Mo Morsi] +* link:https://fedoraproject.org/wiki/User:Ausil[Dennis Gilmore] +* link:https://fedoraproject.org/wiki/User:toshio[Toshio kuratomi] +* link:https://fedoraproject.org/wiki/User:Kevin[Kevin Fenzi] +* link:https://fedoraproject.org/wiki/User:Bckurera[Buddhike Kurera] +* link:https://fedoraproject.org/wiki/User:Duffy[Mo Duffy] +* link:https://fedoraproject.org/wiki/User:Emichan[Emily Dirsh] +* link:https://fedoraproject.org/wiki/User:jkeating[Jkeating (at) fedoraproject (dot) org] +* link:https://fedoraproject.org/wiki/User:Tatica[María "tatica"] +* link:https://fedoraproject.org/wiki/User:Asrob[Peter Tibor Borsa] +* link:https://fedoraproject.org/wiki/User:bsjones[Brendan Jones] +* link:https://fedoraproject.org/wiki/User:Sochotni[Stanislav Ochotnický] +* link:https://fedoraproject.org/wiki/User:Timn[Tim Niemueller] +* link:https://fedoraproject.org/wiki/User:Bergwolf[ Peng Tao] +* link:https://fedoraproject.org/wiki/User:Tflink[ Tim Flink] + +[[list-of-registered-members]] +==== List of registered members + +List of mentors who are registered with Google and added to the project +as a mentor are listed here; + +link:https://fedoraproject.org/wiki/GSOC_2012/Registered_Mentors_Registered_mentor_list[GSOC_2012/Registered_Mentors +Registered mentor list] + +[[communication]] +== Communication + +*Mailing List (GSOC related) :* +https://admin.fedoraproject.org/mailman/listinfo/summer-coding[https://admin.fedoraproject.org/mailman/listinfo/summer-coding] + +*Mailing List (Technical) :* +http://lists.fedoraproject.org/mailman/listinfo/devel[http://lists.fedoraproject.org/mailman/listinfo/devel] + +*IRC :* Channel - link:https://webchat.freenode.net/?channels=#fedora-summer-coding[#fedora-summer-coding] or link:https://webchat.freenode.net/?channels=#fedora-devel[#fedora-devel] on Freenode + +[[time-line]] +== Time Line + +Reference : +http://www.google-melange.com/document/show/gsoc_program/google/gsoc2012/faqs#timeline[official timeline] + +* March 9: Mentoring organization application deadline. +* March 12-15: Google program administrators review organization +applications. +* March 16: List of accepted mentoring organizations published on the +Google Summer of Code 2012 site. +* March 17-25: Would-be student participants discuss application ideas +with mentoring organizations. +* March 26: Student application period opens. +* April 6: Student application deadline. + +Interim Period: Mentoring organizations review and rank student +proposals; where necessary, mentoring organizations may request further +proposal detail from the student applicant. + +* April 20: All mentors must be signed up and all student proposals +matched with a mentor. Student ranking/scoring deadline. +* April 23: Accepted student proposals announced on the Google Summer of +Code 2012 site. + +Community Bonding Period: Students get to know mentors, read +documentation, get up to speed to begin working on their projects. + +* May 21: Students begin coding for their Google Summer of Code +projects; + +Interim Period: Mentors give students a helping hand and guidance on +their projects. + +* July 9: Mentors and students can begin submitting mid-term +evaluations. +* July 13: Mid-term evaluations deadline; + +Google begins issuing mid-term student payments provided passing student +survey is on file. Interim Period: Mentors give students a helping hand +and guidance on their projects. + +* August 13: Suggested 'pencils down' date. Take a week to scrub code, +write tests, improve documentation, etc. +* August 20: Mentors, students and organization administrators can begin +submitting final evaluations to Google. + +* August 24: Final evaluation deadline +* August 27: Final results of Google Summer of Code 2012 announced +* August 31: Students can begin submitting required code samples to +Google +* October 20 - 21: Mentor Summit at Google. + +[[organization-application]] +== Organization Application + +*Status :* Submitted + +*Link :* +link:https://fedoraproject.org/wiki/GSoC_2012_org_application[application] + +[[ideas-page]] +== Ideas Page + +*Status :* Open for Ideas + +*Link :* +link:ideas.html[ideas] + +We encourage students to provide creative yet useful ideas towards the +Fedora project as well. Please use +link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2012/Students_Idea[Student Idea] page to +note your idea. The idea will be moved to the original idea page once +the idea is picked by a mentor. + +[[links]] +== Links + +1. link:https://fedoraproject.org/wiki/Foundation[The Foundation] +2. https://developers.google.com/open-source/gsoc/faqge[GSoC FAQ] +3. http://docs.fedoraproject.org/en-US/index.html[Fedora Documentation] +4. link:https://fedoraproject.org/wiki/Communicate/IRCHowTo[IRC] +5. link:https://fedoraproject.org/wiki/Development[Development] diff --git a/gsoc/2012/student_application_template.adoc b/gsoc/2012/student_application_template.adoc new file mode 100644 index 0000000..4d0ff46 --- /dev/null +++ b/gsoc/2012/student_application_template.adoc @@ -0,0 +1,47 @@ += Student application template: Google Sumer of Code 2012 + +.... + +=== Contact Information === + +Email Address: +Telephone: +Blog URL: +Freenode IRC Nick: + +NOTE: We require all students to blog about the progress of their project time to time. + +You are strongly encouraged to register on the Freenode network and participate in our +IRC channels. For more information and other instructions, see: + +https://fedoraproject.org/wiki/GSOC_2012 + +Please answer following questions. + +=== Why do you want to work with the Fedora Project? === + +=== Do you have any past involvement with the Fedora project or with any another open +source project as a contributor (if possible please add some references as well)? === + +=== Did you participate with the past GSoC programs, if so which years, which organizations? === + +=== Will you continue contributing/ supporting the Fedora project after the GSoC 2012 +program, if yes, which team(s)/area(s), you are interested with? === + +=== Why should we choose you over the other applicants? === + +=== Proposal Description === + +Please describe your proposal in detail. Include: + + * An overview of your proposal + * The need you believe it fulfills + * Any relevant experience you have + * How do you intend to implement your proposal + * Final deliverable of the proposal at the end of the period + * A rough timeline for your progress + * Any other details you feel we should consider + + +=== Have you communicated with a potential mentor? If so, who? === +.... diff --git a/gsoc/2013/ideas.adoc b/gsoc/2013/ideas.adoc new file mode 100644 index 0000000..1fe1134 --- /dev/null +++ b/gsoc/2013/ideas.adoc @@ -0,0 +1,926 @@ += Ideas: Google Summer of Code 2013 + +Find an idea you like? Want to propose your own? See the Getting Started +Guide with GSoC: + +link:index.html[Information 2013] +//// +You may be interested in ideas from +link:Summer_coding_ideas_for_2012[2012], +link:Summer_coding_ideas_for_2011[2011], +link:Summer_coding_ideas_for_2010[2010], +link:Summer_coding_ideas_for_2009[2009] and +link:Summer_coding_ideas_for_2008[2008]. +//// +Further, last year accepted ideas from the Fedora Project can be found +at http://www.google-melange.com/gsoc/org/google/gsoc2011/fedora[GSoC +2013 web site] + +[[students-welcome]] +== Students Welcome + +If you are a student looking forward to participate the GSoC 2013 with +Fedora, please feel free to browse the idea list which is still growing. +Do not hesitate to contact the mentors/ contributors as indicated in +this page for any related clarification. If you are new to The Fedora +project, following material would help you to get started. Further +please sign-up with the https://fedoraproject.org/wiki/FAS[Fedora +Account System(FAS)] if you are willing to continue with the Fedora +project. `#fedora-devel`, IRC channel can be used to get instant +support. + +1. link:https://fedoraproject.org/wiki/Foundation[The Foundation] +2. http://docs.fedoraproject.org/en-US/index.html[Fedora Documentation] +3. link:https://fedoraproject.org/wiki/Communicate/IRCHowTo[IRC] +4. link:https://fedoraproject.org/wiki/FAS[Fedora Account System(FAS)] +5. link:https://fedoraproject.org/wiki/Development[Development] + +[[supporting-mentors]] +== Supporting Mentors + +Following contributors are also willing to support the GSoC 2013 +program. (please feel free to add your self, attach the user page). +Sometimes there should be some backing up mentors to mentor if the +original mentor get busy with something for a short time period. In such +case we need help. + +1. link:https://fedoraproject.org/wiki/User:Bckurera[Buddhike Kurera(Bckurera)] +2. link:https://fedoraproject.org/wiki/User:Kushal[Kushal Das(Kushal)] +3. link:https://fedoraproject.org/wiki/User:Myth17[Nitish Upreti(Myth17)] + +[[draft-of-an-idea]] +== Draft of an idea + +Please add your idea as follows. + +[[project-name]] +=== Project name + +_Status:_ + +_Summary of idea:_ + +_Knowledge prerequisite:_ + +_Skill level:_ + +_Contacts:_ + +_Mentor(s):_ + +_Notes:_ + +*!!!The draft was changed slightly, please add required field as +required!!!* + +[[idea-list-for-gsoc-2013]] +== Idea list for GSoC 2013 + +[[collaboration-projects-with-mate-project]] +=== Collaboration projects with MATE project + +[[gtk3-support]] +==== GTK3 support + +_Status:_ Proposed - Draft + +_Summary of idea:_ GTK+ (GIMP Toolkit) is the cross-platform widget +toolkit used in MATE to create graphical user interfaces. GTK3, released +in 2011, and in Fedora since F14, brings a lot of improvements. Add GTK3 +support to MATE, keeping the traditional desktop metaphor, is one of the +goals of the MATE Desktop project. + +_Knowledge prerequisite:_ C, GTK. + +_Skill level:_ Medium + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Stefanok[Stefano Karapetsas] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Stefanok[Stefano Karapetsas], stevezesch2 [AT] gmail +[DOT] com + +_Notes:_ - + +[[wayland-support-in-marco-window-manager]] +==== Wayland support in marco window manager + + +_Status:_ Proposed - Draft + +_Summary of idea:_ Wayland is a next generation display server protocol +with the aim to replace the old X server. With Wayland, the window +managers will become display servers and compositors at same time, using +the Wayland library. Wayland is already available in Fedora, and KDE and +GNOME already are moving in this direction, so this could be a great +improvement for both MATE and Fedora. + +_Knowledge prerequisite:_ C, X11. + +_Skill level:_ High + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Stefanok[Stefano Karapetsas] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Stefanok[Stefano Karapetsas], stevezesch2 [AT] gmail +[DOT] com + +_Notes:_ - + +[[collaboration-projects-with-geeklog-project]] +=== Collaboration projects with Geeklog project + +Please note that only *one* of the following Geeklog projects will be +accepted under the Fedora umbrella! + +[[geeklog-install-script-refinements]] +==== Geeklog: Install Script Refinements + +_Status:_ Proposed + +_Summary of idea:_ The install script is one of the very first things a +new Geeklog user encounters. Therefore, it is important that it is easy +to use, supports the user in installing, updating and migrating a +Geeklog site while being robust and providing helpful hints and error +messages. + +The current install script was originally implemented as a GSoC project +in 2007 and further improved upon in GSoC 2008. We are still pretty +happy with it, but there's always room for improvement. And this is what +this GSoC project is about - we are looking for an _evolution_, not a +_revolution_. + +_Knowledge prerequisite:_ PHP, MySQL (possibly also PostgreSQL and MS +SQL), basic webserver knowledge + +_Skill level:_ Low - Medium + +_Contacts:_ link:https://fedoraproject.org/wiki/User:dhaun[Dirk Haun] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:dhaun[Dirk Haun] + +_Notes:_ +http://wiki.geeklog.net/index.php/SoC_install_script_refinements + +[[geeklog-crowdsourcing-translations]] +==== Geeklog: Crowdsourcing Translations + +_Status:_ Proposed + +_Summary of idea:_ Geeklog has been translated into over 30 languages, +but many of those translations haven't been updated in a while. The +current way of editing a PHP file is just too awkward, error prone, and +not very intuitive (since you can't see the context in which a text +string is used). + +We're looking for a way to make translating Geeklog easier, especially +for people who do not have a knowledge of PHP. Also, for new +translations, the sheer amount of text to translate can be discouraging. +The idea is to address both of these problems by crowdsourcing. + +_Knowledge prerequisite:_ PHP, SQL, JavaScript + +_Skill level:_ Medium - High + +_Contacts:_ link:https://fedoraproject.org/wiki/User:dhaun[Dirk Haun] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:dhaun[Dirk Haun] + +_Notes:_ +http://wiki.geeklog.net/index.php/SoC_crowdsourcing_translations + +[[geeklog-provide-php-session-handling]] +==== Geeklog: Provide PHP Session Handling + +_Status:_ Proposed + +_Summary of idea:_ Geeklog currently uses custom session management to +maintain users session information. The custom session implementation is +antique and needs to be upgraded to a fully supported session management +system such as the one provided by PHP Sessions. The implementation +needs to be secure and should cache user data between page loads of a +session. + +Given Geeklog's focus on security, this implementation must be hardened +against the usual attacks. + +_Knowledge prerequisite:_ PHP, PHP / Web Security + +_Skill level:_ Medium - High + +_Contacts:_ link:https://fedoraproject.org/wiki/User:dhaun[Dirk Haun] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:dhaun[Dirk Haun] + +_Notes:_ http://wiki.geeklog.net/index.php/SoC_php_sessions + +[[applications-for-desktop-end-users]] +=== Applications for desktop end users + +These are coding projects that benefit end users of the Linux desktop. + +[[integrate-proxy-settings-and-network-connectionslocations]] +==== Integrate Proxy Settings and Network Connections(Locations) + +_Status:_ Proposed + +_Summary of idea:_ The system should use an appropriate networking +profile (e.g. Proxy settings) for each network connection. + +Gnome 2 had a concept of network locations in its Network Proxy +configuration window. However, user should selected the appropriate +location whenever he moves between networks. This idea is about +providing an integration between NetworkManager and Desktop environments +so that a user can create network profiles for each network +location(connection) providing appropriate settings like proxy settings +which is the main proposed setting here. NetworkManager can have a +"Network Location" concept: for wireless networks, usually the name of +the network (ESSID) is usually enough. For wired connections, DHCP +servers can and usually do provide network's domain name, which can be +used as the name of the location. It is nice if a user can associate +each network location with a network settings profile which will be used +whenever the user is connected to that network automatically. So, when +you connect to a network, a corresponding network settings profile is +activated automatically. + +_Knowledge prerequisite:_ + +_Skill level:_ + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Hedayat[Hedayat Vatankhah] + +_Mentor(s):_ + +_Notes:_ There is an entry with some description in +http://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/TODO[NetworkManager +TODO] which should be considered for the implementation + +[[web-hosting-control-panel]] +==== Web hosting control panel + +_Status:_ Proposed - Draft + +_Summary of idea:_ develop a free alternative of cpanel / plesk control +panels, 100% compatible with fedora, and redhat enterprise Linux. +written in python. + +the control panel will be able to create domains and automatically setup +apache, postfix, dovecot, mysql, postgresql bind etc... + +_Knowledge prerequisite:_ apache, postfix, dovecot, mysql, postgresql, +proftpd, bind + +_Skill level:_ Medium + +_Contacts:_ itamarjp [AT] fedoraproject [DOT] org, kaustubh [DOT] +karkare [AT] gmail [DOT] com + +_Mentor(s):_ + +_Notes:_ link:https://fedoraproject.org/wiki/User:Itamarjp/gsoc-2012[webhosting control panel draft] + +[[assemble-a-toolchain-for-recording-screencasts-easily]] +==== Assemble a toolchain for recording screencasts easily + +_Status:_ Proposed - Draft - Need a mentor + +_Summary of idea:_ Creating screencasts on Fedora and post-processing +them for upload should be easy and fool proof. + +The link:https://fedoraproject.org/wiki/Videos[Fedora Videos] project has been launched to bring +together a collection of screencasts that help people learn how to use +Fedora. There's only one major hurdle, though. Capturing really good +screencasts on Fedora, post-processing them to include an intro and +outro and other effects, and finally exporting them to an open format is +challenging. There are lots of different tools, but each one only gets +you part of the way there and you have to be the glue to make it all +work. And then there are the bugs. + +The goal of this project is to assemble a toolchain (a recommended +collection of software available in the Fedora repositories) and write a +comprehensive tutorial for how to create an professional-looking +screencast. That may included chasing down & fixing bugs in the existing +tools, discovering new tools and getting them packaged and learning +about techniques in the environment around the computer, such as how to +select & setup a microphone or how to draft a good speaking script. One +possible task in the project is to add sound recording support to the +Gnome 3 desktop recorder. Currently, the desktop recorder only grabs the +video of the screen. + +The student will get support and advice from the Fedora Videos team +since they are trying to learn how to create these screencasts. + +_Knowledge prerequisite:_ gstreamer, video and sound editing, blender + +_Skill level:_ Medium + +_Contacts:_ link:https://fedoraproject.org/wiki/Videos[Fedora Videos Team] + +_Mentor(s):_ - + +_Notes:_ + +[[improve-fedoras-tablet-user-experience]] +==== Improve Fedora's Tablet User Experience + +_Status:_ Proposed - Draft + +_Summary of idea:_ Improving Fedora's Tablet User Experience. + +The window managers/desktop environments officially supported by Fedora +do not match the expectations of people with low power touch devices. + +Fedora features new technology to reduce system load and - requirements, +the user interface has not seen too much love. + +Currently available interfaces for users are: + +* Too Ressource Consuming +* Too Overloaded or +* Too Feature Poor +* Not Customizable With Reasonable Effort + +The E17 Desktop Shell, developed as part of the +http://www.enlightenment.org[Enlightenment Project], is a perfect match. +It provides a rich interface, whilst consuming very little ressources. +The Enlightenment Foundation Libraries, on which E17 is built upon, were +chosen as Foundation Block of Tizen, the MeeGo successor backed by +Samsung and Intel. If things work out, E17 will be the first "real" +Desktop Shell for Wayland. + +Though it already provides +http://dev.enlightenment.fr/~captainigloo/2011/08/25/elfe-and-the-composited-windows-list/[special +behaviour] for touchscreen devices through certain modules, there's +still room for improvement. + +The overall goal of this project would be to improve the user experience +of people who want to use Fedora on low power devices such as tablets. + +The student will get support and advice from the Enlightenment Project +developers. + +_Knowledge prerequisite:_ C, X11, Wayland, Enlightenment Foundation +Libraries + +_Skill level:_ Medium to High + +_Contacts:_ Michael Bouchaud (yoz [at] efl [dot] so), link:https://fedoraproject.org/wiki/User:leif[ Leif +Middelschulte] (leif [dot] middelschulte [at] student [dot] kit [dot] +edu) + +_Mentor(s):_ Michael Bouchaud (yoz [at] efl [dot] so) + +_Notes:_ If this idea gets realized, a proper tablet spin can be +created, that honors the spirit of Fedora. + +[[applications-for-programmers]] +=== Applications for programmers + +[[implement-a-binding-translator-for-glusterfs]] +==== Implement a binding translator for GlusterFS + +_Status:_ Proposed - Draft + +_Summary of idea:_ In transporting data across networks, programmers +need GlusterFS language bindings to be able to create apps in their +language of choice. A language binding translator would greatly increase +the number of programmers who would be able to more easily extend +GlusterFS. It's also a fun project for someone wanting to get some +experience with multi-threaded architecture and design in the context of +distributed systems and data. + +_Knowledge prerequisite:_ C, Python, embedded Python + +_Skill level:_ Medium to High + +_Contacts:_ johnmark [AT]redhat [DOT] com , abperiasamy [AT] gmail [DOT] +com + +_Mentor(s):_ Anand Avati - Mentor, AB Periasamy - Co-mentor, +link:https://fedoraproject.org/wiki/User:johnmark[John Mark Walker] - Co-mentor + +_Notes:_ - + +[[implement-a-cassandranosql-connector-or-translator-for-glusterfs]] +==== Implement a Cassandra/NoSQL Connector or Translator for GlusterFS + +_Status:_ Proposed - Draft + +_Summary of idea:_ In general, there is a need for the ability to store +and access NoSQL data on general purpose distributed filesystems. +Currently, there are a host of single-purpose methods for storing and +retrieving NoSQL data, which are difficult to access from legacy +applications. Creating a NoSQL translator for GlusterFS would help +mitigate this problem and give developers more options for storing and +accessing "big data" in a way that is accessible via a variety of +standard toolkits and protocols. + +_Knowledge prerequisite:_ C, GlusterFS internals + +_Skill level:_ High + +_Contacts:_ johnmark [AT]redhat [DOT] com , abperiasamy [AT] gmail [DOT] +com + +_Mentor(s):_ Anand Avati - Mentor, AB Periasamy - Co-mentor, +link:https://fedoraproject.org/wiki/User:johnmark[John Mark Walker] - Co-mentor + +_Notes:_ - + +[[embedded-cli-tool-for-most-popular-dbms]] +==== Embedded Cli tool for most popular DBMS + +_Status:_ Proposed - Students' Idea - Need a mentor + +_Summary of idea:_ Today, many developers are working with different +DBMS. I propose to develop a common command line interface for most +popular databases. For example: MySQL, Oracle Database, PostgreSQL. + +_Knowledge prerequisite:_ Java, JDBC, MySQL, Oracle Database, +PostgreSQL. + +_Skill level:_ Medium + +_Contacts:_ Alexandr Egorov 0x0j023 [AT] gmail [DOT] com + +_Mentor(s):_ + +_Notes:_ + +[[linux-kernel-project]] +=== Linux kernel project + +[[implement-nfsfscache-writeback-cache-dropped]] +==== Implement nfs/fscache writeback cache (Dropped) + +_Status:_ Dropped -- This is a GSoC _2012_ idea and is being working on +by Hongyi Jia although he didn't get the GSoC slot +(http://www.jiayi.net/works/nfsfscache-writeback-cache/). So, I'm not +going to mentor the idea this year and if anyone is really interested in +it, feel free to contact me and I'll be happy to answer questions:-) + +_Summary of idea:_ Currently, the flashcache/bcache only works for local +filesystems. For network filesystems, nfs only supports write through +cache based on fscache/cachefiles. With wider adoption of SSD on nfs +client side, it would be great for nfs to support writeback cache to +speed up write intensive clients. This project would implement a +writeback mechanism for nfs, which need to make necessary changes to +kernel nfs, fscache and cachefiles modules, and take care of nfs +close-to-open semantics. + +_Knowledge prerequisite:_ C, Linux kernel, nfs + +_Skill level:_ High + +_Contacts:_ bergwolf [AT] gmail [DOT] com + +_Mentor(s):_ Peng Tao - Mentor + +[[infrastructure-for-fedora-contributors-and-users]] +=== Infrastructure for Fedora contributors and users + +[[design-hub-floss-collaboration-for-floss-designers]] +==== Design Hub: FLOSS Collaboration for FLOSS Designers + +_Status:_ Proposed - Draft + +_Summary of idea:_ Free software designers don't have a great set of +tools to work with to collaborate with each other and with the community +on their design work. With this project, we'd like to make progress +towards fixing that. We have some disparate ideas / tools that we'd like +to be integrated: + +* http://sparkleshare.org[Sparkleshare] - a git-backed, Dropbox like +system that will automatically check in and push files in project +directly to a shared git repo +* https://github.com/garrett/magicmockup[Magic Mockup] - a +coffeescript/javascript you can insert into an SVG of mockups to enable +interactive, click-through mockups +(http://blog.linuxgrrl.com/2011/08/12/interactive-svg-mockups-with-inkscape-javascript/[see +a demo here] +* http://blog.linuxgrrl.com/category/design-hub/[Design Hub] - an idea +and a ruby on rails prototype of a web front end that could potentially +serve as a front end to git repos with design assets *and* serve as well +as a front end to magic mockup mockups in said repos +* http://inkscape.org[Inkscape] is our preferred design tool of choice; +it would be great if it had some GUI integration with Magic Mockup, +Sparkleshare, and Design Hub + +_Knowledge prerequisite:_ Ruby on Rails, web development, some UI design +chops _Skill level:_ Intermediate _Contacts:_ edirsh at redhat dot com + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Emichan[ Emily Dirsh] + +_Notes:_ We can provide a development platform for the web UI at +openshift.redhat.com. Also, note this project doesn't just benefit +Fedora designers, but it benefits all FLOSS designers. + +[[implement-a-unit-test-framework-for-fedpkg-and-rpkg]] +==== Implement a unit test framework for fedpkg and rpkg + +_Status:_ Proposed + +_Summary of idea:_ Unit tests are good. Testing is good. fedpkg and it's +backend rpkg is a growing code base, gaining more and more contributors. +It lacks a unit test framework which would be very beneficial to the +code base for making sure contributions don't break the code in subtle +ways. + +_Knowledge prerequisite:_ + +_Skill level:_ + +_Contacts:_ + +_Mentor(s):_ + +_Notes:_ This project is in python. + +[[package-gitlab-in-fedoraepel]] +==== Package GitLab in Fedora/EPEL + +_Status:_ Proposed + +_Summary of idea:_ To package http://gitlab.org/[GitLab] for Fedora and +EPEL (if possible). + +Git has fundamentally improved the way that developers share code. The +barrier to sharing code has virtually been eliminated. We are also +seeing the emergence of a new dynamic called "Social Coding". There's no +better example of this than Github. + +Creating an environment to foster social coding, and a low barrier to +sharing code, requires more than just git, though. A lot of what makes +Github successful with git is the web-based front end. + +Fortunately, there is an open source application named Gitlab that +provides much of the interactive functionality and usability that is +found at Github. The goal of this project is to bring that experience to +fedorahosted.org by setting up Gitlab. + +This project will require working with ruby packaging sig to get the +necessary gems packaged and available in Fedora (and if possible EPEL as +well). + +_Knowledge prerequisite:_ Ruby, git, packaging + +_Skill level:_ Medium + +_Contacts:_ link:https://fedoraproject.org/wiki/User:mojavelinux[Dan Allen] (general), link:https://fedoraproject.org/wiki/User:Vondruch[Vít +Ondruch] (packaging) + +_Mentor(s):_ Ranjib Dey (tentative), Dmitriy Zaporozhets (dzaporozhets), +Ariejan de Vroom (ariejan) + +_Notes:_ This idea is definitely something the Fedora project is +interested in pursuing. The work in this project will be carried on +after the project, and is an opportunity for a longer-term involvement +in Fedora. + +A demo of Gitlab can be found here: http://demo.gitlabhq.com + +[[dorrie-a-web-interface-for-building-fedora-spinsremixes]] +==== Dorrie: A web-interface for building Fedora spins/remixes + +_Status:_ Proposed + +_Summary of idea:_ Contribute to Dorrie, and make it more usable, add +test coverage and deployable. Details at +link:https://fedoraproject.org/wiki/Remixes_Web_Interface[Dorrie]. + +_Knowledge prerequisite:_ Python, Django + +_Skill level:_ Intermidiate + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Shreyankg[Shreyank Gupta] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Shreyankg[Shreyank Gupta], link:https://fedoraproject.org/wiki/User:Rtnpro[Ratnadeep +Debnath] + +_Notes:_ Features that I am looking to target: + +`* User management/FAS integration` + +`* Un-linerize the workflow.` + +`* Default wallpaper/Hostname/user-password/root-password` + +`* Custom repos/RPMs` + +`* Home directory content` + +`* Search Packages` + +`* Image type: ISO, virt image, raw disk` + +Code at https://github.com/shreyankg/Dorrie, fork and send pull request, +if you are interested to contribute. + +[[fedpkg-chain-builds-for-non-rawhide-branches]] +==== Fedpkg: Chain-builds for non-Rawhide branches + +* Status: Proposed +* Summary of idea: Contribute to the fedpkg project, enabling the +building of a series of interdependent packages in a single action for +released Fedora branches +* Knowledge Prerequisite: Python, Fedora Packaging +* Skill Level: Low - Medium +* Contacts: link:https://fedoraproject.org/wiki/User:sgallagh[Stephen Gallagher] +* Mentor(s): link:https://fedoraproject.org/wiki/User:sgallagh[Stephen Gallagher] (Backup) +* Notes: https://fedorahosted.org/fedpkg/ticket/6 + +[[financial-is-for-fedora-project]] +==== Financial IS for Fedora project + +* Status: Proposed +* Summary of idea: There is a need of an information system where it can +be used with in the project to track and analyse the finacial +activities. It may be a customiztion of a open source solution or a +solution from scratch. +* Skill Level: Medium + +* Mentor : link:https://fedoraproject.org/wiki/User:Charindu100[Charindu Thiwanka] - Technical +* Co-Mentor(s): link:https://fedoraproject.org/wiki/User:Bckurera[Buddhike Kurera] - Functional +* Notes: knowledge in PHP is required. MVC design pattern + +[[event-management-system-for-fedora]] +==== Event management system for Fedora + +* Status: Proposed +* Summary of idea: Fedora contributors organize lot of events. We need a +system to manage them. This sounds like a project management utility. +You can either build from scratch or customize an available free +software. This can be used to small event and as well as large event +like FUDcons. The main advantage to use such system is to organize tasks +and manage the cost. If you are interested contact me with a proposal. +* Skill Level: Medium +* Contacts: link:https://fedoraproject.org/wiki/User:Bckurera[Buddhike Kurera] +* Mentor(s): link:https://fedoraproject.org/wiki/User:Bckurera[Buddhike Kurera]) +* Notes: knowledge in PHP is required. MVC design pattern, creativity + +[[darkserver-improvement]] +==== Darkserver improvement + +* Status: Proposed + +* Summary of idea: http://darkserver.fedoraproject.org/[Darkserver] now +only supports primary koji instance of Fedora. We need support + +other secondary architectures and distributions. Different workers +should use different job queues and they all should work independently. +The current admin commands also need proper upgrade to handle different +resources to import from. The code also needs to be rebased so that it +becomes more test friendly. + +* Knowledge prerequisite: Python, Django + +* Skill level: high + +* Contacts: kushal AT fedoraproject.org + +* Mentor(s): link:https://fedoraproject.org/wiki/User:Kushal[Kushal Das] + +* Notes: Join the +https://lists.fedorahosted.org/mailman/listinfo/darkserver[mailing list] +and also #dgplug on freenode. + +[[linux-system-services]] +=== Linux system services + +[[implement-a-battery-of-unit-tests-for-sssd]] +==== Implement a battery of unit tests for SSSD + +* Status: Proposed +* Summary of idea: The purpose of this project is to develop a suite of +unit tests for the SSSD. The unit tests would leverage mock objects to +be able to exercise code that is otherwise only ever reachable when the +SSSD is connected to the network. Contributing the set of unit tests to +the SSSD would greatly improve its stability long-term and would help +raise confidence when pushing new SSSD versions into Fedora or other +distributions. +* Knowledge prerequisite: C programming +* Skill level: intermediate to high +* Contacts: link:https://fedoraproject.org/wiki/User:jhrozek[Jakub Hrozek] +* Mentor(s): link:https://fedoraproject.org/wiki/User:jhrozek[Jakub Hrozek] + +[[improving-fedora-packaging]] +=== Improving Fedora packaging + +[[aur-clone-for-fedora]] +==== AUR Clone for Fedora + +_Status:_ Proposed - Students' Idea - Need a mentor + +_Summary of idea:_ The idea is to make an AUR clone for Fedora where +users can submit buildfiles, which need to be hosted. These set of files +can compile packages on the user side, and installed locally. + +The benefit of this method is: + +1. No need to host the entire packages (saving space on servers hosting +the RPMs) +2. Make changes to the buildfile, and not compile the package +3. Can pull sources from any version control system/stored tarballs to +make a very upto-date package. (See blog entry for an example) + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Anujmore[Anuj More] + +_Notes:_ Need mentor. Need advice on feasibility of the software and +issues that can arise. Also, read the extensive blog post on +http://execat.blogspot.in/2012/03/aur-clone-for-fedora.html[my blog]. + +Analogy: This is a lot like "having your own library" vs "getting a book +from a bookstore". If you refer a book often, you'd keep it in your +library. This would occupy space and consume resources. Otherwise, you'd +just pull out a separate paper with instructions about the bookstore to +find the book, and fetch the book from the store. Though the first +method is hassle-free, it is not possible to have all the books in the +world with you. + +[[maven-foss-repository-extension]] +==== Maven FOSS Repository Extension + +_Status:_ Proposed + +_Summary of idea:_ With the inception of Maven we have a means to +standardize the building of Java projects. However it has also resulted +in the usage of a very wide dependency set by these Java projects. This +makes it very hard to integrate those projects on a single platform (be +it Fedora or JBoss Application Server (or the combination)). + +In essence during packaging all these dependencies must be lined up to +form a single consistent component set. Thus each project will only have +those components available which are actually available on the target +platform. This is very hard to enforce using standard Maven setup. + +For Fedora I'm envisioning a Maven extension that makes sure only +sanctioned components are used during the build (without putting a +burden on the packager). This will allow developers who are not on +Fedora to also build with this extension and thus verify (and fix) +issues which are the result of "Fedora packaging". + +A prototype can be viewed at https://github.com/fmvn/foss-maven[Maven +FOSS Repository Extension]. + +_Knowledge prerequisite:_ Knowledge of Maven + +_Skill level:_ Medium + +_Contacts:_ http://community.jboss.org/people/wolfc[Carlo de Wolf], +User:Mizdebsk[Mikolaj Izdebski] + +_Mentor(s):_ http://community.jboss.org/people/wolfc[Carlo de Wolf], +User:Mizdebsk[Mikolaj Izdebski] + +_Notes:_ You can find us at irc.freenode.net #fedora-java: wolfc and +mizdebsk + +[[fedora-spins-and-remixes]] +=== Fedora Spins and remixes + +[[educational-application-for-fedora-robotics-suite]] +==== Educational Application for Fedora Robotics Suite + +_Status:_ Proposed + +_Summary of Idea:_ Create an educational app introducing software from +Fedora Robotics Suite + +The link:https://fedoraproject.org/wiki/SIGs/Robotics[Fedora Robotics SIG] is creating a +link:https://fedoraproject.org/wiki/Features/RoboticsSuite[Robotics Suite] consisting of many packages +useful in robotics. We want to develop a demonstration application +introducing new users step by step to core packages like +http://www.fawkesrobotics.org[Fawkes] and +http://playerstage.sourceforge.net[Player/Stage]. It would feature +multiple game-like levels with increasing complexity. The general task +would be to instruct the robot to fulfill a specific task in a +simulation environment. + +_Knowledge prerequisite:_ Developing this requires a strong background +in C++, a background in robotics is preferred but not necessary. You +should be able to familiarize yourself with new software quickly. User +visible parts will require GUI programming using Gtkmm. + +_Skill level:_ Medium to High + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Timn[Tim Niemueller] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Timn[Tim Niemueller] + +[[applications-for-systems-administrators]] +=== Applications for systems administrators + +[[improving-the-rhq-pyagent-to-interface-with-openlmi]] +==== Improving the RHQ-PyAgent to interface with OpenLMI + +_Status:_ Proposed + +_Summary of idea:_ Improve the current RHQ-PyAgent written in Python +that interfaces RHQ with OpenLMI to pick up metrics that are provided by +OpenLMI from Fedora or RHEL systems. The agent is talking to the RHQ +server via the REST api and push metrics to RHQ etc. This agent +does/will not implement the full functionality of the RHQ java agent. +The previous work is already pretty good, but it is cumbersome to add +new OpenLMI-enabled servers and the types of the data model. The work of +this year should concentrate on automating that process - perhaps after +providing a range of IP addresses to query for servers. Similar for +resource types, the agent would talk to the server to see what types are +available and then check with the OpenLMI provider if this supports the +same. + +While RHQ is written in Java, this project does not require any Java +knowledge. + +_Knowledge prerequisite:_ Python, Linux system administration, +principles of REST + +_Skill level:_ Medium to High + +_Contacts:_ Heiko Rupp + +_Mentor(s):_ Heiko Rupp + +_Notes:_ RHQ wiki is at http://jboss.org/rhq, Previous years work: +http://rhqagent.blogspot.com + +[[applications-for-testers]] +=== Applications for Testers + +[[fedora-gooey-karma]] +==== Fedora Gooey Karma + +_Status:_ Proposed + +_Summary of idea:_ link:https://fedoraproject.org/wiki/Fedora_Easy_Karma[Fedora Easy Karma] is a CLI +application to help testers apply karma to installed updates and while +it's great at doing so, it doesn't display much other information on +what an update is supposed to fix or what can be done to test a +particular update. A GUI tool that pulls in more information on packages +under test would help in the testing process and hopefully help +encourage less techical users to start testing packages. + +_Knowledge prerequisite:_ GUI tool kit (Qt or GTK), python + +_Skill level:_ intermediate + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Jskladan[Josef Skladanka (jskladan)], link:https://fedoraproject.org/wiki/User:Tflink[Tim +Flink (tflink)] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Jskladan[Josef Skladanka (jskladan)], link:https://fedoraproject.org/wiki/User:Tflink[Tim +Flink (tflink)] + +_Notes:_ A longer description and some rough mockups +http://tirfa.com/gooey-karma.html[can be found here] + +[[blocker-tracking-application]] +==== Blocker Tracking Application + +_Status:_ Proposed + +_Summary of idea:_ The +http://qa.fedoraproject.org/blockerbugs[blockerbugs web application] is +used by QA to track bugs which are currently blocking release, proposed +as blocking release or could be pulled into the release past a code +freeze. While the app itself already exists, there are many features +which we would like to see implemented including (but not limited to): + +* Creating a RESTful API +* Tracking contents of TC/RC spins +* migrating css to zurb foundation 4 +* search functionality +* improve the update sync process +* implement CI tools (make-ish file that runs pylint, tests etc.) +* integrate email (on error, on proposal, other thoughts ...) +* integrate fedbus (blocker X proposed, accepted, rejected) +* fix the admin interface so that it actually works + +_Knowledge prerequisite:_ Some python experience is required, the app is +written with Flask so some experiehce with that would be helpful + +_Skill level:_ Intermediate + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Tflink[Tim Flink (tflink)] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Tflink[Tim Flink (tflink)] + +[[image-building-project]] +==== Image Building Project + +https://fedorahosted.org/fedora-build-service/[The image building +project] started last year as a gsoc project and while the progress was +good, it isn't quite to the point where we need it to be for everyday +usage. The emphasis would be on getting local image building to work +before more work on distributing image building tasks got started. + +Possible project components: + +* side repository management +* better integration with bodhi and working based on updates instead of +just package envrs +* tree replication +* integration with blockerbugs app +* deltaiso creation +* zsync for downloads +* integration with koji's new livecd scratch builds + +_Knowledge prerequisite:_ Some python experience is required, +familiarity with Fedora's ISO build tools would be preferred + +_Skill level:_ Intermediate to advanced + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Tflink[Tim Flink (tflink)], link:https://fedoraproject.org/wiki/User:Amitksaha[Amit Saha] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Tflink[Tim Flink (tflink)], link:https://fedoraproject.org/wiki/User:Amitksaha[Amit Saha] + diff --git a/gsoc/2013/images/Gsoc-2013-logo.png.jpg b/gsoc/2013/images/Gsoc-2013-logo.png.jpg new file mode 100644 index 0000000..ed845b2 Binary files /dev/null and b/gsoc/2013/images/Gsoc-2013-logo.png.jpg differ diff --git a/gsoc/2013/index.adoc b/gsoc/2013/index.adoc new file mode 100644 index 0000000..3b69d4f --- /dev/null +++ b/gsoc/2013/index.adoc @@ -0,0 +1,247 @@ += Google Summer of Code 2013 + +image:Gsoc-2013-logo.png[] + +The Fedora project represented the Google Summer of Code program for 7 +years wih managing 52 projects and willing to participate on year 2013 +program as well. This wiki page serves as the GSoC portal. Please feel +free to contact us via link:https://lists.fedoraproject.org/admin/lists/summer-coding@lists.fedoraproject.org/[summer-coding] list for clarifications/ more info. + +[[students]] +== Students + + +Students who are looking for challenges and would like to contribute to +the worlds' leading and innovative Linux Distro, this could be the +chance. Please feel free to contact and refer to the material and start +contacting mentors. + +1. link:ideas.html[Main Idea Page] + +[[why-spend-your-summer-working-on-foss]] +=== Why spend your summer working on FOSS? + +When you work in the open on free software, you create a body of work +that follows you for the rest of your life. Rather than a coding +assignment done by thousands of other students and relegated to the +bottom of the bit drawer at semester's end, working in FOSS is a chance +to contribute to a living project. + +Working in FOSS gives you a chance to: + +* Work with real world large codebases. +* Collaborate with real engineers and other professional experts. +* Contribute to something meaningful while learning and earning student +value. +* Learn tools and processes that are just like what you are going to use +if you work in technology after graduation. +* Make friends and contacts around the globe. +* Possibly attract attention that gets you an internship or job after +graduation. +* Create life time connections. + +[[why-work-with-fedora]] +=== Why work with Fedora? + +Our project is large and diverse. We are very experienced at working +with new contributors and helping them be successful. + +Many long-time contributors continue to be around, lending expertise and +mentoring. People who stay around the community and do good work are +noticed. They get hired for jobs from it, including being hired by Red +Hat. Past Google Summer of Code students were hired by Red Hat, as well +as interns in various positions. This is just an example, as experience +and reputation in the Fedora Project communities is influential on your +career in many ways. + +As long-standing communities with many facets, it is possible for you to +find many rewarding sub-projects to work on. + +You should know that contributing to FOSS doesn't require you to have +super programming skills, or super-anything else. You just need be +interested and curious enough, and be willing to become comfortable +being productively lost. This is the state of learning through finding +your way around and figuring things out. + +[[step-by-step-guide-for-students]] +=== Step-by-step guide for students + +Please check the link:https://fedoraproject.org/wiki/GSOC_Guide_students[Step by Step guide for +students]. + +[[students-application]] +=== Student's application + +Please refer to the following to follow the students' application +process, + +link:student_application_process.html[Student Application Process] + +[[administration]] +== Administration + +In order to clarify matters/ obtain more info related with the GSoC 2013 +with Fedora please contact the administrators directly (please consider +CCing the summer-coding list where ever possible). + +1. link:https://fedoraproject.org/wiki/User:Bckurera[Buddhike Kurera(Bckurera)] - Administrator +2. link:https://fedoraproject.org/wiki/User:Charindu100[Chrindu Thiwanka] - Administrator +3. link:https://fedoraproject.org/wiki/User:Mmorsi[Mo Morsi] - Administrator - Fall-back Admins + +[[mentors]] +== Mentors + +The contributors of the Fedora Project can propose ideas and mentor +them. Please feel free to check following links and please add your +ideas to the main idea page, further if you are not interested in +proposing an idea but still want to support the program please check the +students' idea page and pick one as per your interest. + +1. http://en.flossmanuals.net/GSoCMentoring/[Manual on Mentoring] +2. link:ideas.html[Main Idea Page] + +[[how-to-work-with-students]] +=== How to work with students + + +* One way is to provide an idea for students to work on. This idea might +be very well planned out, in which case you may need a high-level of +contact with the student to get it implemented correctly. + +* It is harder to find success where you are completely certain of how +an idea needs to be implemented; finding a student with the skills and +interest to implement a specific solution is a lot harder than finding a +student with enough skills to respond to a use case need. + +* Where you can have looser ideas, you may be able to find a student who +works as a sort-of intern who can implement a solution to a use case you +have. In past experiences, students going after a use case are more +likely to get somewhere with self-direction. + +* You may also want to work with a student who brings an idea to your +sub-project. This requires a different level of communication throughout +the project, but can be the most rewarding. + +[[mentor-responsibilities]] +=== Mentor responsibilities + +You are an essential part of the student's success, the project's +success, and the success for your overall organization (Fedora, +JBoss.org, or another). + +Your responsibilities include: + +* Being an interface for an identified sub-project or SIG in Fedora. +* Helping students communicate with the overall project and any +upstream. +* Be the final, accountable person for deciding if the student is +successful or not, which affects payment. + +[[list-of-mentors]] +=== List of Mentors + +[[list-of-registered-members]] +==== List of registered members + +List of mentors who are registered with Google and added to the project +as a mentor are listed here; + +link:https://fedoraproject.org/wiki/GSOC_2013/Registered_Mentors_List[Registered Mentor List] + +[[communication]] +== Communication + +*Mailing List (GSOC related) :* link:https://lists.fedoraproject.org/admin/lists/summer-coding@lists.fedoraproject.org/[summer-coding] + +*Mailing List (Technical) :* link:https://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org/[devel] + +*IRC :* Channel - link:https://webchat.freenode.net/?channels=#fedora-summer-coding[#fedora-summer-coding] or link:https://webchat.freenode.net/?channels=#fedora-devel[#fedora-devel] on Freenode + +[[time-line-student-version]] +== Time Line (Student version) + +Reference : +http://www.google-melange.com/gsoc/events/google/gsoc2013[Full timeline] + +* April 8: 19:00 UTC List of accepted mentoring organizations published +on the Google Summer of Code 2013 site. +* April 9 - 21: Would-be student participants discuss application ideas +with mentoring organizations. +* April 22: 19:00 UTC Student application period opens. +* May 3: 19:00 UTC Student application deadline. + +Interim Period: Mentoring organizations review and rank student +proposals; where necessary, mentoring organizations may request further +proposal detail from the student applicant. + +* May 6: Mentoring organizations should have requested slots via their +profile in Melange by this point. +* May 8: Slot allocations published to mentoring organizations + +Interim Period: Slot allocation trades happen amongst organizations. +Mentoring organizations review and rank student proposals; where +necessary, mentoring organizations may request further proposal detail +from the student applicant. + +* May 27: 19:00 UTC Accepted student proposals announced on the Google +Summer of Code 2013 site. + +Community Bonding Period: Students get to know mentors, read +documentation, get up to speed to begin working on their projects. + +* June 17: Students begin coding for their Google Summer of Code +projects; + +Google begins issuing initial student payments provided tax forms are on +file and students are in good standing with their communities. Work +Period: Mentors give students a helping hand and guidance on their +projects. + +* July 29: 19:00 UTC Mentors and students can begin submitting mid-term +evaluations. +* August 2: 19:00 UTC Mid-term evaluations deadline; +* Work Period: Mentors give students a helping hand and guidance on +their projects. +* September 16: Suggested 'pencils down' date. Take a week to scrub +code, write tests, improve documentation, etc. +* September 23: 19:00 UTC Firm 'pencils down' date. Mentors, students +and organization administrators can begin submitting final evaluations +to Google. +* September 27: 19:00 UTC Final evaluation deadline + +Google begins issuing student and mentoring organization payments +provided forms and evaluations are on file. + +* September 27: Students can begin submitting required code samples to +Google +* October 1: Final results of Google Summer of Code 2013 announced +* October 19 & 20: Mentor Summit at Google + +[[organization-application]] +== Organization Application + +'''Org Application submitting has not yet begun !! ''' + +[[ideas-page]] +== Ideas Page +//// +is it still opened? +//// +*Status :* Open for Ideas + +*Link :* +link:ideas.html[ideas] + +We encourage students to provide creative yet useful ideas towards the +Fedora project as well. Please use +link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2013/Students_Idea[Student Idea] page to +note your idea. The idea will be moved to the original idea page once +the idea is picked by a mentor. + +[[links]] +== Links + + +1. link:https://fedoraproject.org/wiki/Foundation[The Foundation] +2. http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2016/help_page[GSoC +FAQ] +3. http://docs.fedoraproject.org/en-US/index.html[Fedora Documentation] +4. link:https://fedoraproject.org/wiki/Communicate/IRCHowTo[IRC] +5. link:https://fedoraproject.org/wiki/Development[Development] diff --git a/gsoc/2013/student_application_process.adoc b/gsoc/2013/student_application_process.adoc new file mode 100644 index 0000000..ed94ea1 --- /dev/null +++ b/gsoc/2013/student_application_process.adoc @@ -0,0 +1,108 @@ += Student application process: Google Summer of Code 2013 + +This year Student Application process is quite different from the last +year GSOC program with Fedora. Therefore please follow the below +instructions and make sure the application process is correctly +followed. + +[[process]] +== Process + +1. link:https://fedoraproject.org/wiki/GSOC_Guide_students#Set_up_an_account[Create a FAS account] +2. link:https://fedoraproject.org/wiki/GSOC_Guide_students#Start_communicating[Join with +fedora-summer-coding mailing list] +3. Submit application on +https://google-melange.appspot.com/gsoc/proposal/submit/google/gsoc2013/fedora[Google-Melange] +4. link:https://fedoraproject.org/wiki/GSOC_2013/Student_Application_Template/Common[Application is +filled] and available on Fedora Wiki - +link:https://fedoraproject.org/wiki/GSOC_Guide_students#Create_your_Application[How to fill the +application] +5. CV highlighting your activities with Information Technology +6. A recommendation from (highlighting your fitness) +1. A member of a Free Software Organization you have contributed +earlier OR +2. A lecturer in your university +7. A detailed plan with your planned activities in May to September +(eg: Exams in university, internships, vacations..etc) + +'''Please note - ''' email your CV, Recommendation and Detailed plan to +Org Admins, *bckurera AT fedoraproject DOT org* for any inquiry please +use the above email address and feel free to CC your mentor if required +(recommended). + +*Important* - We understand that you need some time to contact a person +and get a recommendation, therefore if it seems like getting delayed +please send us the rest of the documents and email the recommendation +later. + +*Bare mind* - You are required to add your project proposal to wiki, +therefore proceed with the application process as quickly as possible. + +*We do not accept any document after Google student application +deadline, all entries make after the deadline is ignored unless you have +not informed to Org Admins! However if you have any difficulty to meet +this requirement please let us know in advance (before the deadline).* + +Once you have completed above steps and email those documents, Org +admins will peer-review your application set and you will be contacted +with more information. As a caution please do not wait till the last +minute, complete the application process in advance. Further you need to +respond to any communication from the Org Admins or mentors with in 24 +hours in this period. + +[[faq]] +== FAQ + + +* *What about details of my project?* + +You will be asked and given a link to update information about your +project idea once you have completed the above mentioned process. + +* *Why recommendation is required?* + +This gives us an information about your reliability, we need you to +complete the project with mentioned goals and with in the time period. + +* *I am a Fedora project contributor, do I need a recommendation?* + +Yes, since we maintain equal opportunity environment the process is +common for all. + +* *What are the file formats that I can use?* + +You are encourage to use .pdf as much as possible, if not a Open Format +can be used. + +* *What is meant by a "Recommendation", how should it looks like?* + +It is good to have a recommendation from a person who knows you well, +recommending that you suites to this program. May be you worked with him +for another project and he is delighted with your work, so we want to +know it, that is simply a recommendation. If you have contributed to a +Free Software Project then we would like to hear about that from some +one from the project who see your great contribution. That can be +considered as a recommendation. + +* *I dont get a reply from Org Admins after sending documents, is it +normal?* + +You should get a reply with in 24 hours, if not please immediately +contact Org Admin. + +* *What should be included in my CV?* + +It should be decided by you. Good to include each and every important +thing that make you a suitable candidate and add values. if you want to +know how to create an effective CV, please google. + +* *What is the need of a detailed plan of my activities?* + +It is important to get an idea about your free time and arrange things +at the early stage. Therefore this is really important and try to make +it accurate as much as possible. + +* *Why should I email the documents?* + +It is for your own privacy. If you would like to make the public please +feel free to do so and send us the links instead. diff --git a/gsoc/2014/ideas.adoc b/gsoc/2014/ideas.adoc new file mode 100644 index 0000000..9243938 --- /dev/null +++ b/gsoc/2014/ideas.adoc @@ -0,0 +1,1123 @@ += Ideas: Google Summer od Code 2014 + +Find an idea you like? Want to propose your own? See the Getting Started +Guide with GSoC: + +link:index.html[GSOC 2014] +//// +You may be interested in ideas from +link:Summer_coding_ideas_for_2013[2013], +link:Summer_coding_ideas_for_2012[2012], +link:Summer_coding_ideas_for_2011[2011], +link:Summer_coding_ideas_for_2010[2010], +link:Summer_coding_ideas_for_2009[2009] and +link:Summer_coding_ideas_for_2008[2008]. +//// +Further, last year accepted ideas from the Fedora Project can be found +at http://www.google-melange.com/gsoc/org/google/gsoc2012/fedora[GSoC +2013 web site] + +[[students-welcome]] +== Students Welcome + + +If you are a student looking forward to participate the GSoC 2014 with +Fedora, please feel free to browse the idea list which is still growing. +Do not hesitate to contact the mentors/ contributors as indicated in +this page for any related clarification. If you are new to The Fedora +project, following material would help you to get started. Further +please sign-up with the link:https://fedoraproject.org/wiki/FAS[Fedora Account System(FAS)] if you are +willing to continue with the Fedora project. `#fedora-devel`, IRC +channel can be used to get instant support. + +1. link:https://fedoraproject.org/wiki/Foundation[The Foundation] +2. http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2016/help_page[GSoC +FAQ] +3. http://docs.fedoraproject.org/en-US/index.html[Fedora Documentation] +4. link:https://fedoraproject.org/wiki/Communicate/IRCHowTo[IRC] +5. link:https://fedoraproject.org/wiki/Development[Development] + +[[supporting-mentors]] +== Supporting Mentors + + +Following contributors are also willing to support the GSoC 2014 +program. (please feel free to add your self, attach the user page). +Sometimes there should be some backing up mentors to mentor if the +original mentor get busy with something for a short time period. In such +case we need help. + +1. link:https://fedoraproject.org/wiki/User:Bckurera[Buddhike Kurera(Bckurera)] +2. link:https://fedoraproject.org/wiki/User:Kushal[Kushal Das(Kushal)] +3. link:https://fedoraproject.org/wiki/User:Myth17[Nitish Upreti(Myth17)] +4. link:https://fedoraproject.org/wiki/User:Lsd[Lali Devamanthri(LSD)] +5. link:https://fedoraproject.org/wiki/User:Hguemar[Haïkel Guémar(number80)] +6. link:https://fedoraproject.org/wiki/User:Kumarpraveen[Praveen Kumar(praveenkumar)] +7. link:https://fedoraproject.org/wiki/User:Shreyankg[Shreyank Gupta(Shrink)] +8. link:https://fedoraproject.org/wiki/User:Debloper[Soumya Deb (Debloper)] +9. link:https://fedoraproject.org/wiki/User:Sayanchowdhury[Sayan Chowdhury(sayanchowdhury)] +10. link:https://fedoraproject.org/wiki/User:Rtnpro[Ratnadeep Debnath(rtnpro)] +11. link:https://fedoraproject.org/wiki/User:Mizdebsk[Mikolaj Izdebski (mizdebsk)] +12. link:https://fedoraproject.org/wiki/User:Sochotni[Stanislav Ochotnicky (sochotni)] +13. link:https://fedoraproject.org/wiki/User:lbazan[Luis Bazan (lbazan)] +14. link:https://fedoraproject.org/wiki/User:echevemaster[Eduardo Echeverria (echevemaster)] + +[[draft-of-an-idea]] +== Draft of an idea + +Please add your idea as follows. + +[[project-name]] +=== Project name + + +_Status:_ + +_Summary of idea:_ + +_Knowledge prerequisite:_ + +_Skill level:_ + +_Contacts:_ + +_Mentor(s):_ + +_Notes:_ + +*!!!The draft was changed slightly, please add required field as +required!!!* + +[[idea-list-for-gsoc-2014]] +== Idea list for GSoC 2014 + + +[[fedmsgsobumper]] +==== FedmsgSobumper + + +_Status:_ Proposed (as a maturity level in +http://tools.ietf.org/html/rfc6410[RFC6410]) + +_Summary of idea:_ Automatically rebuild the whole dependency subtree in +rawhide if any ABI-backwards-incompatible so-bump occures. + +_Knowledge prerequisite:_ Python, shell + +_Skill level:_ Low-Medium + +_Contacts:_ jpacner @ @ redhat @ @ com + +_Mentor(s):_ jpacner @ @ redhat @ @ com + +_Notes:_ The script will be hooked to +http://www.fedmsg.com/en/latest/[Fedmsg bus] and should be as small as +possible (for details, please contact the mentor). This will save +rawhide contributors much time. + +[[bugspad]] +==== Bugspad + + +_Status:_ Proposed + +_Summary of idea:_ Bugspad is a bug tracking system designed keeping +performance in mind. The target is to keep same level of features like +Bugzilla but people should be able to host it in a standard vm. It +should also require less configuration and maintainence. For a test +evaluation goal we want to have all Fedora bugs and but better +performance from current Bugzilla. + +Project details can be found at +http://bugspad.readthedocs.org/en/latest/ + +Minimal required TODO + +* Fully working frontend, primary idea is to go fully selfhosted. All +bugs should be filed in that instance against Bugspad. + +_Knowledge prerequisite:_ + +` * Good idea on web applications and frontend design. ` + +` * The person should know about API(s) in general and how to design them well. ` + +` * Python, Javascript, HTML, CSS will be the primary languages to deal with.` + +_Skill level:_ Medium-High + +_Contacts:_ kushal AT fedoraproject DOT org + +_Mentor(s):_ Kushal Das + +_Notes:_ The backend is written in golang. Before you start talking have +at least one instance up somewhere (hints: your laptop). + +[[waartaa]] +==== Waartaa + + +*Status:* Proposed + +*Summary of idea:* Waartaa is an open source communication tool for +teams and groups. It is built on top of IRC. Currently, Waartaa is an +IRC client as a service and it supports centralized logging, 24x7 +idling, notifications and unique identity to a user on IRC. You can +visit the project’s homepage: https://www.waartaa.com for more details. +A demo instance of Waartaa is hosted at https://try.waartaa.com. + +Roadmap: + +* Build a central hub for searching/reading channel logs for Open Source +communities and projects. +* Build a faster and scalable backend. +* Freedom of choice: Expose an API so that users can use their existing +IRC clients with waartaa. +* Find a secure way to authenticate with IRC services without storing +RAW passwords. +* Respect user privacy: user personal messages should be stored in an +encrypted format in the server. +* Allow users to download chat logs in various formats compatible with +popular IRC clients. +* HTML5 mobile app +* VCS, Bugzilla and other task management tools integration. +* Video/audio conference facility on top of HTML5 and JS technologies. + +*Knowledge prerequisite:* Python, Javascript, HTML, CSS. + +*Skill level:* Medium + +*Contacts:* + +* rtnpro at fedoraproject dot org +* sayanchowdhury at fedoraproject dot org + +*Mentor(s):* link:https://fedoraproject.org/wiki/User:Rtnpro[Ratnadeep Debnath], link:https://fedoraproject.org/wiki/User:Kushal[Kushal Das], +link:https://fedoraproject.org/wiki/User:Sayanchowdhury[Sayan Chowdhury] + +*Notes:* + +[[afterthought]] +==== Afterthought + + +*Status:* Proposed + +*Summary of idea:* Afterthought will be the tool to run (not predefined) +jobs on *nix systems. At very high level, it will take an URI as +argument, fetch the data of the URI, strip/parse the formatted data +(with instruction sets) & execute the commands/jobs. This makes +automating tasks, server/application deployments so much easy. + +By operation, one can simply consider it as a _dynamic_, _lazy-loaded_ +shell-script. When running a script it follows the routines put in it at +the creation time (which may have been obsoleted at the time of +execution); whereas, *afterthought* fetches the latest routines, which +would be the latest route-to-follow for the operation - without the user +needing to worry about it (or get the 'latest' script). + +Other possibilities include, configuring a base procedure customized to +particular needs, profiles and/or credentials. And the endpoint doesn't +need to reply the same on 2020 for a Fedora Machine with Clang, as it +did on 2015 for a CentOS rig with GCC - if you know get what I mean. +Other such possibilities are: + +` $ afterthought `http://zomg.app/install[`http://zomg.app/install`] + +` $ afterthought `https://le-wild-github.app/username/pushes/to/ci[`https://le-wild-github.app/username/pushes/to/ci`] + +` $ afterthought `https://thoughtpolice.tld/openshift/deploy?user=id&code=github.com/foo/bar[`https://thoughtpolice.tld/openshift/deploy?user=id&code=github.com/foo/bar`] + +` $ afterthought `https://thoughtpolice.tld/user/?profile=setup-irc-bouncer-on-my-raspberry-pidora[`https://thoughtpolice.tld/user/?profile=setup-irc-bouncer-on-my-raspberry-pidora`] + +` $ afterthought `https://thoughtpolice.tld/user/?profile=run-httpd-server-on-a-docker-image-of-fedora[`https://thoughtpolice.tld/user/?profile=run-httpd-server-on-a-docker-image-of-fedora`] + +OR maybe, in a Dockerfile + +` CMD ["afterthought", "`http://thoughthacker.tld/rule-the-world#plan-TBD-but-this-image-ships-today[`http://thoughthacker.tld/rule-the-world#plan-TBD-but-this-image-ships-today`]`"]` + +So, all in all - less RTFM, less maintenance (or chasing ghost of the +past routines/scripts), more automation - wherever applies (hint: +applies in way too many places). + +*Knowledge prerequisite:* *nix && (Rust || C/C++ || Go) && +(Node.js::FlatIron/Express || Python::Flask/Pyramids || +Ruby::Rails/Camping) + +*Skill level:* Intermediate + +*Contacts:* link:https://fedoraproject.org/wiki/User:Debloper[Soumya Deb (Debloper)] + +*Mentor(s):* link:https://fedoraproject.org/wiki/User:Debloper[Soumya Deb (Debloper)] + +*Notes:* + +[[shumgrepper]] +==== Shumgrepper + +_Status:_ Proposed - draft + +_Summary of idea:_ summershum is a project collecting the md5sum, +sha1sum and sha512sum of every file in every package in Fedora. This +would allow detecting how many time we bundle certain files or how many +different copies of the GPL license are present. Shumgreppper would be +the web frontend/json-api to this data. The idea would be to fork the +code present in https://apps.fedoraproject.org/datagrepper[datagrepper] +and adjust it to work on top of summershum. + +_Knowledge prerequisite:_ python and basic html/css + +_Skill level:_ intermediate + +_Contacts:_ pingou at fedoraproject dot org + +__Mentor(s):__link:https://fedoraproject.org/wiki/User:pingou[Pierre-Yves Chibon] & link:https://fedoraproject.org/wiki/User:ralph[Ralph Bean] + +_Notes:_ + +[[glitter-gallery-improvements]] +==== Glitter Gallery Improvements + + +_Status:_ Proposed - draft + +_Summary of idea:_ + +link:https://fedoraproject.org/wiki/Design/GlitterGallery[ GlitterGallery] is GitHub for designers. +It's a web app that allows designers and artists to create, share, and +collaborate, backed by Git for version control, and intended to be part +of a FLOSS design suite that includes + +* http://sparkleshare.org[Sparkleshare] - a git-backed, Dropbox like +system that will automatically check in and push files in project +directly to a shared git repo +* https://github.com/garrett/magicmockup[Magic Mockup] - a +coffeescript/javascript you can insert into an SVG of mockups to enable +interactive, click-through mockups +(http://blog.linuxgrrl.com/2011/08/12/interactive-svg-mockups-with-inkscape-javascript/[see +a demo here] ) +* http://inkscape.org[Inkscape] is our preferred design tool of choice + +Last year, a successful GSoC took Glitter Gallery from a prototype to a +fully featured web app, but there are still plenty of features to be +added, and improvements to be made. Some things that still need work: + +* Transitioning to test-driven development, which means writing unit and +integration tests for all of the components +* Better design suite integration, which could mean better support for +local editing with SparkleShare; Inkscape integration through an +extension; and/or support for creating and sharing interactive SVGs with +Magic Mockup +* UI improvements - the current UI is functional and pretty nice +looking, but it could be more responsive and polished +* Better commenting - the current commenting system is basic, and +there's lots of ways it could be improved, including thread support, +pingback support, the ability to reference a specific region of a design +in a comment +* Issue tracking - allow the designer to track requested changes as +issues +* More social features - such as the ability to follow a +file/project/user, an activity feed, private messaging, easy sharing +outside the application +* Your own ideas + +_Knowledge prerequisite:_ git, Ruby on Rails, front-end (HTML/CSS/JS) +development, design experience would be great but optional + +_Skill level:_ Intermediate + +_Contacts:_ emichan at fedoraproject dot org + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Emichan[ Emily Dirsh] + +_Notes:_ The +https://github.com/glittergallery/GlitterGallery[GlitterGallery +repository] is hosted on GitHub. GlitterGallery will run locally, but +due to a dependency, isn't yet compatible with ruby 2.0.0 which is the +version provided with the latest Fedora release - you can install an +older version of ruby with rvm. Ruby 1.9.3 is recommended. +GlitterGallery can also be deployed on +https://www.openshift.com[OpenShift]. + +[[fedora-college]] +==== Fedora College + + +_Status:_ Proposed - Draft + +_Summary of idea:_ Fedora College is a project that searches to deploy +the use of virtual classrooms in the training of Fedora new +contributors, using known educational resources, by relying primarily on +video + +_Knowledge prerequisite:_ apache, postgresql, python, Flask, SQlAlchemy + +_Skill level:_ Medium + +_Contacts:_ echevemaster [AT] fedoraproject [DOT] org, yohangraterol, +[AT] fedoraproject [DOT] org + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:echevemaster[Eduardo Echeverria] | +link:https://fedoraproject.org/wiki/User:yograterol[Yohan Graterol] + +_Co-Mentor:_ link:https://fedoraproject.org/wiki/User:lbazan[Luis Bazán] + +_Code:_ https://github.com/echevemaster/fedora-college, welcome to +contributors + +_Interested Students:_ http://github.com/hammadhaleem[Hammad] + +[[web-hosting-control-panel]] +==== Web hosting control panel + + +_Status:_ Proposed - Draft + +_Summary of idea:_ develop a free alternative of cpanel / plesk control +panels, 100% compatible with fedora, and redhat enterprise Linux. +written in python. + +the control panel will be able to create domains and automatically setup +apache, postfix, dovecot, mysql, postgresql bind etc... + +_Knowledge prerequisite:_ apache, postfix, dovecot, mysql, postgresql, +proftpd, bind + +_Skill level:_ Medium + +_Contacts:_ itamarjp [AT] fedoraproject [DOT] org, kaustubh [DOT] +karkare [AT] gmail [DOT] com + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:lbazan[Luis Bazan] + +_Co-Mentor:_ link:https://fedoraproject.org/wiki/User:echevemaster[Eduardo Echeverria] + +_Notes:_ link:https://fedoraproject.org/wiki/User:Itamarjp/gsoc-2012[webhosting control panel draft] + +[[infrastructure-for-freemedia-group]] +==== Infrastructure for FreeMedia group + + +_Status:_ Proposed + +_Summary of idea:_ Fedora freemedia is a group of volunteers who ship +fedora media on request to users worldwide. They use Trac to track these +requests. The process is manual, the idea is to automate the process as +much as possible. + +_Knowledge prerequisite:_ PHP, PostgreSQL + +_Skill level:_ Medium + +_Contacts:_ link:https://fedoraproject.org/wiki/User:bckurera[bckurera] + +_Mentor(s):_ + +_Notes:_ + +[[collaboration-projects-with-other-organizations]] +=== Collaboration projects with other organizations + + +* TBA + +[[muon-kde-package-management]] +=== Muon – KDE package management + +_Status:_ Proposed + +_Summary of idea:_ The current package manager front-end used in Fedora +KDE, Apper, is unmaintained and full of bugs. Muon OTOH is under active +development. It has originally been written for Kubuntu and was tied to +Apt but it gained a preminarily PackageKit back-end in 2013. The idea is +to make Muon 2.1 ready for production use in Fedora. + +_Knowledge prerequisite:_ C++, Qt/KDE development + +_Skill level:_ Medium + +_Contacts:_ https://projects.kde.org/projects/extragear/sysadmin/muon + +_Mentor(s):_ ?? (Aleix Pol Gonzalez is a confirmed mentor for a +https://wiki.debian.org/SummerOfCode2014/Projects/Get%20Muon%20ready[similar +Debian proposal]) + +_Notes:_ +https://wiki.debian.org/SummerOfCode2014/Projects/Get%20Muon%20ready[Debian] +has a similar proposal. Even though that one would focus on the Apt +back-end, their tasks of cleaning up _ubuntuisms_ would benefit Fedora +as well. + +[[mock-improvements]] +=== Mock improvements + + +_Status:_ Proposed + +_Summary of idea:_ This project is about improving +https://fedorahosted.org/mock/[mock utility] used in building packages +in Fedora and some other RPM-based distributions. It focuses on +improving interactive mock use cases to improve packaging workflows. + +Some ideas for mock improvement: + +Add real-time logging to TTY:: + +Improve interactive mock use by logging more things to console in real +time. Things like DNF output or build logs should be considered. + +Implement LVM-based root cache:: + +Currently mock creates root directory tree under existing file system +and caches chroot as compressed tarball, which has negative performance +impact. The idea is to use LVM logical volume to store guest file +system. Cache would be created by creating LVM snapshot, which could be +later restored. + +Use DNF instead of yum and yum-builddep:: + +Mock uses YUM and YUM Utils to install initial packages and build +dependencies. The idea is to replace all YUM usage with DNF. + +As DNF is still in development, it is expected to have a few bugs +related to installroot support, which may have to be fixed and +contributed to DNF project. + +Improve chroot locking:: + +Currently most of mock operations inside chroot are performed after +acquiring exclusive lock. This makes it impossible to run two separate +shells inside mock. The idea is to implement read-write +(shared-exclusive) locking scheme. Some operations (like creating chroot +or restoring snapshot) would need exclusive lock, other would need just +shared lock (like running a shell). + +_Knowledge prerequisite:_ Python, Linux, RPM Packaging + +_Skill level:_ Medium + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Mizdebsk[Mikolaj Izdebski] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Mizdebsk[Mikolaj Izdebski], link:https://fedoraproject.org/wiki/User:Sochotni[Stanislav +Ochotnicky] (backup) + +_Notes:_ + +[[git-shell-prompt-daemon]] +=== Git shell prompt daemon + + +_Status:_ Proposed + +_Summary of idea:_ Fedora packaging is heavily dependant on git. Without +specialized git tools, maintenance of tens or hundreds of Fedora +packages can become tedious. + +This project is about implementing a deamon which would listen on named +pipe to requests from system shell (like bash) and it would respond with +command line prompt dependant on context (like status of git repository +in given directory) and user configuration. + +The core of the daemon should not rely on git, but instead be written +using plugin framework allowing different plugins to be implemented. +Each plugin could provide different information to be displayed in shell +prompt. + +Besides the core, a git plugin should be implemented. This plugin should +not call git executable, but instead use a git library (such as libgit2 +which has bindings for many languages). + +_Knowledge prerequisite:_ Git, Linux, any programming language which has +bindings for http://libgit2.github.com/[libgit2] + +_Skill level:_ Medium + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Mizdebsk[Mikolaj Izdebski] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Mizdebsk[Mikolaj Izdebski], link:https://fedoraproject.org/wiki/User:Sochotni[Stanislav +Ochotnicky] (backup) + +_Notes:_ + +[[improving-fedora-packager-for-eclipse]] +=== Improving Fedora Packager for Eclipse + + +_Status:_ Proposed + +_Summary of idea:_ This project is about implementing new Eclipse +plugins and contrubuting them to +https://fedorahosted.org/eclipse-fedorapackager/[eclipse-fedorapackager] +project. + +Copr integration:: + +This plugin should provide interface for +https://fedorahosted.org/copr/[Copr]. It should allow obtaining API +token using login/password, launching builds, querying build statuses. +Ideally full Copr API would be implemented, even if it is not used in +GUI. This plugin should provide command(s) in Fedora Packaging +perspective. + +Fedora Infrastructure Message Bus integration:: + +This plugin should provide Java API and implementation for +https://apps.fedoraproject.org/datagrepper/[datagrepper]. It should also +provide a SWT widget which would allow accessing past events and +filtering them by specified criteria. Optional Mylyn integration is also +welcome (for example failing build creates a Mylyn task). + +_Knowledge prerequisite:_ Java, Eclipse plugin development + +_Skill level:_ Medium + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Mizdebsk[Mikolaj Izdebski], User:Akurtakov[Alexander +Kurtakov] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Mizdebsk[Mikolaj Izdebski], link:https://fedoraproject.org/wiki/User:Akurtakov[Alexander +Kurtakov] + +_Notes:_ + +[[eclipse-plugin-for-xmvn]] +=== Eclipse plugin for XMvn + + +_Status:_ Proposed + +_Summary of idea:_ This project ia about creating an Eclipse plugin for +editing http://mizdebsk.fedorapeople.org/xmvn/[XMvn] +http://mizdebsk.fedorapeople.org/xmvn/site/config.html[configuration] in +Eclipse. + +The plugin should: + +* implement Java model(s) for XMvn configuration +* allow reading and writing model(s) as XML files +* implement configuration editor providing raw XML view and one or more +high-level views +* allow converting configuration to sequence of RPM macro calls + +XMvn plugin should integrate with Eclipse Linux Tools and/or Fedora +Packager for Eclipse where possible (adding commands in perspectives, +integration with spec file editor etc.) + +_Knowledge prerequisite:_ Java, Eclipse plugin development + +_Skill level:_ Medium + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Mizdebsk[Mikolaj Izdebski], link:https://fedoraproject.org/wiki/User:Akurtakov[Alexander +Kurtakov] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Mizdebsk[Mikolaj Izdebski], link:https://fedoraproject.org/wiki/User:Akurtakov[Alexander +Kurtakov] + +_Notes:_ + +[[implement-a-battery-of-unit-tests-for-sssd]] +=== Implement a battery of unit tests for SSSD + + +_Status:_ Proposed + +_Summary of idea:_ The purpose of this project is to develop a suite of +unit tests for the SSSD. The unit tests would leverage mock objects to +be able to exercise code that is otherwise only ever reachable when the +SSSD is connected to the network. Contributing the set of unit tests to +the SSSD would greatly improve its stability long-term and would help +raise confidence when pushing new SSSD versions into Fedora or other +distributions. + +_Knowledge prerequisite:_ Python scripting, Linux system services +knowledge, basic LDAP knowledge is helpful but not needed. + +_Skill level:_ intermediate to high + +_Contacts:_ link:https://fedoraproject.org/wiki/User:jhrozek[Jakub Hrozek] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:jhrozek[Jakub Hrozek] + +_Notes:_ + +[[open-idea-list-from-gsoc-2013]] +== Open Idea list from GSoC 2013 + + +[[applications-for-desktop-end-users]] +=== Applications for desktop end users + + +These are coding projects that benefit end users of the Linux desktop. + +[[integrate-proxy-settings-and-network-connectionslocations]] +==== Integrate Proxy Settings and Network Connections(Locations) + + +_Status:_ Proposed + +_Summary of idea:_ The system should use an appropriate networking +profile (e.g. Proxy settings) for each network connection. + +Gnome 2 had a concept of network locations in its Network Proxy +configuration window. However, user should selected the appropriate +location whenever he moves between networks. This idea is about +providing an integration between NetworkManager and Desktop environments +so that a user can create network profiles for each network +location(connection) providing appropriate settings like proxy settings +which is the main proposed setting here. NetworkManager can have a +"Network Location" concept: for wireless networks, usually the name of +the network (ESSID) is usually enough. For wired connections, DHCP +servers can and usually do provide network's domain name, which can be +used as the name of the location. It is nice if a user can associate +each network location with a network settings profile which will be used +whenever the user is connected to that network automatically. So, when +you connect to a network, a corresponding network settings profile is +activated automatically. + +_Knowledge prerequisite:_ + +_Skill level:_ + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Hedayat[Hedayat Vatankhah] + +_Mentor(s):_ + +_Notes:_ There is an entry with some description in +http://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/TODO[NetworkManager +TODO] which should be considered for the implementation + +[[assemble-a-toolchain-for-recording-screencasts-easily]] +==== Assemble a toolchain for recording screencasts easily + + +_Status:_ Proposed - Draft - Need a mentor + +_Summary of idea:_ Creating screencasts on Fedora and post-processing +them for upload should be easy and fool proof. + +The link:https://fedoraproject.org/wiki/Videos[Fedora Videos] project has been launched to bring +together a collection of screencasts that help people learn how to use +Fedora. There's only one major hurdle, though. Capturing really good +screencasts on Fedora, post-processing them to include an intro and +outro and other effects, and finally exporting them to an open format is +challenging. There are lots of different tools, but each one only gets +you part of the way there and you have to be the glue to make it all +work. And then there are the bugs. + +The goal of this project is to assemble a toolchain (a recommended +collection of software available in the Fedora repositories) and write a +comprehensive tutorial for how to create an professional-looking +screencast. That may included chasing down & fixing bugs in the existing +tools, discovering new tools and getting them packaged and learning +about techniques in the environment around the computer, such as how to +select & setup a microphone or how to draft a good speaking script. One +possible task in the project is to add sound recording support to the +Gnome 3 desktop recorder. Currently, the desktop recorder only grabs the +video of the screen. + +The student will get support and advice from the Fedora Videos team +since they are trying to learn how to create these screencasts. + +_Knowledge prerequisite:_ gstreamer, video and sound editing, blender + +_Skill level:_ Medium + +_Contacts:_ link:https://fedoraproject.org/wiki/Videos[Fedora Videos Team] + +_Mentor(s):_ - + +_Notes:_ + +[[improve-fedoras-tablet-user-experience]] +==== Improve Fedora's Tablet User Experience + + +_Status:_ Proposed - Draft + +_Summary of idea:_ Improving Fedora's Tablet User Experience. + +The window managers/desktop environments officially supported by Fedora +do not match the expectations of people with low power touch devices. + +Fedora features new technology to reduce system load and - requirements, +the user interface has not seen too much love. + +Currently available interfaces for users are: + +* Too Ressource Consuming +* Too Overloaded or +* Too Feature Poor +* Not Customizable With Reasonable Effort + +The E17 Desktop Shell, developed as part of the +http://www.enlightenment.org[Enlightenment Project], is a perfect match. +It provides a rich interface, whilst consuming very little ressources. +The Enlightenment Foundation Libraries, on which E17 is built upon, were +chosen as Foundation Block of Tizen, the MeeGo successor backed by +Samsung and Intel. If things work out, E17 will be the first "real" +Desktop Shell for Wayland. + +Though it already provides +http://dev.enlightenment.fr/~captainigloo/2011/08/25/elfe-and-the-composited-windows-list/[special +behaviour] for touchscreen devices through certain modules, there's +still room for improvement. + +The overall goal of this project would be to improve the user experience +of people who want to use Fedora on low power devices such as tablets. + +The student will get support and advice from the Enlightenment Project +developers. + +_Knowledge prerequisite:_ C, X11, Wayland, Enlightenment Foundation +Libraries + +_Skill level:_ Medium to High + +_Contacts:_ Michael Bouchaud (yoz [at] efl [dot] so), link:https://fedoraproject.org/wiki/User:leif[ Leif +Middelschulte] (leif [dot] middelschulte [at] student [dot] kit [dot] +edu) + +_Mentor(s):_ Michael Bouchaud (yoz [at] efl [dot] so) + +_Notes:_ If this idea gets realized, a proper tablet spin can be +created, that honors the spirit of Fedora. + +[[applications-for-programmers]] +=== Applications for programmers + + +[[implement-a-binding-translator-for-glusterfs]] +==== Implement a binding translator for GlusterFS + + +_Status:_ Proposed - Draft + +_Summary of idea:_ In transporting data across networks, programmers +need GlusterFS language bindings to be able to create apps in their +language of choice. A language binding translator would greatly increase +the number of programmers who would be able to more easily extend +GlusterFS. It's also a fun project for someone wanting to get some +experience with multi-threaded architecture and design in the context of +distributed systems and data. + +_Knowledge prerequisite:_ C, Python, embedded Python + +_Skill level:_ Medium to High + +_Contacts:_ johnmark [AT]redhat [DOT] com , abperiasamy [AT] gmail [DOT] +com + +_Mentor(s):_ Anand Avati - Mentor, AB Periasamy - Co-mentor, +link:https://fedoraproject.org/wiki/User:johnmark[John Mark Walker] - Co-mentor + +_Notes:_ - + +[[implement-a-cassandranosql-connector-or-translator-for-glusterfs]] +==== Implement a Cassandra/NoSQL Connector or Translator for GlusterFS + + +_Status:_ Proposed - Draft + +_Summary of idea:_ In general, there is a need for the ability to store +and access NoSQL data on general purpose distributed filesystems. +Currently, there are a host of single-purpose methods for storing and +retrieving NoSQL data, which are difficult to access from legacy +applications. Creating a NoSQL translator for GlusterFS would help +mitigate this problem and give developers more options for storing and +accessing "big data" in a way that is accessible via a variety of +standard toolkits and protocols. + +_Knowledge prerequisite:_ C, GlusterFS internals + +_Skill level:_ High + +_Contacts:_ johnmark [AT]redhat [DOT] com , abperiasamy [AT] gmail [DOT] +com + +_Mentor(s):_ Anand Avati - Mentor, AB Periasamy - Co-mentor, +link:https://fedoraproject.org/wiki/User:johnmark[John Mark Walker] - Co-mentor + +_Notes:_ - + +[[embedded-cli-tool-for-most-popular-dbms]] +==== Embedded Cli tool for most popular DBMS + + +_Status:_ Proposed - Students' Idea - Need a mentor + +_Summary of idea:_ Today, many developers are working with different +DBMS. I propose to develop a common command line interface for most +popular databases. For example: MySQL, Oracle Database, PostgreSQL. + +_Knowledge prerequisite:_ Java, JDBC, MySQL, Oracle Database, +PostgreSQL. + +_Skill level:_ Medium + +_Contacts:_ Alexandr Egorov 0x0j023 [AT] gmail [DOT] com + +_Mentor(s):_ + +_Notes:_ + +[[linux-kernel-project]] +=== Linux kernel project + + +[[implement-nfsfscache-writeback-cache-dropped]] +==== Implement nfs/fscache writeback cache (Dropped) + + +_Status:_ Dropped -- This is a GSoC _2012_ idea and is being working on +by Hongyi Jia although he didn't get the GSoC slot +(http://www.jiayi.net/works/nfsfscache-writeback-cache/). So, I'm not +going to mentor the idea this year and if anyone is really interested in +it, feel free to contact me and I'll be happy to answer questions:-) + +_Summary of idea:_ Currently, the flashcache/bcache only works for local +filesystems. For network filesystems, nfs only supports write through +cache based on fscache/cachefiles. With wider adoption of SSD on nfs +client side, it would be great for nfs to support writeback cache to +speed up write intensive clients. This project would implement a +writeback mechanism for nfs, which need to make necessary changes to +kernel nfs, fscache and cachefiles modules, and take care of nfs +close-to-open semantics. + +_Knowledge prerequisite:_ C, Linux kernel, nfs + +_Skill level:_ High + +_Contacts:_ bergwolf [AT] gmail [DOT] com + +_Mentor(s):_ Peng Tao - Mentor + +[[infrastructure-for-fedora-contributors-and-users]] +=== Infrastructure for Fedora contributors and users + + +[[dorrie-a-web-interface-for-building-fedora-spinsremixes]] +==== Dorrie: A web-interface for building Fedora spins/remixes + +_Status:_ Proposed + +_Summary of idea:_ Contribute to Dorrie, and make it more usable, add +test coverage and deployable. Details at +link:https://fedoraproject.org/wiki/Remixes_Web_Interface[Dorrie]. + +_Knowledge prerequisite:_ Python, Django + +_Skill level:_ Intermidiate + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Shreyankg[Shreyank Gupta] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Shreyankg[Shreyank Gupta], link:https://fedoraproject.org/wiki/User:Rtnpro[Ratnadeep +Debnath] + +_Notes:_ Features that I am looking to target: + +`* User management/FAS integration` + +`* Un-linerize the workflow.` + +`* Default wallpaper/Hostname/user-password/root-password` + +`* Custom repos/RPMs` + +`* Home directory content` + +`* Search Packages` + +`* Image type: ISO, virt image, raw disk` + +Code at https://github.com/shreyankg/Dorrie, fork and send pull request, +if you are interested to contribute. + +[[fedpkg-chain-builds-for-non-rawhide-branches]] +==== Fedpkg: Chain-builds for non-Rawhide branches + + +* Status: Proposed +* Summary of idea: Contribute to the fedpkg project, enabling the +building of a series of interdependent packages in a single action for +released Fedora branches +* Knowledge Prerequisite: Python, Fedora Packaging +* Skill Level: Low - Medium +* Contacts: link:https://fedoraproject.org/wiki/User:sgallagh[Stephen Gallagher] +* Mentor(s): link:https://fedoraproject.org/wiki/User:sgallagh[Stephen Gallagher] (Backup) +* Notes: https://fedorahosted.org/fedpkg/ticket/6 + +[[financial-is-for-fedora-project-cont.]] +==== Financial IS for Fedora project (cont.) + + +* Status: Proposed +* Summary of idea: There is a need of an information system where it can +be used with in the project to track and analyse the financial +activities. It may be a customization of a open source solution or a +solution from scratch. + +* Skill Level: Medium + +* Mentor : link:https://fedoraproject.org/wiki/User:Charindu100[Charindu Thiwanka] - Technical +* Co-Mentor(s): link:https://fedoraproject.org/wiki/User:Bckurera[Buddhike Kurera] - Functional +* Notes: knowledge in PHP is required. MVC design pattern + +[[linux-system-services]] +=== Linux system services + + +[[implement-a-battery-of-unit-tests-for-sssd-1]] +==== Implement a battery of unit tests for SSSD + + +* Status: Proposed +* Summary of idea: The purpose of this project is to develop a suite of +unit tests for the SSSD. The unit tests would leverage mock objects to +be able to exercise code that is otherwise only ever reachable when the +SSSD is connected to the network. Contributing the set of unit tests to +the SSSD would greatly improve its stability long-term and would help +raise confidence when pushing new SSSD versions into Fedora or other +distributions. +* Knowledge prerequisite: C programming +* Skill level: intermediate to high +* Contacts: link:https://fedoraproject.org/wiki/User:jhrozek[Jakub Hrozek] +* Mentor(s): link:https://fedoraproject.org/wiki/User:jhrozek[Jakub Hrozek] + +[[improving-fedora-packaging]] +=== Improving Fedora packaging + + +[[aur-clone-for-fedora]] +==== AUR Clone for Fedora + + +_Status:_ Proposed - Students' Idea - Need a mentor + +_Summary of idea:_ The idea is to make an AUR clone for Fedora where +users can submit buildfiles, which need to be hosted. These set of files +can compile packages on the user side, and installed locally. + +The benefit of this method is: + +1. No need to host the entire packages (saving space on servers hosting +the RPMs) +2. Make changes to the buildfile, and not compile the package +3. Can pull sources from any version control system/stored tarballs to +make a very upto-date package. (See blog entry for an example) + +_Contacts:_ https://fedoraproject.org/wiki/User:Anujmore[Anuj More] + +_Notes:_ Need mentor. Need advice on feasibility of the software and +issues that can arise. Also, read the extensive blog post on +http://execat.blogspot.in/2012/03/aur-clone-for-fedora.html[my blog]. + +Analogy: This is a lot like "having your own library" vs "getting a book +from a bookstore". If you refer a book often, you'd keep it in your +library. This would occupy space and consume resources. Otherwise, you'd +just pull out a separate paper with instructions about the bookstore to +find the book, and fetch the book from the store. Though the first +method is hassle-free, it is not possible to have all the books in the +world with you. + +[[maven-foss-repository-extension]] +==== Maven FOSS Repository Extension + + +_Status:_ Proposed + +_Summary of idea:_ With the inception of Maven we have a means to +standardize the building of Java projects. However it has also resulted +in the usage of a very wide dependency set by these Java projects. This +makes it very hard to integrate those projects on a single platform (be +it Fedora or JBoss Application Server (or the combination)). + +In essence during packaging all these dependencies must be lined up to +form a single consistent component set. Thus each project will only have +those components available which are actually available on the target +platform. This is very hard to enforce using standard Maven setup. + +For Fedora I'm envisioning a Maven extension that makes sure only +sanctioned components are used during the build (without putting a +burden on the packager). This will allow developers who are not on +Fedora to also build with this extension and thus verify (and fix) +issues which are the result of "Fedora packaging". + +A prototype can be viewed at https://github.com/fmvn/foss-maven[Maven +FOSS Repository Extension]. + +_Knowledge prerequisite:_ Knowledge of Maven + +_Skill level:_ Medium + +_Contacts:_ http://community.jboss.org/people/wolfc[Carlo de Wolf], +link:https://fedoraproject.org/wiki/User:Mizdebsk[Mikolaj Izdebski] + +_Mentor(s):_ http://community.jboss.org/people/wolfc[Carlo de Wolf], +link:https://fedoraproject.org/wiki/User:Mizdebsk[Mikolaj Izdebski] + +_Notes:_ You can find us at irc.freenode.net #fedora-java: wolfc and +mizdebsk + +[[fedora-spins-and-remixes]] +=== Fedora Spins and remixes + + +[[educational-application-for-fedora-robotics-suite]] +==== Educational Application for Fedora Robotics Suite + + +_Status:_ Proposed + +_Summary of Idea:_ Create an educational app introducing software from +Fedora Robotics Suite + +The link:https://fedoraproject.org/wiki/SIGs/Robotics[Fedora Robotics SIG] is creating a +link:https://fedoraproject.org/wiki/Features/RoboticsSuite[Robotics Suite] consisting of many packages +useful in robotics. We want to develop a demonstration application +introducing new users step by step to core packages like +http://www.fawkesrobotics.org[Fawkes] and +http://playerstage.sourceforge.net[Player/Stage]. It would feature +multiple game-like levels with increasing complexity. The general task +would be to instruct the robot to fulfill a specific task in a +simulation environment. + +_Knowledge prerequisite:_ Developing this requires a strong background +in C++, a background in robotics is preferred but not necessary. You +should be able to familiarize yourself with new software quickly. User +visible parts will require GUI programming using Gtkmm. + +_Skill level:_ Medium to High + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Timn[Tim Niemueller] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Timn[Tim Niemueller] + +[[applications-for-systems-administrators]] +=== Applications for systems administrators + + +[[improving-the-rhq-pyagent-to-interface-with-openlmi]] +==== Improving the RHQ-PyAgent to interface with OpenLMI + + +_Status:_ Proposed + +_Summary of idea:_ Improve the current RHQ-PyAgent written in Python +that interfaces RHQ with OpenLMI to pick up metrics that are provided by +OpenLMI from Fedora or RHEL systems. The agent is talking to the RHQ +server via the REST api and push metrics to RHQ etc. This agent +does/will not implement the full functionality of the RHQ java agent. +The previous work is already pretty good, but it is cumbersome to add +new OpenLMI-enabled servers and the types of the data model. The work of +this year should concentrate on automating that process - perhaps after +providing a range of IP addresses to query for servers. Similar for +resource types, the agent would talk to the server to see what types are +available and then check with the OpenLMI provider if this supports the +same. + +While RHQ is written in Java, this project does not require any Java +knowledge. + +_Knowledge prerequisite:_ Python, Linux system administration, +principles of REST + +_Skill level:_ Medium to High + +_Contacts:_ Heiko Rupp + +_Mentor(s):_ Heiko Rupp + +_Notes:_ RHQ wiki is at http://jboss.org/rhq, Previous years work: +http://rhqagent.blogspot.com + +[[applications-for-testers]] +=== Applications for Testers + diff --git a/gsoc/2014/images/Gsoc-2014-logo.jpg b/gsoc/2014/images/Gsoc-2014-logo.jpg new file mode 100644 index 0000000..7c6dd2f Binary files /dev/null and b/gsoc/2014/images/Gsoc-2014-logo.jpg differ diff --git a/gsoc/2014/index.adoc b/gsoc/2014/index.adoc new file mode 100644 index 0000000..c04a513 --- /dev/null +++ b/gsoc/2014/index.adoc @@ -0,0 +1,267 @@ += Google Summer of Code 2014 +image:Gsoc-2014-logo.jpg[Gsoc-2014-logo.jpg,title="Gsoc-2014-logo.jpg",width=500] + +The Fedora project represented the Google Summer of Code program for 8 +years with managing 62 projects and willing to participate on year 2014 +program as well. This wiki page serves as the GSoC portal. Please feel +free to contact us via link:https://lists.fedoraproject.org/admin/lists/summer-coding@lists.fedoraproject.org/[summer-coding] list for clarifications/ more info. + +[[students]] +== Students + + +Students who are looking for challenges and would like to contribute to +the worlds' leading and innovative Linux Distro, this could be the +chance. Please feel free to contact and refer to the material and start +contacting mentors. + +1. link:ideas.html[Main Idea Page] + +[[why-spend-your-summer-working-on-foss]] +=== Why spend your summer working on FOSS? + + +When you work in the open on free software, you create a body of work +that follows you for the rest of your life. Rather than a coding +assignment done by thousands of other students and relegated to the +bottom of the bit drawer at semester's end, working in FOSS is a chance +to contribute to a living project. + +Working in FOSS gives you a chance to: + +* Work with real world large codebases. +* Collaborate with real engineers and other professional experts. +* Contribute to something meaningful while learning and earning student +value. +* Learn tools and processes that are just like what you are going to use +if you work in technology after graduation. +* Make friends and contacts around the globe. +* Possibly attract attention that gets you an internship or job after +graduation. +* Create life time connections. + +[[why-work-with-fedora]] +=== Why work with Fedora? + + +Our project is large and diverse. We are very experienced at working +with new contributors and helping them be successful. + +Many long-time contributors continue to be around, lending expertise and +mentoring. People who stay around the community and do good work are +noticed. They get hired for jobs from it, including being hired by Red +Hat. Past Google Summer of Code students were hired by Red Hat, as well +as interns in various positions. This is just an example, as experience +and reputation in the Fedora Project communities is influential on your +career in many ways. + +As long-standing communities with many facets, it is possible for you to +find many rewarding sub-projects to work on. + +You should know that contributing to FOSS doesn't require you to have +super programming skills, or super-anything else. You just need be +interested and curious enough, and be willing to become comfortable +being productively lost. This is the state of learning through finding +your way around and figuring things out. + +[[step-by-step-guide-for-students]] +=== Step-by-step guide for students + + +Please check the link:https://fedoraproject.org/wiki/GSOC_Guide_students[Step by Step guide for +students]. + +[[students-application]] +=== Student's application + + +Please refer to the following to follow the students' application +process, + +link:student_application_process.html[Student_Application_Process] + +[[administration]] +== Administration + + +In order to clarify matters/ obtain more info related with the GSoC 2014 +with Fedora please contact the administrators directly (please consider +CCing the summer-coding list where ever possible). + +1. link:https://fedoraproject.org/wiki/User:Bckurera[Buddhike Kurera(Bckurera)] - Administrator +2. link:https://fedoraproject.org/wiki/User:Charindu100[Chrindu Thiwanka] - Backup-Administrator + +[[mentors]] +== Mentors + +The contributors of the Fedora Project can propose ideas and mentor +them. Please feel free to check following links and please add your +ideas to the main idea page, further if you are not interested in +proposing an idea but still want to support the program please check the +students' idea page and pick one as per your interest. + +1. http://en.flossmanuals.net/GSoCMentoring/[Manual on Mentoring] +2. link:ideas.html[Main Idea Page] + +[[how-to-work-with-students]] +=== How to work with students + + +* One way is to provide an idea for students to work on. This idea might +be very well planned out, in which case you may need a high-level of +contact with the student to get it implemented correctly. + +* It is harder to find success where you are completely certain of how +an idea needs to be implemented; finding a student with the skills and +interest to implement a specific solution is a lot harder than finding a +student with enough skills to respond to a use case need. + +* Where you can have looser ideas, you may be able to find a student who +works as a sort-of intern who can implement a solution to a use case you +have. In past experiences, students going after a use case are more +likely to get somewhere with self-direction. + +* You may also want to work with a student who brings an idea to your +sub-project. This requires a different level of communication throughout +the project, but can be the most rewarding. + +[[mentor-responsibilities]] +=== Mentor responsibilities + + +You are an essential part of the student's success, the project's +success, and the success for your overall organization (Fedora, +JBoss.org, or another). + +Your responsibilities include: + +* Being an interface for an identified sub-project or SIG in Fedora. +* Helping students communicate with the overall project and any +upstream. +* Be the final, accountable person for deciding if the student is +successful or not, which affects payment. + +[[list-of-mentors]] +=== List of Mentors + + +[[list-of-registered-members]] +==== List of registered members + + +List of mentors who are registered with Google and added to the project +as a mentor are listed here; + +link:https://fedoraproject.org/wiki/GSOC_2014/Registered_Mentors_List[Registered Mentor List] + +[[communication]] +== Communication + +*Mailing List (GSOC related) :* link:https://lists.fedoraproject.org/admin/lists/summer-coding@lists.fedoraproject.org/[summer-coding] + +*Mailing List (Technical) :* link:https://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org/[devel] + +*IRC :* Channel - link:https://webchat.freenode.net/?channels=#fedora-summer-coding[#fedora-summer-coding] or link:https://webchat.freenode.net/?channels=#fedora-devel[#fedora-devel] on Freenode + +[[time-line-student-version]] +== Time Line (Student version) + + +Reference : +http://www.google-melange.com/gsoc/events/google/gsoc2014[Full timeline] + +* 24 February:19:00 UTC List of accepted mentoring organizations +published on the Google Summer of Code 2014 site. +* February 24 - March 10: Would-be student participants discuss +application ideas with mentoring organizations. +* 10 March:19:00 UTC Student application period opens. +* 21 March:19:00 UTC Student application deadline. + +Interim Period: Mentoring organizations review and rank student +proposals; where necessary, mentoring organizations may request further +proposal detail from the student applicant. + +* 7 April: Mentoring organizations should have requested slots via their +profile in Melange by this point. +* 9 April: Slot allocations published to mentoring organizations + +Interim Period: Slot allocation trades happen amongst organizations. +Mentoring organizations review and rank student proposals; where +necessary, mentoring organizations may request further proposal detail +from the student applicant. + +* 21 April: 19:00 UTC Accepted student proposals announced on the Google +Summer of Code 2014 site. + +Community Bonding Period: Students get to know mentors, read +documentation, get up to speed to begin working on their projects. + +* 19 May: Students begin coding for their Google Summer of Code +projects; + +Google begins issuing initial student payments provided tax forms are on +file and students are in good standing with their communities. Work +Period: Mentors give students a helping hand and guidance on their +projects. + +* 23 June: 19:00 UTC Mentors and students can begin submitting mid-term +evaluations. +* 27 June: 19:00 UTC Mid-term evaluations deadline; +* Work Period: Mentors give students a helping hand and guidance on +their projects. +* 11 August: Suggested 'pencils down' date. Take a week to scrub code, +write tests, improve documentation, etc. +* 18 August: 19:00 UTC Firm 'pencils down' date. Mentors, students and +organization administrators can begin submitting final evaluations to +Google. +* 22 August: 19:00 UTC Final evaluation deadline + +Google begins issuing student and mentoring organization payments +provided forms and evaluations are on file. + +* 22 August: 20:00 UTC Students can begin submitting required code +samples to Google +* 25 August: Final results of Google Summer of Code 2014 announced +* 25 & 26 October: Mentor Summit at Google + +[[ideas-page]] +== Ideas Page + + +*Status :* Done + +*Link :* link:ideas.html[Summer coding ideas for 2014] + +We encourage students to provide creative yet useful ideas towards the +Fedora project as well. Please use +link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2014/Students_Idea[Student Idea] page to +note your idea. The idea will be moved to the original idea page once +the idea is picked by a mentor. + +[[policy-on-proposal-submissions-on-non-related-project-ideas]] +== Policy on proposal submissions on non-related project ideas + + +Over the past period we have observed that few students tend to submit +proposals for their own ideas directly to Google-melange. There will be +no communication after then even we ask more info on Google-melange. +Such nature of submissions need extra effort when it comes to manage +proposals on Google-Melange. Therefore as a policy, proposals for +students ideas (with no supporting mentor indicated) that are being +submitted directly to Google-melange will be marked *Ignore* after a 24 +hours of warning unless the students does not voluntary withdraw the +proposal or explain basis of their idea. + +This will not restrict submitting proposals on students ideas, we always +welcome novel and innovative ideas from students if they follow the +right path. As the first step send us your idea and will start discuss +how to manage it. If you have a supporting mentor for your own idea +please feel free to submit it directly to Google-melange and clearly +note the mentors' contact details. + +[[links]] +== Links + + +1. link:https://fedoraproject.org/wiki/Foundation[The Foundation] +2. http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2016/help_page[GSoC +FAQ] +3. http://docs.fedoraproject.org/en-US/index.html[Fedora Documentation] +4. link:https://fedoraproject.org/wiki/Communicate/IRCHowTo[IRC] +5. link:https://fedoraproject.org/wiki/Development[Development] diff --git a/gsoc/2014/student_application_process.adoc b/gsoc/2014/student_application_process.adoc new file mode 100644 index 0000000..0d33927 --- /dev/null +++ b/gsoc/2014/student_application_process.adoc @@ -0,0 +1,118 @@ += Student application process: Google Summer of Code 2014 +Following are specific guidelines for the students to follow, who are +interested in submitting an application for the GSoC program through the +Fedora Project. Please go through carefully and follow them. Incomplete +applications will not be entertained after the deadline. + +[[process]] +== Process + + +Following criterion should be fulfilled on or before the application +deadline unless otherwise specifically noted. + +1. link:https://fedoraproject.org/wiki/GSOC_Guide_students#Set_up_an_account[Create a FAS account] +2. link:https://fedoraproject.org/wiki/GSOC_Guide_students#Start_communicating[Join with +fedora-summer-coding mailing list] +3. Submit application on +https://google-melange.appspot.com/gsoc/proposal/submit/google/gsoc2014/fedora[Google-Melange] +4. link:https://fedoraproject.org/wiki/GSOC_2013/Student_Application_Template/Common[Application is +filled] and available on Fedora Wiki - +link:https://fedoraproject.org/wiki/GSOC_Guide_students#Create_your_Application[How to fill the +application] +5. CV highlighting your activities with Information Technology +6. A recommendation from (highlighting your fitness) +1. A member of a Free Software Organization in which you have +contributed earlier OR +2. A lecturer in your university +7. A detailed plan with your planned activities in May to September +(eg: Exams in university, internships, vacations..etc) + +'''Please note - ''' email your CV, Recommendation and Detailed plan to +Org Admins, *bckurera AT fedoraproject DOT org* for any inquiry please +use the above email address and feel free to CC your mentor if required +(recommended). + +*Important* - We understand that you need some time to contact a person +and get a recommendation, therefore if it seems like getting delayed +please send us the rest of the documents and email the recommendation +later. + +*Bare mind* - You are required to add your project proposal to wiki, +therefore proceed with the application process as quickly as possible. + +*We do not accept any document after Google student application +deadline, all entries make after the deadline is ignored unless you have +not informed to Org Admins! However if you have any difficulty to meet +this requirement please let us know in advance (before the deadline).* + +Once you have completed above steps and email those documents, Org +admins will peer-review your application set and you will be contacted +with more information. As a caution please do not wait till the last +minute, complete the application process in advance. Further you need to +respond to any communication from the Org Admins or mentors with in 24 +hours in this period. + +[[faq]] +== FAQ + +* Why should I let program administrators know about my application? + +We would like to keep the pages clean and structured therefore once you +have created your application let us know the link. We go through your +application and let you know if further action is required. If +everything looks ok, will send you the link so that you can add your +proposal as per the template in that link. + +* *What about details of my project?* + +You will be asked and given a link to update information about your +project idea once you have completed the above mentioned process. + +* *Why recommendation is required?* + +This gives us an information about your reliability, we need you to +complete the project with mentioned goals and with in the time period. + +* *I am a Fedora project contributor, do I need a recommendation?* + +Yes, since we maintain equal opportunity environment the process is +common for all. + +* *What are the file formats that I can use?* + +You are encourage to use .pdf as much as possible, if not a Open Format +can be used. + +* *What is meant by a "Recommendation", how should it looks like?* + +It is good to have a recommendation from a person who knows you well, +recommending that you suites to this program. May be you worked with him +for another project and he is delighted with your work, so we want to +know it, that is simply a recommendation. If you have contributed to a +Free Software Project then we would like to hear about that from some +one from the project who see your great contribution. That can be +considered as a recommendation. + +* *I dont get a reply from Org Admins after sending documents, is it +normal?* + +You should get a reply with in 24 hours, if not please immediately +contact Org Admin. + +* *What should be included in my CV?* + +It should be decided by you. Good to include each and every important +thing that make you a suitable candidate and add values. if you want to +know how to create an effective CV, please google. + +* *What is the need of a detailed plan of my activities?* + +It is important to get an idea about your free time and arrange things +at the early stage. Therefore this is really important and try to make +it accurate as much as possible. + +* *Why should I email the documents?* + +It is for your own privacy. If you would like to make the public please +feel free to do so and send us the links instead. diff --git a/gsoc/2015/ideas.adoc b/gsoc/2015/ideas.adoc new file mode 100644 index 0000000..3cdaae3 --- /dev/null +++ b/gsoc/2015/ideas.adoc @@ -0,0 +1,736 @@ += Ideas: Google Summer of Code 2015 +Find an idea you like? Want to propose your own? See the +link:student_application_process.html[GSoC Getting Started Guide]. + +Further, last year accepted ideas from the Fedora Project can be found +at http://www.google-melange.com/gsoc/org/google/gsoc2014/fedora[GSoC +2014 web site] + +[[students-welcome]] +== Students Welcome + +If you are a student looking forward to participate the GSoC 2016 with +Fedora, please feel free to browse the idea list which is still growing. +Do not hesitate to contact the mentors/ contributors as indicated in +this page for any related clarification. You also should find some +like-minded people on the `#fedora-summer-coding` IRC channel. + +If you are new to The Fedora project, the following material would help +you to get started. Further please sign-up with the link:https://fedoraproject.org/wiki/FAS[Fedora +Account System(FAS)] if you are willing to continue with the Fedora +project. `#fedora-devel`, IRC channel can be used to get instant +support. + +1. link:https://fedoraproject.org/wiki/Foundation[The Foundation] +2. http://docs.fedoraproject.org/en-US/index.html[Fedora Documentation +(Users/ Contributors)] +3. link:https://fedoraproject.org/wiki/Communicate/IRCHowTo[How to work with IRC?] +https://fedoramagazine.org/begginers-guide-to-irc[Beginner's Guide to +IRC] +4. link:https://fedoraproject.org/wiki/FAS[Fedora Account System] +5. link:https://fedoraproject.org/wiki/Development[Development] + +[[supporting-mentors]] +== Supporting Mentors + +Following contributors are also willing to support the GSoC 2016 +program. (please feel free to add your self, attach the user page). +Sometimes there should be some backing up mentors to mentor if the +original mentor get busy with something for a short time period. In such +case we need help. + +1. link:https://fedoraproject.org/wiki/User:Sgallagh[Stephen Gallagher] +2. link:https://fedoraproject.org/wiki/User:Lsd[Lali Devamanthri] +3. link:https://fedoraproject.org/wiki/User:corey84[Corey Sheldon] (linuxmodder) + +[[draft-of-an-idea]] +== Draft of an idea + +Please add your idea as follows. + +[[project-name]] +=== Project name + +_Status:_ + +_Summary of idea:_ + +_Knowledge prerequisite:_ + +_Skill level:_ + +_Contacts:_ + +_Mentor(s):_ + +_Notes:_ + +*!!!The draft was changed slightly, please add required field as +required!!!* + +[[idea-list-for-gsoc-2016]] +== Idea list for GSoC 2016 + +[[implement-tinykdump]] +=== Implement Tinykdump + +_Status:_ Proposed - draft + +_Summary of idea:_ Tinykdump is a minimal daemon to capture kernel-based +crash dumping (kdump) memory image to usb storage. Compared to the +traditional kdump solution, it is, + +`* more reliable and scalable` + +`* has smaller memory foot-print` + +`* more friendly to kernel developers ` + +More information here: https://fedorahosted.org/tinykdump/ + +_Knowledge prerequisite:_ Python, kernel programming (desired) + +_Skill level:_ intermediate (programming) + +_Contacts:_ link:https://fedoraproject.org/wiki/User:caiqian[CAI Qian] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:caiqian[CAI Qian] + +_Notes:_ Rough roadmap: + +* Implement tinykdump daemon to be included in Fedora. +* Submit kernel patches for reserving kdump memory at run-time for +community review and inclusion. +* Currently, pstore only log kernel messages for panic and Oops. Patches +are needed to support logging of kdump kernel and initramfs console +output. + +[[improve-fedora-review]] +=== Improve Fedora Review + +_Status:_ Proposed - draft + +_Summary of idea:_ Every package that is included into Fedora needs to +go through a review to ensure it matches the Packaging:Guidelines. +https://fedorahosted.org/FedoraReview/[Fedora Review] is a tool to help +with the review. It needs constant development to be updated for changes +in the guidelines. Also there is currently no process to ensure that +existing packages adhere to the packaging guidelines. This project is +meant to improve this. + +_Knowledge prerequisite:_ Python 2&3 programming skills + +_Skill level:_ intermediate (programming) + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Leamas[Alec Leamas], link:https://fedoraproject.org/wiki/User:Till[Till Maas] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Till[Till Maas] + +_Notes:_ Possible tasks: + +* Make Fedora Review PEP8 compliant, fix its current test cases +* Help running Fedora Review regularly for existing packages e.g., +updating the Jenkins continuous builds and/or integrate it into +Taskotron +* Add static code checker support to Fedora Review (e.g. with +https://git.fedorahosted.org/git/csmock.git[csmock]) +* Build a web service mockup supporting the review process +http://fedoraproject.org/wiki/Package_Review_Process[1] replacing +current bugzilla workflow. + +[[enhance-fedora-build-setup]] +=== Enhance Fedora build setup + +_Status:_ Proposed - draft + +_Summary of idea:_ Fedora uses the http://koji.fedoraproject.org[Koji] +build system with GIT as a source. Plugings/scripts are needed to allow +package maintainer to be able to use own branches without accidently +deleting the source of published RPMs. + +_Knowledge prerequisite:_ Python programming skills, ideally some +packaging knowledge + +_Skill level:_ intermediate (programming), high (understanding/analysing +code, GNU/Linux) + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Till[Till Maas], link:https://fedoraproject.org/wiki/User:Ausil[Dennis Gilmore], + +__Mentor(s):__link:https://fedoraproject.org/wiki/User:Till[Till Maas], link:https://fedoraproject.org/wiki/User:Ausil[Dennis Gilmore] + +_Notes:_ Rough roadmap: + +* Make select https://fedorahosted.org/rel-eng/[releng scripts] PEP8 +compliant/python3 ready +* Make other python tools PEP8 compliant, python3 ready: +** https://fedorahosted.org/fedpkg/[fedpkg] +** https://git.fedorahosted.org/cgit/mash/[mash] +** https://fedorahosted.org/rpkg/[rpkg] +* Become familiar with the Fedora packaging workflow, maybe by packaging +some software +* Learn how to interface koji and write a script to get a mapping of git +commit ID to package build (name, version, release) +* Write a koji plugin to enforce that pkgs can be only built from the +right GIT branch for each build target (might need improvements to +koji's plugin interface as well): +https://fedorahosted.org/rel-eng/ticket/5843 +* Write a fedmsg service/cronjob to regularly tag sucessful builds in +GIT: https://fedorahosted.org/rel-eng/ticket/5856 +* Help with koji2 + +[[improve-sigul-signing-server]] +=== Improve Sigul Signing Server + +_Status:_ Proposed - draft + +_Summary of idea:_ The https://fedorahosted.org/sigul/[Sigul] signing +server is used by release engineering to +link:https://fedoraproject.org/wiki/Release_package_signing[sign Fedora RPMs] when +link:https://fedoraproject.org/wiki/pushing_fedora_updates[pushing fedora updates]. There are two major +problems that make it hard to release updated packages in a timely +manner: It crashes and it cannot be used simultaneously. + +_Knowledge prerequisite:_ Python programming skills, ideally some +background knowledge about GPG, security and networking + +_Skill level:_ intermediate (programming), high (understanding/analysing +code, GNU/Linux) + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Till[Till Maas], link:https://fedoraproject.org/wiki/User:Ausil[Dennis Gilmore], +link:https://fedoraproject.org/wiki/User:ralph[Ralph Bean], + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Till[Till Maas], link:https://fedoraproject.org/wiki/User:Ausil[Dennis Gilmore], +link:https://fedoraproject.org/wiki/User:ralph[Ralph Bean] + +_Notes:_ Rough roadmap: + +* To test whether everything works, a test instance needs to be setup. +This is rather complex because it requires interaction with koji. Maybe +it is possible to add a test instance to Infrastructure that can use the +koji staging system, but the latter is not fully functional right now. +* Debug why sigul hangs sometimes when using the +https://git.fedorahosted.org/cgit/sigul.git/tree/src/client.py#n1090[sign-rpms] +command (called by `--batch-size` greater than one with +`sigulsign_unsigned.py` +* Enable sigul to process multiple tasks at once, e.g. sign for multiple +releases or architectures at once. +* Fix other bugs/issues, examples: +** Currently http://linux.die.net/man/8/logrotate[logrotate] does not +make sigul properly re-open its logfiles, which is why sigul does not +log to the new logfile after rotation. This needs to be fixed in sigul +** The GPG defaults in sigul might not be up-to-date, they should be +reviewed and improved if necessary +** Add support for e.g. signing and revoking GPG keys, to build a local +web of trust between https://getfedora.org/keys/[Fedora release keys] + +Ressources: + +* https://git.fedorahosted.org/cgit/releng/tree/scripts/sigulsign_unsigned.py[Script +used by rel-eng to run sigul] +* https://git.fedorahosted.org/cgit/sigul.git/tree/doc/protocol-design.txt[Protocol +description] + +[[askfedora-uxui-functionality-overhaul]] +=== AskFedora UX/UI & Functionality Overhaul + +_Status:_ Proposed - draft + +_Summary of idea:_ + +https://ask.fedoraproject.org/[AskFedora] is a community knowledge base +and support forum and designed to be the primary place for community +support in Fedora. It is powered by Askbot, Django based web +application. The UI and the UX for AskFedora needs overhaul to give it +some uniformity with the current Fedora websites. There may also be +changes to be done in Askbot itself and have possibility of being +integrated upstream. We aim to achieve results similar to what +http://askubuntu.com/[Ask Ubuntu] has achieved, however Ask Ubuntu is +not based on Askbot and similar theming techniques can't be applied. +Discussions are open for this. + +'' But why?: ''Over the years of its existence, AskFedora's popularity +has increased and there are 11,000+ questions that have been asked on +the website and has 12,500+ contributors as of today (out of which quite +a few are active). We think, it really needs to 'look good' and 'provide +a better user experience' now. + +''Status right now: '' Mockups during the last Design Fedora Activity +Day (FAD) 2015 were done. Checkout +https://suchakra.wordpress.com/2015/01/20/ask-fedora-ux-redesign-updates-1/[this] +and +https://suchakra.wordpress.com/2015/01/21/ask-fedora-ux-redesign-updates-2/[this] +blogpost for latest updates on mockups. An +http://askbotstg-suchakra.rhcloud.com/questions/[openshift instance] has +also been created and source for testing +https://github.com/fedoradesign/askbot-test[repository] is available for +setting up your own staging instance. + +_Knowledge prerequisites:_ Front-end (HTML/CSS/JS) development, UI/UX +design experience, some knowledge of Django/Python + +_Skill level:_ Beginner/Intermediate + +_Contacts:_ kushal at fedoraproject dot org, suchakra at fedoraproject +dot org + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Kushal[ Kushal Das], link:https://fedoraproject.org/wiki/User:Suchakra[ Suchakra] + +_co-Mentor(s):_ link:https://fedoraproject.org/wiki/User:Sarupbanskota[ Sarup Banskota] + +TL;DR The infra and some ideas for testing is all ready, we need someone +to improve AskFedora's UI/UX. + +[[glitter-gallery-improvements]] +=== Glitter Gallery Improvements + +_Status:_ Proposed - draft + +_Summary of idea:_ + +link:https://fedoraproject.org/wiki/Design/GlitterGallery[ GlitterGallery] is GitHub for designers - +being developed by and for the Fedora design team, but hoping to be +useful to all designers. It's a web app that allows designers and +artists to create, share, and collaborate, backed by Git for version +control, and intended to be part of a FLOSS design suite that includes + +* http://sparkleshare.org[Sparkleshare] - a git-backed, Dropbox like +system that will automatically check in and push files in project +directly to a shared git repo +* https://github.com/garrett/magicmockup[Magic Mockup] - a javascript +library you can insert into an SVG of mockups to enable interactive, +click-through mockups +(http://blog.linuxgrrl.com/2011/08/12/interactive-svg-mockups-with-inkscape-javascript/[see +a demo here] +* http://inkscape.org[Inkscape] is our preferred design tool of choice + +Last year, two GSoC students worked on a number of critical improvements +to GlitterGallery, but there is still plenty of work to be done. + +* Public gallery of works; currently the app requires a user to login +and to follow other users before they can see work other than their own. +They can also view direct links to works. A public gallery can be used +to browse and explore works without having to be logged in. +* Better design suite integration, which could mean better support for +local editing with SparkleShare; Inkscape integration through an +extension; and/or support for creating and sharing interactive SVGs with +Magic Mockup +* Better commenting - the current commenting system is basic, and +there's lots of ways it could be improved, including thread support, +pingback support, the ability to reference a specific region of a design +in a comment +* External issue tracking - Glitter Gallery has an integrated issue +tracker, but it would be useful to also be able to integrate with +external bug/issue trackers such as GitHub and Bugzilla. +* Enhanced history view - (see +https://github.com/glittergallery/GlitterGallery/issues/187) +* Your own ideas + +_Knowledge prerequisites:_ git, Ruby on Rails, front-end (HTML/CSS/JS) +development, design experience would be great but optional + +_Skill level:_ Intermediate + +_Contacts:_ emichan at fedoraproject dot org, sarupbanskota at +fedoraproject dot org + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Emichan[ Emily Dirsh], link:https://fedoraproject.org/wiki/User:Sarupbanskota[ Sarup +Banskota], link:https://fedoraproject.org/wiki/User:_Rohitpaulk[ Rohit Paul Kuruvilla] + +_Notes:_ The +https://github.com/glittergallery/GlitterGallery[GlitterGallery +repository] is hosted on GitHub. + +[[multimonitor-wallpaper-submission-and-download-for-nuancier]] +=== Multimonitor wallpaper submission and download for Nuancier + +_Status:_ Proposed + +_Summary of idea:_ Purpose for this project is to extend +https://apps.fedoraproject.org/nuancier/[Nuancier], Fedoras supplemental +wallpaper submission application with an system that allow to submit and +downlad wallpapers for multi-monitor setup. + +Knowledge prerequisite: some Python knowledge + +_Skill level:_ starter + +_Contacts:_ Sirko Kemter gnokii@fedoraproject.org + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Pingou[ Pierre-Yves Chibon], link:https://fedoraproject.org/wiki/User:Gnokii[ Sirko +Kemter] + +[[cockpit-ui-for-rolekit]] +=== Cockpit UI for Rolekit + +_Status:_ Proposed _Summary of idea:_ The +https://fedorahosted.org/rolekit[Rolekit Project] provides a platform +API for deploying Server Roles onto a system. Currently, it supports +creating a Domain Controller (based on http://freeipa.org[FreeIPA]) or a +Database Server (based on http://www.postgresql.org/[PostgreSQL]). A +major component of the Fedora Server is the +http://cockpit-project.org[Cockpit Project], a web-based management +console for servers. The goal of this effort would be to enhance the +Cockpit UI so that an administrator could deploy these Roles using +rolekit via the Cockpit web interface. + +_Knowledge prerequisites:_ JavaScript (ideally jQuery). Preferred +familiarity with D-BUS. + +_Skill Level:_ Beginner to intermediate + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Sgallagh[Stephen Gallagher] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Sgallagh[Stephen Gallagher] + +_Success Conditions:_ A user of the Cockpit UI must be able to deploy a +Domain Controller while providing the minimum set of necessary +information to the UI. The UI must optionally allow more advanced +settings to be selected. The UI must also provide a link post-deployment +that allows the user to browse to the Domain Controller administration +UI. Providing the same functionality for the Database Server role would +be bonus functionality for this project, provided that the Domain +Controller is completed early. + +[[cockpit-support-for-systemd-timers]] +=== Cockpit support for systemd timers + +_Status_: Proposed Summary of idea: systemd provides timers for calendar +time events and monotonic time events +(http://www.freedesktop.org/software/systemd/man/systemd.timer.html, +https://wiki.archlinux.org/index.php/Systemd/Timers). A major component +of the Fedora Server is the Cockpit Project, a web-based management +console for servers. The goal of this effort would be to enhance the +Cockpit UI so that an administrator could deploy these Roles using +rolekit via the Cockpit web interface. Some preliminary designs for +timers in Cockpit exist at +https://trello.com/c/1B2lZViZ/74-timers-and-cron, although these are +just intended as guidelines to get started. + +_Knowledge prerequisites_: JavaScript (ideally jQuery). Preferred +familiarity with D-BUS. + +_Skill Level_: Beginner to intermediate + +_Contacts_: link:https://fedoraproject.org/wiki/User:Sgallagh[Stephen Gallagher] + +_Mentor(s)_: Dominik Perpeet, link:https://fedoraproject.org/wiki/User:Sgallagh[Stephen Gallagher] + +_Success Conditions_: A user of the Cockpit UI must be able to view +existing timers, edit existing ones or create new timers while providing +the minimum set of necessary information to the UI. The UI must +optionally allow more advanced settings to be selected. + +[[docker-volume-support-in-cockpit]] +=== Docker Volume Support in Cockpit + +_Status_: Proposed Summary of idea: Docker (https://www.docker.com/) +allows building, running, and sharing of software in containers. A major +component of the Fedora Server is the Cockpit Project, a web-based +management console for servers. Docker is already supported in Cockpit, +including features such as downloading images, running/stopping/deleting +containers, exposing additional ports, inspecting console output as well +as linking containers. The goal of this effort would be to enhance the +Cockpit UI so that an administrator can use Docker 'Data volumes' +(http://docs.docker.com/userguide/dockervolumes/) via the Cockpit web +interface. Some preliminary designs for Docker Volume Support in Cockpit +exist at https://trello.com/c/4juwxCaE/94-docker-volume-support, +although these are just intended as guidelines to get started. + +_Knowledge prerequisites_: JavaScript (ideally jQuery). Preferred +familiarity with D-BUS. + +_Skill Level_: Beginner to intermediate + +_Contacts_: link:https://fedoraproject.org/wiki/User:Sgallagh[Stephen Gallagher] + +_Mentor(s)_: Dominik Perpeet, link:https://fedoraproject.org/wiki/User:Sgallagh[Stephen Gallagher] + +_Success Conditions_: A user of the Cockpit UI must be able to create, +view and (to a sensible extent) edit Docker 'Data Volume Containers' +while providing the minimum set of necessary information to the UI. It +should also be possible to select host directories or host files as Data +Volumes. The UI must optionally allow more advanced settings to be +selected. Optionally this can be extended by further functionality, such +as backup, restoration or migration of data volumes. + +[[shumgreppersummershum]] +=== Shumgrepper/summershum + +_Status:_ Proposed + +_Summary of idea:_ Finish and deploy the shumgrepper project + +_Knowledge prerequisite:_ python, flask, sqlalchemy and some system +administration + +_Skill level:_ Intermediate + +_Contacts:_ link:https://fedoraproject.org/wiki/User:pingou[Pierre-Yves Chibon] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:pingou[Pierre-Yves Chibon] link:https://fedoraproject.org/wiki/User:ralph[Ralph Bean] + +_Notes:_ shumgrepper was started last year and offers an API to query +the data stored by summershum. This data corresponds to the md5, sha1, +sh256 and sha512 of every files in every packages in Fedora, allowing to +easily find out files duplicated in multiple packages. + +Dev instance: http://209.132.184.120/ + +[[fresque]] +=== fresque + +_Status:_ Proposed + +_Summary of idea:_ Fedora Review Server: take package reviews off +bugzilla + +_Knowledge prerequisite:_ python, flask, sqlalchemy and some ideas about +packaging + +_Skill level:_ Intermediate + +_Contacts:_ link:https://fedoraproject.org/wiki/User:abompard[Aurélien Bompard] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:abompard[Aurélien Bompard] + +_Notes:_ fresque aims at providing a dedicated application for package +(RPM) reviews. This would be integrate with a git backend and integrates +the fedora-review tool for automatic testing of new reviews and changes. + +[[patch-tracker]] +=== Patch Tracker + +_Status:_ Proposed + +_Summary of idea:_ One of Fedoras goals as a distribution is +link:https://fedoraproject.org/wiki/staying_close_to_upstream_projects[staying close to upstream +projects]. However, sometimes it is necessary for Fedora packages to +deviate from upstream, for example if upstream is dead or if a fix is +backported to an older release. Also other distributions sometimes carry +patches that are not submitted upstream but fix bugs also present in +Fedora packages. Therefore it is interesting for Fedora packagers or +packagers of other distributions to get easy access to information about +patches. Fedora already contains a web app, that shows information about +patches in Fedora, for example the +https://apps.fedoraproject.org/packages/ipython/sources/[patches for the +ipython package]. However, this is not a designated app to make the +patch information as useful as possible and does not contain support for +other distros. Debian used to provide a +https://anonscm.debian.org/cgit/users/seanius/patch-tracker.git/tree/[patch +tracker] that is currently offline due to a missing maintainer. For +other distributions, there only +http://oss-security.openwall.org/wiki/distro-patches[manual methods] to +find out about patches. Therefore the idea is to create a web +application with the purpose to make it easier for others to find +patches in Fedora and to make it easier for Fedora maintainers to find +patches in other distributions. FedoraCreate/adjust a webapp to track +patches that are used in Fedora and other distributions + +_Knowledge prerequisite:_ Python programming, web application +development + +_Skill level:_ Intermediate + +_Contacts:_ link:https://fedoraproject.org/wiki/User:till[Till Maas] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:till[Till Maas] + +_Notes:_ Potential features: + +* Show a clear overview for patches in Fedora for a certain package +** Link to bugs that were mentioned, extract key information from the +bug +* Allow to get notifications for new patches, e.g. via fedmsg +* Allow to get information about patches for the package in other +distros +* Try to figure out if patches are already upstream +* ... + +Rough potential roadmap: + +* Get the debian patch tracker running on a test system, maybe with some +example debian packages +* Port it for one example Fedora package +* Port it to a modern web framework such as Flask or Pyramid +* Make sure it is PEP8 compliant +* Make it generic to work for Fedora and Debian +* Add feature to patches that are present only in Fedora or Debian +* Add more distros, e.g. OpenSUSE, Arch, Ubuntu, Gentoo +* Add more features + +Basic requirements: + +* Target platform is RHEL/CentOS7 with EPEL +* All dependencies should be available on the target platform as RPM +packages or possible to be packaged (e.g. requiring newer versions of +packages already included in the target platform might not be easily +possible) +* It needs to be possible to package the final project for Fedora/EPEL, +i.e. there may not be bundled libraries included +* The code needs to be PEP8 compliant and contain proper docstrings +* Proper automtatic tests should be included to allow meaningful +continuous integration + +Recommended basic knowledge: + +* Know about PEP8, pylint, continuous integration, +* Understand the different diff formats + +[[better-oval-development-tools-in-openscap]] +=== Better OVAL development tools in OpenSCAP + +_Status:_ Proposed + +_Summary of idea:_ The https://www.open-scap.org[OpenSCAP] project +implements the Security Content Automation Protocol standards. It +provides users with a way to automatically audit their infrastructure. +One of the standards is OVAL - Open Vulnerability and Assessment +Language - it is the language in which the automated checks are written. +Unfortunately the check authors have it tough right now. They have to +edit XML files manually, there is no debugger, no static analysis of any +sort (like pylint or cppcheck). To make matters worse the OVAL checks +are hard to write and the learning curve is steep. + +_Knowledge prerequisites:_ Intermediate C, familiarity with the OpenSCAP +project + +_Skill Level:_ Intermediate + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Mpreisle[Martin Preisler] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Mpreisle[Martin Preisler] + +_Success Conditions:_ SCAP content developers are able to interactively +debug their checks, they can browse the execution, looking at inputs and +outputs of each step. They are able to analyze their OVAL content for +common mistakes using the lint-like tool. Such common mistakes include +ID mismatches, wrong usage of regexes, ... + +[[fix-bugs-in-packages-that-break-compiling-as-position-independent-executable]] +=== Fix bugs in packages that break compiling as position independent +executable + +_Status:_ proposed + +_Summary of idea:_ Starting with Fedora 23, Fedora will try to ship all +binaries as +http://en.wikipedia.org/wiki/Position-independent_code[position +independent executable] to benefit from the +http://en.wikipedia.org/wiki/Address_space_layout_randomization[address +space layout randomization (ASLR)] of the Linux kernel to increase the +security of Fedoras packages. However, not all code/packages are ready +for this, therefore the +link:https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code[current +change proposal] plans to handle these cases by just disabling this +improvement for affected packages. Ideally all packages would be fixed +to not require it to be disabled, this is where you can help. + +_Knowledge prerequisite:_ low-level programming skills, compiler +development, build systems configuration, maybe python programming +skills + +_Skill level:_ intermediate to high, depending on the actual problem + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Orion[Orion Poplawski], link:https://fedoraproject.org/wiki/User:till[Till Maas], +link:https://fedoraproject.org/wiki/User:halfie[Dhiru Kholia], + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Orion[Orion Poplawski], link:https://fedoraproject.org/wiki/User:till[Till Maas], +link:https://fedoraproject.org/wiki/User:halfie[Dhiru Kholia] + +_Notes:_ Currently not all Fedora packages were rebuilt with the new +hardening flags, therefore it is not yet clear how many packages need to +be fixed. However, it might be that there are also some languages that +need to be adjusted in general to produce position-independent code (for +example go), so adding support to (some) of these languages would be in +the scope of this project as well, after all build failures were +handled. Additionally Fedora tools like +https://fedorahosted.org/FedoraReview/[Fedora Review] and Taskotron +should be adapted to properly report packages that are not built with +the hardening flags for example by running checkseck on all created +executables. + +Example problems that block some packages to be built with the right +flags: + +* https://bugzilla.redhat.com/show_bug.cgi?id=1199775 + +Helpful documentation: + +* link:https://fedoraproject.org/wiki/Using_Mock_to_test_package_builds[Using Mock to test package +builds] + +[[enhance-postgresql-gssapi-support]] +=== Enhance PostgreSQL GSSAPI Support + +_Status:_ proposed + +_Summary of idea:_ The Fedora Server Edition includes a Database Server +Role powered by a PostgreSQL database. In order to integrate it better +with Fedora Server's Domain Controller, we want to enhance the GSSAPI +authentication and communication in the server. + +_Knowledge prerequisite:_ C Programming, Kerberos/GSSAPI + +_Skill level:_ intermediate to high (probably grad-student level) + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Sgallagh[Stephen Gallagher], link:https://fedoraproject.org/wiki/User:Simo[Simo Sorce] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Simo[Simo Sorce] + +_Notes:_ This will require modifications to the authentication subsystem +as well as the TCP/IP layer of PostgreSQL. It will likely be a very +involved project. + +[[tweak-specific-packages-to-play-well-with-mips-architecture]] +=== Tweak specific packages to play well with MIPS architecture + +_Status:_ proposed + +_Summary of idea:_ We are planning to bootstrap Fedora for MIPS +architecture. Even though the majority of packages should build with +little to no modifications, there are some challenging packages that +will need extra attention. + +_Knowledge prerequisite:_ C or Python Programming, packaging basics, +some idea about non-x86 architectures + +_Skill level:_ intermediate to high + +_Contacts:_ link:https://fedoraproject.org/wiki/User:Mtoman[Michal Toman], link:https://fedoraproject.org/wiki/User:Anibal[Anibal Monsalve +Salazar], link:https://fedoraproject.org/wiki/User:wzssyqa[YunQiang Su] + +_Mentor(s):_ link:https://fedoraproject.org/wiki/User:Mtoman[Michal Toman] + +_Notes:_ Possible work areas: + +* kernel +* anaconda +* openjdk +* ghc +* ocaml +* erlang +* fpc +* ... + +[[open-ideas-from-gsoc-2016]] +== Open Ideas From GSoC 2016 + +Despite the list of ideas, you may want to check out the ideas of the +previous years and contact the admins to see if they are still +interested in mentoring someone this year. +//// +Previous years: + +* link:Summer_coding_ideas_for_2015[2015] +* link:Summer_coding_ideas_for_2014[2014] +* link:Summer_coding_ideas_for_2013[2013] +* link:Summer_coding_ideas_for_2012[2012] +* link:Summer_coding_ideas_for_2011[2011] +* link:Summer_coding_ideas_for_2010[2010] +* link:Summer_coding_ideas_for_2009[2009] +* link:Summer_coding_ideas_for_2008[2008] + +Please: Do not submit a proposal for an idea from a previous year +without previously contacting the admin to ensure their will to mentor +someone this year. Without mentor, proposals will be rejected. + +Category:Summer_coding_2016[Category:Summer coding 2016] +//// diff --git a/gsoc/2015/images/Gsoc-2015-logo.jpg b/gsoc/2015/images/Gsoc-2015-logo.jpg new file mode 100644 index 0000000..ff212cd Binary files /dev/null and b/gsoc/2015/images/Gsoc-2015-logo.jpg differ diff --git a/gsoc/2015/index.adoc b/gsoc/2015/index.adoc new file mode 100644 index 0000000..a91c51a --- /dev/null +++ b/gsoc/2015/index.adoc @@ -0,0 +1,290 @@ += Google Summer of Code 2015 +image:Gsoc-2015-logo.jpg[] + +The Fedora project represented the Google Summer of Code program for 9 +years and participating on year 2016 program as well. This wiki page +serves as the GSoC portal. Please feel free to contact us via list for link:https://lists.fedoraproject.org/admin/lists/summer-coding@lists.fedoraproject.org/[summer-coding] +clarifications/ more info, or the IRC channel: link:https://webchat.freenode.net/?channels=#fedora-summer-coding[#fedora-summer-coding] . + +[[students]] +== Students + + +Students who are looking for challenges and would like to contribute to +the worlds' leading and innovative Linux Distro, this could be the +chance. Please feel free to contact and refer to the material and start +contacting mentors. + +1. link:ideas.html[Main Idea Page] + +[[why-spend-your-summer-working-on-foss]] +=== Why spend your summer working on FOSS? + + +When you work in the open on free software, you create a body of work +that follows you for the rest of your life. Rather than a coding +assignment done by thousands of other students and relegated to the +bottom of the bit drawer at semester's end, working in FOSS is a chance +to contribute to a living project. + +Working in FOSS gives you a chance to: + +* Work with real world large codebases. +* Collaborate with real engineers and other professional experts. +* Contribute to something meaningful while learning and earning student +value. +* Learn tools and processes that are just like what you are going to use +if you work in technology after graduation. +* Make friends and contacts around the globe. +* Possibly attract attention that gets you an internship or job after +graduation. +* Create life time connections. + +[[why-work-with-fedora]] +=== Why work with Fedora? + +Our project is large and diverse. We are very experienced at working +with new contributors and helping them be successful. + +Many long-time contributors continue to be around, lending expertise and +mentoring. People who stay around the community and do good work are +noticed. They get hired for jobs from it, including being hired by Red +Hat. Past Google Summer of Code students were hired by Red Hat, as well +as interns in various positions. This is just an example, as experience +and reputation in the Fedora Project communities is influential on your +career in many ways. + +As long-standing communities with many facets, it is possible for you to +find many rewarding sub-projects to work on. + +You should know that contributing to FOSS doesn't require you to have +super programming skills, or super-anything else. You just need be +interested and curious enough, and be willing to become comfortable +being productively lost. This is the state of learning through finding +your way around and figuring things out. + +[[step-by-step-guide-for-students]] +=== Step-by-step guide for students + + +Please check the link:https://fedoraproject.org/wiki/GSOC_Guide_students[Step by Step guide for +students]. + +[[students-application]] +=== Student's application + + +Please refer to the following to follow the students' application +process, + +link:student_application_process.html[Student Application Process] + +[[administration]] +== Administration + +In order to clarify matters/ obtain more info related with the GSoC 2016 +with Fedora please contact the administrators directly (please consider +CCing the summer-coding list where ever possible). + +1. link:https://fedoraproject.org/wiki/User:Sgallagh[Stephen Gallagher] +2. link:https://fedoraproject.org/wiki/User:kushal[Kushal Das] +3. link:https://fedoraproject.org/wiki/User:hguemar[Haïkel Guémar] + +[[mentors]] +== Mentors + + +The contributors of the Fedora Project can propose ideas and mentor +them. Please feel free to check following links and please add your +ideas to the main idea page, further if you are not interested in +proposing an idea but still want to support the program please check the +students' idea page and pick one as per your interest. + +1. http://en.flossmanuals.net/GSoCMentoring/[Manual on Mentoring] +2. link:ideas.html[Main Idea Page] + +[[how-to-work-with-students]] +=== How to work with students + +* One way is to provide an idea for students to work on. This idea might +be very well planned out, in which case you may need a high-level of +contact with the student to get it implemented correctly. + +* It is harder to find success where you are completely certain of how +an idea needs to be implemented; finding a student with the skills and +interest to implement a specific solution is a lot harder than finding a +student with enough skills to respond to a use case need. + +* Where you can have looser ideas, you may be able to find a student who +works as a sort-of intern who can implement a solution to a use case you +have. In past experiences, students going after a use case are more +likely to get somewhere with self-direction. + +* You may also want to work with a student who brings an idea to your +sub-project. This requires a different level of communication throughout +the project, but can be the most rewarding. + +[[mentor-responsibilities]] +=== Mentor responsibilities + + +You are an essential part of the student's success, the project's +success, and the success for your overall organization (Fedora, +JBoss.org, or another). + +Your responsibilities include: + +* Being an interface for an identified sub-project or SIG in Fedora. +* Helping students communicate with the overall project and any +upstream. +* Be the final, accountable person for deciding if the student is +successful or not, which affects payment. + +[[list-of-mentors]] +=== List of Mentors + + +[[list-of-registered-members]] +==== List of registered members + +List of mentors who are registered with Google and added to the project +as a mentor are listed here; + +link:https://fedoraproject.org/wiki/GSOC_2016/Registered_Mentors_List[Registered Mentor List] + +[[communication]] +== Communication + +*Mailing List (GSOC related) :* link:https://lists.fedoraproject.org/admin/lists/summer-coding@lists.fedoraproject.org/[summer-coding] + +*Mailing List (Technical) :* link:https://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org/[devel] + +*IRC :* Channel - link:https://webchat.freenode.net/?channels=#fedora-summer-coding[#fedora-summer-coding] or link:https://webchat.freenode.net/?channels=#fedora-devel[#fedora-devel] on Freenode + +[[time-line-student-version]] +== Time Line (Student version) + + +Reference : +http://www.google-melange.com/gsoc/events/google/gsoc2016[Full timeline] + +* 6 October, 2014: Program announced. +* 9 February, 2015: 19:00 UTC Mentoring organizations can begin +submitting applications to Google. +* 20 February: 19:00 UTC Mentoring organization application deadline. +* 23 - 27 February: Google program administrators review organization +applications. +* 2 March: 19:00 UTC List of accepted mentoring organizations published +on the Google Summer of Code 2015 site. +* Interim Period: Would-be students discuss project ideas with potential +mentoring organizations. +* 6 March 16:00 UTC: IRC feedback meeting for rejected organizations for +Google Summer of Code 2015. #gsoc on freenode.net. Rejected +organizations may also choose to email the administrators directly for +feedback. +* 14 March: 19:00 UTC Student application period opens. +* 27 March: 19:00 UTC Student application deadline. +* Interim Period: Mentoring organizations review and rank student +proposals; where necessary, mentoring organizations may request further +proposal detail from the student applicant. +* 13 April: Mentoring organizations should have requested slots via +their profile in Melange by this point. +* 15 April: Slot allocations published to mentoring organizations. +* Interim Period: Slot allocation trades happen amongst organizations. +Mentoring organizations review and rank student proposals; where +necessary, mentoring organizations may request further proposal detail +from the student applicant. +* 21 April: First round of de-duplication checks happens; organizations +work together to try to resolve as many duplicates as possible. +* 24 April: All mentors must be signed up and all student proposals +matched with a mentor -07:00 UTC. Student acceptance choice deadline.IRC +meeting to resolve any outstanding duplicate accepted students - 19:00 +UTC #gsoc (organizations must send a delegate to represent them in this +meeting regardless of if they are in a duplicate situation before the +meeting.) +* 27 April: 19:00 UTC Accepted student proposals announced on the Google +Summer of Code 2015 site. + +Community Bonding Period: Students get to know mentors, read +documentation, get up to speed to begin working on their projects. + +* 25 May: Students begin coding for their Google Summer of Code +projects; + +Google begins issuing initial student payments provided tax forms are on +file and students are in good standing with their communities. Work +Period: Mentors give students a helping hand and guidance on their +projects. + +* 26 June: 19:00 UTCMentors and students can begin submitting mid-term +evaluations. +* 3 July: 19:00 UTC Mid-term evaluations deadline; + +Google begins issuing mid-term student payments provided passing student +survey is on file. Work Period: Mentors give students a helping hand and +guidance on their projects. + +* 17 August: Suggested 'pencils down' date. Take a week to scrub code, +write tests, improve documentation, etc. +* 21 August: 19:00 UTC Firm 'pencils down' date. Mentors, students and +organization administrators can begin submitting final evaluations to +Google. +* 28 August: 19:00 UTC Final evaluation deadline + +Google begins issuing student and mentoring organization payments +provided forms and evaluations are on file. + +* 28 August: 19:30 UTC Students can begin submitting required code +samples to Google +* 31 August: Final results of Google Summer of Code 2015 announced +* 25 September: 19:00 UTC "Soft" deadline for student code sample +submission. Students who want their t-shirts and certificates in the +first wave of shipments must submit their code sample by this date. +* 6 - 8 November: Mentor Summit at Google: Delegates from each +successfully participating organization are invited to Google to greet, +collaborate and code. Our mission for the weekend: make the program even +better, have fun and make new friends. + +[[ideas-page]] +== Ideas Page + + +*Status :* Open for Ideas + +*Link :* link:ideas.html[Summer coding ideas for 2015] + +We encourage students to provide creative yet useful ideas towards the +Fedora project as well. Please use +link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2016/Students_Idea[Student Idea] page to +note your idea. The idea will be moved to the original idea page once +the idea is picked by a mentor. + +[[policy-on-proposal-submissions-on-non-related-project-ideas]] +== Policy on proposal submissions on non-related project ideas + + +Over the past period we have observed that few students tend to submit +proposals for their own ideas directly to Google-melange. There will be +no communication after then even we ask more info on Google-melange. +Such nature of submissions need extra effort when it comes to manage +proposals on Google-Melange. Therefore as a policy, proposals for +students ideas (with no supporting mentor indicated) that are being +submitted directly to Google-melange will be marked *Ignore* after a 24 +hours of warning unless the students does not voluntary withdraw the +proposal or explain basis of their idea. + +This will not restrict submitting proposals on students ideas, we always +welcome novel and innovative ideas from students if they follow the +right path. As the first step send us your idea and will start discuss +how to manage it. If you have a supporting mentor for your own idea +please feel free to submit it directly to Google-melange and clearly +note the mentors' contact details. + +[[links]] +== Links + + +1. link:https://fedoraproject.org/wiki/Foundation[The Foundation] +2. http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2016/help_page[GSoC +FAQ] +3. http://docs.fedoraproject.org/en-US/index.html[Fedora Documentation] +4. link:https://fedoraproject.org/wiki/Communicate/IRCHowTo[IRC] +5. link:https://fedoraproject.org/wiki/Development[Development] + + diff --git a/gsoc/2015/student_application_process.adoc b/gsoc/2015/student_application_process.adoc new file mode 100644 index 0000000..f9da73b --- /dev/null +++ b/gsoc/2015/student_application_process.adoc @@ -0,0 +1,64 @@ +.... +14 March: 19:00 UTC Student application period opens... +Deadline March 25, 1900 UTC !!! +.... + +The timeline is decided and published by Google, track it at +https://developers.google.com/open-source/gsoc/timeline[the official +page]. + +''''' + +Following are specific guidelines for the students to follow, who are +interested in submitting an application for the GSoC program through the +Fedora Project. Please go through carefully and follow them. Incomplete +applications will not be entertained after the deadline. + +''''' + +__'__Process + +Following criterion should be fulfilled on or before the application +deadline unless otherwise specifically noted. + +* Create a FAS account link:https://admin.fedoraproject.org/accounts[FAS +Account Signup / Login Page] + +* Join with fedora-summer-coding mailing list +link:https://lists.fedoraproject.org/admin/lists/summer-coding[Fedora Summer +Coding Mailing List] + +* Join with devel mailing list +link:https://admin.fedoraproject.org/mailman/devel[Devel Mailing List] + +* Chose a project for proposal from +link:ideas.html[Summer_coding_ideas_for_2016] + +* Submit application/proposal on Google-Melange +link:https://summerofcode.withgoogle.com/get-started/[Google Melange +Submission Page] + +''_'What to write about in your proposal / application._ + +* Details on your previous FOSS contributions (if any). + +* A detailed plan with your planned activities in May to September (eg: +Exams in university, internships, vacations..etc) + +* Bare mind - Remember to contact your mentor before you submit the +application. + +_Mentors are more likely to accommodate summer travel if they know in +advance_ + +We *_DO NOT_* accept any document after Google student application +deadline, all entries make after the deadline is ignored unless you have +not informed to Org Admins! However if you have any difficulty to meet +this requirement please let us know in advance (before the deadline). + +__'__FAQ + +What is the need of a detailed plan of my activities? It is important to +get an idea about your free time and arrange things at the early stage. +Therefore this is really important and try to make it accurate as much +as possible. diff --git a/gsoc/2016/ideas.adoc b/gsoc/2016/ideas.adoc new file mode 100644 index 0000000..e9f2a8b --- /dev/null +++ b/gsoc/2016/ideas.adoc @@ -0,0 +1,1089 @@ +Find an idea you like? Want to propose your own? See the +link:https://fedoraproject.org/wiki/GSOC_Guide_studentsGSoC[Getting Started Guide]. + +[[students-welcome]] +== Students Welcome + +If you are a student looking forward to participate the GSoC 2016 with +Fedora, please feel free to browse the idea list which is still growing. +Do not hesitate to contact the mentors or contributors as indicated in +this page for any related clarification. You also should find some +like-minded people on the `#fedora-summer-coding` IRC channel. + +If you are new to the Fedora Project, the following material will help +you to get started. Additionally, please register in the link:https://fedoraproject.org/wiki/Account_System?rd=FAS[Fedora +Account System (FAS)] if you are willing to continue with the Fedora +Project. For getting quick help, `#fedora-devel` can be used for getting +help with programming problems. + +1. link:https://docs.fedoraproject.org/fedora-project/project/fedora-overview.html[The Four Foundations of Fedora] +2. link:https://developers.google.com/open-source/gsoc/resources/[Official +GSoC Resources] +3. link:http://docs.fedoraproject.org/en-US/index.html[Fedora Documentation] +4. link:https://fedoraproject.org/wiki/How_to_use_IRC?rd=Communicate/IRCHowTo[IRC] +5. link:https://fedoraproject.org/wiki/Development[Development] + +[[supporting-mentors]] +== Supporting Mentors + +The following contributors are available to provide general help and +support for the GSoC 2016 program (existing contributors, feel free to +add yourselves and your wiki page). If a specific project mentor is +busy, you can contact one of the people below for short-term help on +your project or task. + +1. link:https://fedoraproject.org/wiki/User:Decause[Remy DeCausemaker] +2. link:https://fedoraproject.org/wiki/User:Kushal[Kushal Das] +3. link:https://fedoraproject.org/wiki/User:Hguemar[Haïkel Guémar] +4. link:https://fedoraproject.org/wiki/User:Jberkus[Josh Berkus] +5. link:https://fedoraproject.org/wiki/User:Lmacken[Luke Macken] +6. link:https://fedoraproject.org/wiki/User:Lsd[Lali Devamanthri] + +[[fedora-atomic-mentors]] +=== Fedora Atomic Mentors + +The following mentors are specifically available for projects related to +link:http://www.projectatomic.io/community/gsoc[Fedora Atomic]: + +1. Giuseppe Scriviano +2. link:https://fedoraproject.org/wiki/User:Walters[Colin Walters] +3. link:https://fedoraproject.org/wiki/User:Gscrivano[Giuseppe Scrivano] +4. link:https://fedoraproject.org/wiki/User:Mbarnes[Matthew Barnes] + +[[idea-list-for-gsoc-2016]] +== Idea list for GSoC 2016 + +[[implement-tinykdump]] +=== Implement Tinykdump + +_Status_: Proposed - draft + +_Summary of idea_: Tinykdump is a minimal daemon to capture kernel-based +crash dumping (kdump) memory image to usb storage. Compared to the +traditional kdump solution, it is, + +`* more reliable and scalable` + +`* has smaller memory foot-print` + +`* more friendly to kernel developers ` + +More information here: https://fedorahosted.org/tinykdump/ + +_Knowledge prerequisite_: Python, kernel programming (desired) + +_Skill level_: intermediate (programming) + +_Contacts_: link:https://fedoraproject.org/wiki/User:caiqian[CAI Qian] + +_Mentor(s)_: link:https://fedoraproject.org/wiki/User:caiqian[CAI Qian] + +_Notes_: Rough roadmap: + +* Implement tinykdump daemon to be included in Fedora. +* Submit kernel patches for reserving kdump memory at run-time for +community review and inclusion. +* Currently, pstore only log kernel messages for panic and Oops. Patches +are needed to support logging of kdump kernel and initramfs console +output. + +[[implement-mips-bits-to-packages]] +=== Implement MIPS bits to packages + +_Status_: Proposed + +_Summary of idea_: Some packages are missing implementation bits for +MIPS architecture. The goal of this project is implementing and posting +them upstream. + +_URL_: https://fedoraproject.org/wiki/Architectures/MIPS + +_Knowledge prerequisite_: Packaging, Python, C + +_Skill level_: intermediate + +_Contacts_: link:https://fedoraproject.org/wiki/User:mtoman[Michal Toman] + +_Mentor(s)_: link:https://fedoraproject.org/wiki/User:mtoman[Michal Toman] + +_Notes_: The following packages are in question: + +* *java* - builds on 32-bit MIPS but does not work, dies with SIGILL +* *redhat-lsb* - misses assembly bits for MIPS +* *anaconda/blivet* - completely MIPS unaware +* *valgrind* - no FPXX support on 32-bit MIPS, builds on mips64el but +does not work +* *elfutils* - unwinding is not supported on MIPS +* *u-boot* - build working MIPS images +* ... there are more but these are the most painful + +This is obviously too much for a single project, we are going to agree +on a reasonable subset. + +_Expected outcome_: + +* Better MIPS support in upstream projects and Fedora packages +* Learn about MIPS architecture +* Learn to communicate with upstreams + +[[idea-list-for-fedora-community-operations-and-infrastructure]] +== Idea list +for Fedora Community Operations and Infrastructure + +[[fedora-infrastructure-web-application-development-community-operations-commops]] +=== Fedora Infrastructure Web Application Development: *Community Operations +(CommOps)* + + + +[cols"3,10",options="header",] +|======================================================================= +|Project |*Community Operations* (CommOps) + +|IRC Channel |#fedora-commops +|Web page |link:https://fedoraproject.org/wiki/CommOps[CommOps Wiki] +|Mentor(s)|* link:https://fedoraproject.org/wiki/User:decause[ Remy DeCausemaker] (decause) + +* link:https://fedoraproject.org/wiki/USER:corey84[ Corey Sheldon] (linux-modder) + +|Notes | The rise of DevOps has been swift. Sysadmins are increasingly +instrumenting and integrating automated systems to stand up and maintain +their infrastructure. This same approach can be taken to support +community infrastructure in a distributed and automated fashion, that +doesn't force people to choose between using their precious volunteer +time to "build things" or "build communities that build things." The +community operations team works across numerous technologies, and +interest areas in Fedora, including Messaging, Storytelling, Fedora +Badges, Fedora Hubs, Wiki, Culture, Metrics, Voting, and other +miscellaneous topics. It is important to note that CommOps team members +are generalists, and the strengths and interests of individual +applicants will determine the precise nature of your work. Enthusiasm +for FOSS culture and community organization, and effective communication +skills are most important. Specific deliverables can include automated +metrics gathering, real-time messaging integration with Fedora hubs, and +other big-data analysis and visualization. Tools are primarily written +in python, and utilize libraries such as fedmsg, numpy, pandas, pygals, +flask, sqlalchemy. We also leverage other web technologies like HTML5 +and Javascript, and frameworks such as bootstrap and handlebars to +deliver these metrics. + +Your internship with this project could also involve any or all of the +following: + +* Web testing and bug reporting / triaging +* Content development and syndication +* Writing for the web and print +* Collaboration with Fedora Council and Leadership on Project Objectives +and Initiatives +* Volunteer Coordination and Organizing +* Campaign development and implementation +* Advocacy and Messaging + +Required: + +* Effective Communication Skills; written and verbal, synchronous and +asynchronous. +* Passion for Free/Open Source Software and Free Culture +* Self-directed and Curious nature +* Experience writing for the web (Content only is ok, HTML/CSS even +better) +* Experience publishing and/or syndicating content via Social Media +* Experience working in teams, or community organizing +* Basic Web development/design skills + +Bonus Skills: + +* Basic multimedia development skills +* Sysadmin/Devops skills +* programming/scripting skills + +|======================================================================= + +[[fedora-infrastructure-web-application-development-fedora-hubs]] +=== Fedora Infrastructure Web Application Development: *Fedora Hubs* + +[cols="3,10",options="header",] +|======================================================================= +|Project |Fedora Infrastructure Web Application Development: *Fedora Hubs* +|IRC Channel |#fedora-hubs + +|Web page | +* link:https://fedoraproject.org/wiki/Infrastructure[ Fedora Infrastructure Team] +* link:https://fedoraproject.org/wiki/Fedora_Hubs[Fedora Hubs Wiki] + +|Mentor(s) | + +* link:https://fedoraproject.org/wiki/User:lmacken[ Luke Macken] (lmacken) +* link:https://fedoraproject.org/wiki/User:decause[ Remy DeCausemaker] (decause) +* link:https://fedoraproject.org/wiki/USER:corey84[ Corey Sheldon] (linux-modder) + + +|Notes | Fedora has been in the process of creating a new web presence for all +of the Fedora users, subprojects, and communities. We also plan to +integrate some of the features of this system with the +https://developer-phracek.rhcloud.com[prototype] of the Fedora Developer +Portal, which is targeted at helping general developers use Fedora. +While the Hubs project itself is aimed at Fedora contributor circles, +the reusable features will allow the Portal to use this work to speak to +general developers who may not have an interest in working in the Fedora +community, but want to connect with community members for advice, best +practices, or to generate interest in _their_ upstream project. + +Several of the principal app developers in the Fedora Engineering team +will be working together with you on this project during the GSoC term. +You'll participate directly with team members daily on core features of +Hubs as well as integration with the Portal. This is a great opportunity +both for regular mentorship and for being deeply involved in an exciting +and fast-moving project with the Fedora team. + +Working on this project could involve any of the following: + +* Adding new features to the web frontend +* Adding new capabilities to the backend +* Writing and deploying new widgets +* Triaging and processing new widget ideas submitted by the community at +large. +* Implementing existing (and thoroughly detailed) mockups from previous +UI/UX interns and team members. + +Skills: + +* HTML/Javascript/CSS +* Basic Python a plus +* Bonus: Experience with Bootstrap, jinja templates, Fedmsg, +datanommer/grepper, or other fedora infrastructure projects a HUGE plus. + +When applying to this project, it may be useful to review the designers' +blogs about the projects' design here: + +Fedora Developer Portal + +* http://blog.linuxgrrl.com/2015/09/15/fedora-developer-website-design/ + +Fedora Hubs + +* http://blog.linuxgrrl.com/category/fedora-hubs +* https://meghanrichardson.wordpress.com/ + +A video overview of the Hubs project is available here: +http://blog.linuxgrrl.com/2015/07/01/fedora-hubs-update/ + +|======================================================================= + +[[fedora-infrastructure-web-application-development-pagure]] +=== Fedora Infrastructure Web Application Development: *Pagure* + +[cols="3,10",options="header",] +|======================================================================= +|Project |*Pagure* +|IRC Channel |#fedora-apps +|Web page |https://pagure.io[Pagure project] +|Mentor(s) |link:https://fedoraproject.org/wiki/User:pingou[ +Pierre-Yves Chibon] (pingou) +|Notes |Pagure is a forge written in python and offering the possibility of +self-hosting projects while still using the now well-know fork and +pull-request contribution model. While being similar to other forge such +as GitHub or GitLab it is also pretty different for example it does not +namespace projects under usernames with the idea that projects should +not belong to a single person but to a community. + +Your internship with this project could also involve any or all of the +following: + +* Web testing and bug reporting / triaging +* Content development and syndication +* Participating in the effort to make of pagure the official front-end +to Fedora's packages git repositories (currently being the read-only +cgit) +* Implementing private projects in pagure +* Figuring out how/if pagure can be a front-end for Fedora's git repo +now that they are namespaced (to offer more than just rpms, for example +docker containers) + +Required: + +* Effective Communication Skills; written and verbal, synchronous and +asynchronous. +* Passion for Free/Open Source Software and Free Culture +* Self-directed and Curious nature +* Experience with Flask, javascript and HTML +* Experience with git +* Sysadmin/Devops skills + +Bonus Skills: + +* Previous experience with Pagure +* Experience with developing APIs and CLIs using it + +|======================================================================= + +[[idea-list-for-fedora-atomic-gsoc-2016]] +== Idea list for Fedora Atomic GSoC 2016 + +This idea list comes from the +http://www.projectatomic.io/community/gsoc[Project Atomic] website. The +most up-to-date version is there. + +[[next-generation-super-privileged-container]] +=== Next-generation Super Privileged Container + +[cols="3,10",options="header",] +|======================================================================= +|Project |_Fedora Atomic_ +|IRC Channel |#atomic +|Web page |https://projectatomic.io[ProjectAtomic.io] +|Mentor(s) | + +* link:https://fedoraproject.org/wiki/User:walters[ Colin Walters] (walters) +* link:https://fedoraproject.org/wiki/User:gscrivano[ Giuseppe Scrivano] (gscrivano) + + +|Notes | + +* https://github.com/projectatomic/atomic/issues/298[Next generation +super-privileged containers]: Improve building, managing, and updating +these container images] + +Difficulty: Advanced + +Required skills: + +* C programming +* Python programming +* Docker and/or runC experience + +Bonus Skills: + +* Golang programming +* SELinux knowledge + +Expected outcomes + +* Implement ability for user to install flannel, etcd, and other +bootstrap containers and manage them easily +* New super-priv containers are accepted into planned design of Atomic +Host +* Learn how container security works +* Learn advanced SELinux hackery +* Learn how to manage container dependances + +|======================================================================= + +[[atomic-host-package-layering]] +=== Atomic Host package layering + +[cols="3,10",options="header",] +|======================================================================= +|Project |_Fedora Atomic_ +|IRC Channel |#atomic +|Web page |https://projectatomic.io[ProjectAtomic.io] +|Mentor(s) | + +* link:https://fedoraproject.org/wiki/User:walters[ Colin Walters] (walters) +* link:https://fedoraproject.org/wiki/User:gscrivano[ Giuseppe Scrivano] (gscrivano) + + +|Notes | + +* https://github.com/projectatomic/rpm-ostree/pull/107[Atomic Host +package layering]: Improve the package layering design, support more +RPMs, ensure %post scripts are safe, etc.] + +Required: + +* C programming +* Fedora or other Linux + +Bonus Skills: + +* Knowledge of RPM packaging +* Experience working in Linux distributions + +Libraries and Software: + +* rpm-ostree, libhif + +Difficulty Level: + +* Advanced + +Expected outcomes + +* Ability to layer debugging, bootstrap, and other packages +* Learn how OStree images work +* Learn packaging security practices and theory + +|======================================================================= + +[[bootstrap-with-gpgcheck-in-kickstart]] +=== Bootstrap with gpgcheck in kickstart + +[cols="3,10",options="header",] +|======================================================================= +|Project |_Fedora Atomic_ +|IRC Channel |#atomic +|Web page |https://projectatomic.io[ProjectAtomic.io] +|Mentor(s) | + +* link:https://fedoraproject.org/wiki/User:jberkus[ Josh Berkus] (jberkus) +* link:https://fedoraproject.org/wiki/User:gscrivano[ Giuseppe Scrivano] (gscrivano) +* link:https://fedoraproject.org/wiki/User:corey84[ Corey Sheldon] (linux-modder) + + +|Notes | + +* https://github.com/projectatomic/rpm-ostree/issues/190[Bootstrap with +gpgcheck in kickstart]: Add a way for importing a GPG key from the +kickstart `ostreesetup` command before the download starts. +https://docs.fedoraproject.org/en-US/Fedora/23/html/Installation_Guide/appe-kickstart-syntax-reference.html["ostreesetup" +is described here] + +Required: + +* Ability to use kickstart images +* Experience with virt helpful +* Fedora or other Linux Experience + +Libraries and Software: + +* kickstart +* gpg +* virt +* RPM-OStree + +Difficulty Level: + +* Intermediate + +Expected outcomes + +* Ability to kickstart atomic images with full gpg support working +* Improved software supply chain hygiene for project atomic +* Learning how secure provisioning works +* Learning how to get code merged upstream + +|======================================================================= + +[[improve-ability-to-monitor-runningcanceled-transactions]] +=== Improve ability to monitor running/canceled transactions + +[cols="3,10",options="header",] +|======================================================================= +|Project |_Fedora Atomic_ +IRC Channel |#atomic +|Web page |https://projectatomic.io[ProjectAtomic.io] +|Mentor(s) | + +* link:https://fedoraproject.org/wiki/User:jberkus[ Josh Berkus] (jberkus) +* link:https://fedoraproject.org/wiki/User:gscrivano[ Giuseppe Scrivano] (gscrivano) + + +| Notes | + +* https://github.com/projectatomic/rpm-ostree/issues/210[Improve ability +to monitor running/canceled transactions]: The rpm-ostree client +termination doesn't block the command execution on the rpm-ostreed. This +will cause new rpm-ostree clients to fail immediately because there is a +transaction in progress. Change rpm-ostree to be notified of the status +of the current transaction and possibly attach to it. + +Required: + +* C programming experience +* Ability to create Virtual Machines (VMs) or have access to spare PC +nearby for testing. +* Fedora or other Linux Experience + +Bonus Skills: + +* Experience with RPM packaging + +Libraries and Software: + +* rpm-ostree + +Difficulty Level: + +* Intermediate + +Expected outcomes + +* Ability for project to better understand transactions happening in the +deamon +* Ability for project to re-attach and get transaction status +* Understand RPM-OSTree upgrade model and how tree transactions work +* Learn how to work with upstreams + +|======================================================================= + +[[support-for-end-of-life-notification]] +=== Support for end-of-life notification + +[cols="3,10",options="header",] +|======================================================================= +|Project |_Fedora Atomic_ +|IRC Channel |#atomic +|Web page |https://projectatomic.io[ProjectAtomic.io] +|Mentor(s) |link:https://fedoraproject.org/wiki/User:jberkus[ Josh Berkus] (jberkus) +|Notes | + +* https://github.com/projectatomic/rpm-ostree/issues/142[Support for +end-of-life notification]: Add support for having an `end-of-life` +notification to inform users if a particular branch is not supported +anymore. + +Required: + +* C programming experience +* Fedora or other GNU/Linux Experience + +Bonus Skills: + +* Advanced C programming experience +* experience with RPM packaging + +Libraries and Software: + +* rpm-ostree +* atomic CLI + +Difficulty Level: + +* Novice + +Expected outcomes + +* rpm-ostree and atomic command output explaining when a version of an +upgraded tree branch is end of life (EoL) +* feature merged into future releases, and packaged for distribution +* Learn how to work with upstreams and Linux distributions +* Understand how EOL policies and lifecycles work + +|======================================================================= + +[[rpm-ostree-operation-history-support]] +=== rpm-ostree operation history support + +[cols="3,10",options="header",] +|======================================================================= +|Project |*Fedora Atomic* +|IRC Channel |#atomic +|Web page |https://projectatomic.io[ProjectAtomic.io] +|Mentor(s) |link:https://fedoraproject.org/wiki/User:jberkus[ Josh Berkus] (jberkus) +|Notes | + +* https://github.com/projectatomic/rpm-ostree/issues/85[rpm-ostree +operation history support]: Add support for `atomic history` to display +the transactions history. It should work in a similar way to `yum +history`. + +Required: + +* C programming experience +* Python Programming experience +* Fedora or other GNU/Linux experience + +Bonus Skills: + +* Advanced C programming experience +* Advanced Python programming experience +* Ability to work with Upstreams + +Difficulty Level: + +* Intermediate + +Expected outcomes + +* Duplication of support for history in the atomic command, similar to +"yum history" +* Strong command history and output on the system, possibly in systemd +journal + +|======================================================================= + +[[support-metalink-for-ostree]] +=== Support Metalink for OSTree + +[cols="3,10",options="header",] +|======================================================================= +|Project |*Fedora Atomic* +|IRC Channel |#atomic +|Web page |https://projectatomic.io[ProjectAtomic.io] +|Mentor(s) | + +* link:https://fedoraproject.org/wiki/User:jberkus[ Josh Berkus] (jberkus) +* link:https://fedoraproject.org/wiki/User:gscrivano[ Giuseppe Scrivano] (giuseppe) + + +|Notes | + +* https://bugzilla.gnome.org/show_bug.cgi?id=729388[Support metalink for +OSTree]: Add support for metalink files and support downloads from a +list of mirrors and fetch objects from multiple sources. + +Required: + +* C programming experience +* Metalink experience +* Experience working with RPM packaging + +Bonus Skills: + +* Advanced C programming experience +* Ability to work with Upstreams + +Difficulty Level: + +* Intermediate + +Expected outcomes + +* Ability to use a list of mirrors for OSTree upgrade +* Ability to fetch trees in parallel + +|======================================================================= + +[[drop-privileges-for-http-fetches]] +=== Drop privileges for HTTP fetches + +[cols="3,10",options="header",] +|======================================================================= +|Project |_'Fedora Atomic_ +|IRC Channel |#atomic +|Web page |https://projectatomic.io[ProjectAtomic.io] +|Mentor(s)| + +* link:https://fedoraproject.org/wiki/User:jberkus[ Josh Berkus] (jberkus) +* link:https://fedoraproject.org/wiki/User:gscrivano[ Giuseppe Scrivano] (giuseppe) + + +|Notes | + +* https://bugzilla.gnome.org/show_bug.cgi?id=730037[Drop privileges for +HTTP fetches]: The HTTP fetcher code is running in the same process of +OSTree. Move the HTTP fetcher code to another process with less +privileges than the main process. + +Required: + +* C programming experience +* SELinux knowledge + +Bonus Skills: + +* Advanced C programming experience +* libsoup experience helpful +* Advanced SELinux Experience +* Ability to work with Upstreams + +Difficulty Level: + +* Intermediate + +Expected outcomes + +* OSTree uses a different process for fetching data over HTTP +* Main OSTree process communicates through Inter Process Communication +(IPC) with fetcher process +* Fetcher confined to write-only in a temporary file + +|======================================================================= + +[[support-kpatch]] +=== Support kpatch + +[cols="3,10",options="header",] +|======================================================================= +|Project |_Fedora Atomic_ +|IRC Channel |#atomic +|Web page |https://projectatomic.io[ProjectAtomic.io] +|Mentor(s) | + +* link:https://fedoraproject.org/wiki/User:jberkus[ Josh Berkus] (jberkus) +* link:https://fedoraproject.org/wiki/User:gscrivano[ Giuseppe Scrivano] (giuseppe) +* link:https://fedoraproject.org/wiki/User:corey84[ Corey Sheldon] (linux-modder) + + +|Notes | + +* https://github.com/projectatomic/rpm-ostree/issues/118[Support +kpatch]: Support live update for the kernel without rebooting or +restarting any processes. + +Required: + +* C programming experience +* Python programming experience +* Basic knowledge of D-Bus + +Bonus Skills: + +* Advanced C programming experience +* Advanced Python programming experience +* Advanced knowledge of D-Bus +* Familiarity with kpatch + +Difficulty Level: + +* Intermediate + +Expected outcomes + +* Partial live update feature integrated into Fedora Atomic Host +* Learn to implement live kernel update +* Learn to work with upstream project integration +* Understand RPM-OSTree packaging and images + +|======================================================================= + +[[automatic-atomic-host-updates]] +=== Automatic Atomic Host Updates + +[cols="3,10",options="header",] +|======================================================================= +|Project |_Fedora Atomic_ +|IRC Channel |#atomic +|Web page |https://projectatomic.io[ProjectAtomic.io] +|Mentor(s) | + +* link:https://fedoraproject.org/wiki/User:walters[ Colin Walters] (walters) +* link:https://fedoraproject.org/wiki/User:gscrivano[ Giuseppe Scrivano] (giuseppe) + + +|Notes | + +* https://github.com/projectatomic/rpm-ostree/issues/177: implement a +service that automatically upgrades the system when a new image is +available. If the system is not restarting correctly, the rollback to +the previous working version. + +Required: + +* C programming experience +* Python programming experience +* Basic knowledge of systemd +* Ability to create and run VMs. + +Bonus Skills: + +* Advanced C programming experience +* Advanced Python programming experience +* Familiarity with RPM packaging + +Difficulty Level: + +* Intermediate + +Expected outcomes + +* Automated updates integrated into Fedora Atomic Host +* Learn how RPM-OStree packaging and images work +* Develop ability to contribute to Atomic Host + +|======================================================================= + +[[idea-list-for-cockpit]] +== Idea list for Cockpit + +[[cockpit-support-for-systemd-timers]] +=== Cockpit support for systemd timers + +[cols="3,10",options="header",] +|======================================================================= +|Project |_Cockpit_ +|IRC Channel |#cockpit +|Webpage |http://cockpit-project.org +|Mentor(s) | + +* Dominik Perpeet (dperpeet) +* Peter Volpe (petervo) + + +|Notes | + +* Systemd provides timers for calendar time events and monotonic time +events +(http://www.freedesktop.org/software/systemd/man/systemd.timer.html, +https://wiki.archlinux.org/index.php/Systemd/Timers). A major +component of the Fedora Server is the Cockpit Project, a web-based +management console for servers. + +* Some designs for timers in Cockpit exist at +https://trello.com/c/1B2lZViZ/74-timers-and-cron. + +Required: + +* JavaScript (ideally jQuery) +* Fedora or other Linux + +Bonus Skills: + +* Familiarity with D-BUS +* Familiarity with Python (2.7) +* Experience working in Linux distributions + +Libraries and Software: + +* cockpit (http://cockpit-project.org/) + +Difficulty Level: + +* Beginner to intermediate + +Expected outcomes + +* A user of the Cockpit UI is able to view existing timers, edit +existing ones or create new timers while providing the minimum set of +necessary information to the UI +* The UI optionally allows more advanced settings to be selected +* Functionality of added features is tested via unit and/or integration +tests + +|======================================================================= + +[[ostree-repositories-in-cockpit]] +=== OStree Repositories in Cockpit + +[cols="3,10",options="header",] +|======================================================================= +|Project |_Cockpit_ +|IRC Channel |#cockpit +|Web page |http://cockpit-project.org +|Mentor(s) | + +* Dominik Perpeet (dperpeet) +* Peter Volpe (petervo) + + +|Notes | + +* Cockpit provides an interface for updating the installed software on +Atomic systems using rpm-ostree. Admins should be able to examine the +OSTree repos enabled on a machine, and add/edit/remove them via Cockpit. + +Required: + +* JavaScript (ideally angular) +* Fedora or other Linux + +Bonus Skills: + +* Familiarity with D-BUS +* Familiarity with Python (2.7) +* Familiarity with OSTree +* Experience working in Linux distributions + +Libraries and Software: + +* cockpit (http://cockpit-project.org/) +* rpm-ostree (https://github.com/projectatomic/rpm-ostree) + +Difficulty Level: + +* Beginner to intermediate + +Expected outcomes + +* A user of the Cockpit UI is able to examine the OSTree repos enabled +on a machine, and add/edit/remove them. +* Functionality of added features is tested via unit and/or integration +tests + +|======================================================================= + +[[ostree-rebases-in-cockpit]] +=== OStree Rebases in Cockpit + +[cols="3,10",options="header",] +|======================================================================= +|Project |_Cockpit_ +|IRC Channels |#cockpit +|Webpage |http://cockpit-project.org +|Mentor(s) | + +* Dominik Perpeet (dperpeet) +* Peter Volpe (petervo) + + +|Notes | + +* Cockpit provides an interface for updating the installed software on +Atomic systems using rpm-ostree. Admins should be able to 'rebase' to a +different operating system channel or timeline via Cockpit. + +Required: + +* JavaScript (ideally angular) +* Fedora or other Linux + +Bonus Skills: + +* Familiarity with D-BUS +* Familiarity with Python (2.7) +* Familiarity with OSTree +* Experience working in Linux distributions + +Libraries and Software: + +* cockpit (http://cockpit-project.org/) +* rpm-ostree (https://github.com/projectatomic/rpm-ostree) + +Difficulty Level: + +* Beginner to intermediate + +Expected outcomes + +* A user of the Cockpit UI is able to be able to 'rebase' to a different +operating system channel or timeline via Cockpit. +* Functionality of added features is tested via unit and/or integration +tests + +|======================================================================= + +[[setup-a-freeipa-server-in-cockpit-using-rolekit]] +=== Setup a FreeIPA server in Cockpit using Rolekit + +[cols="3,10",options="header",] +|======================================================================= +|Project |_Cockpit_ +|IRC Channel |#cockpit +|Webpage |http://cockpit-project.org +|Mentor(s) | + +* Dominik Perpeet (dperpeet) +* Peter Volpe (petervo) + + +|Notes | + +* FreeIPA is a domain and directory server. This task implements a UI +for setting it up. + +* The Rolekit Project provides a platform API for deploying Server Roles +such as FreeIPA onto a system. Currently, it supports creating a Domain +Controller (based on FreeIPA) or a Database Server (based on +PostgreSQL). A major component of the Fedora Server is the Cockpit +Project, a web-based management console for servers. The goal of this +effort would be to enhance the Cockpit UI so that an administrator could +deploy the FreeIPA role. + +* Some designs for rolekit integration into Cockpit exist at +https://trello.com/c/7CZqL9AQ/54-rolekit-integration-for-domain-controller. + +Required: + +* JavaScript (ideally jQuery) +* Fedora or other Linux + +Bonus Skills: + +* Familiarity with D-BUS +* Familiarity with Python (2.7) +* Experience working in Linux distributions +* Domain or directory experience + +Libraries and Software: + +* cockpit (http://cockpit-project.org/) +* FreeIPA (https://www.freeipa.org/page/Main_Page) +* Rolekit (https://fedorahosted.org/rolekit/) + +Difficulty Level: + +* Intermediate + +Expected outcomes + +* A user of the Cockpit UI is able to deploy a Domain Controller while +providing the minimum set of necessary information to the UI +* The UI allows more advanced settings to be selected +* The UI also provides a link post-deployment that allows the user to +browse to the Domain Controller administration UI + +|======================================================================= + +[[docs]] +== Docs + +[[anerist]] +=== Anerist + +[cols="3,10",options="header",] +|======================================================================= +|Project |Docs Project +|IRC Channel |#fedora-docs +|Webpage |https://fedoraproject.org/wiki/Docs_Project +|Mentor(s) |link:https://fedoraproject.org/wiki/User:zoglesby[ Zach +Oglesby] (zoglesby) +|Notes | +The Fedora community produces a variety of content suitable for user +reference. Members of the Fedora Project produce documentation in a +variety of ways - manpages and code comments from developers, system +architecture design and best practices reference material from the infra +team; application design, interface design, microservices, buildfarms +and more. All at work meeting the needs of a transparent organization +built on open source technologies and open development practices. + +Anerist is intended to consume reference materials, in whatever format +they are discovered in, and render them to produce a neatly indexed html +site with a common style and theme. To alleviate manual effort in this +conversion process, and in the process of 'cycling' translations, the +application is event driven, with content regenerated on each change of +the sources using CICD technologies. This design relies on modularized +conversion tools, which also allows for programmatically generated +content and drop-in custom views of technologies or infrastructure. + +We need your help to build this framework. You'll use python, bootstrap, +buildbot, fedmsg, git, and more. + +Your internship with this project could also involve any or all of the +following: + +* Exposure to content development workflows. +* Mentoring from seasoned sysadmins, veteran technical writers, and free +software advocates. +* Learning the Open Source Way, the practice of transparent positive +collaboration that forms bedrock of Fedora's Foundations. +* + +Required: + +* general python skills +* experience with generating and rendering ReStructuredText +* familiarity with DocBook, or other structured contextual XML. +* familiarity with Jenkins, buildbot, or similar buildsystems + +Bonus Skills: + +* UX Design experience +* Free software advocacy +* Extended community participation +* Ownership of amusing hats + +|======================================================================= + +[[open-ideas-from-gsoc-2015]] +== Open Ideas From GSoC 2015 + +In addition to the above list of ideas, you may want to check out ideas +from previous years and contact the mentors for those projects to see if +they're still interested in mentoring someone this year. + +_Note_: Do not submit a proposal for an idea from a previous year +without contacting the mentor to ensure they will be available to mentor +you. *Without a mentor, proposals will be rejected.* +//// +Previous years: + +* link:Summer_coding_ideas_for_2015[2015] +* link:Summer_coding_ideas_for_2014[2014] +* link:Summer_coding_ideas_for_2013[2013] +* link:Summer_coding_ideas_for_2012[2012] +* link:Summer_coding_ideas_for_2011[2011] +* link:Summer_coding_ideas_for_2010[2010] +* link:Summer_coding_ideas_for_2009[2009] +* link:Summer_coding_ideas_for_2008[2008] + +Category:Summer_coding[Category:Summer coding] +Category:Summer_coding_2016[Category:Summer coding 2016] +//// diff --git a/gsoc/2016/images/GSoC_2016.png b/gsoc/2016/images/GSoC_2016.png new file mode 100644 index 0000000..e862ef8 Binary files /dev/null and b/gsoc/2016/images/GSoC_2016.png differ diff --git a/gsoc/2016/index.adoc b/gsoc/2016/index.adoc new file mode 100644 index 0000000..fa1fc9a --- /dev/null +++ b/gsoc/2016/index.adoc @@ -0,0 +1,240 @@ += Google Summer of Code 2016 + +image::GSoC_2016.png[GSoC_logo] + +The Fedora Project has represented the Google Summer of Code program for +ten years and we are participating in the 2016 program as well. This +wiki page serves as the GSoC portal. Please feel free to contact us via link:https://lists.fedoraproject.org/admin/lists/summer-coding@lists.fedoraproject.org/[sumer-coding] +list for clarifications and more information. You can also use the IRC +channel,link:https://webchat.freenode.net/?channels=#fedora-summer-coding[#fedora-summer-coding]. + +[[students]] +== Students + +Students who are looking for challenges and would like to contribute to +the world's most leading and innovative Linux distribution, this could +be the chance. Please feel free to contact and refer to the material and +start contacting mentors. + +1. link:ideas.html[Main Idea Page] + +[[why-spend-your-summer-working-on-foss]] +=== Why spend your summer working on FOSS? + +When you work in the open on free software, you create a body of work +that follows you for the rest of your life. Rather than a coding +assignment done by thousands of other students and relegated to the +bottom of the bit drawer at semester's end, working in FOSS is a chance +to contribute to a living project. + +Working in FOSS gives you a chance to: + +* Work with real-world, large codebases. +* Collaborate with real engineers and other professional experts. +* Contribute to something meaningful while learning and earning student +value. +* Learn tools and processes that are just like what you are going to use +if you work in technology after graduation. +* Make friends and contacts around the globe. +* Possibly attract attention that gets you an internship or job after +graduation. +* Create lifetime connections. + +[[why-work-with-fedora]] +=== Why work with Fedora? + +Our project is large and diverse. We are very experienced at working +with new contributors and helping them be successful. + +Many long-time contributors continue to be around, lending expertise and +mentoring. People who stay around the community and do good work are +noticed. They get hired for jobs from it, including being hired by Red +Hat. Past Google Summer of Code students were hired by Red Hat, as well +as interns in various positions. This is just an example, as experience +and reputation in the Fedora Project communities is influential on your +career in many ways. +As long-standing communities with many facets, it is possible for you to +find many rewarding sub-projects to work on. + +You should know that contributing to FOSS doesn't require you to have +super programming skills, or super-anything else. You just need be +interested and curious enough, and be willing to become comfortable +being productively lost. This is the state of learning through finding +your way around and figuring things out. + +[[step-by-step-guide-for-students]] +=== Step-by-step guide for students + +Please check the link:https://fedoraproject.org/wiki/GSOC_Guide_students[step-by-step guide for +students]. + +[[students-application]] +=== Student's application + +Please refer to the following to follow the students' application +process, + +1. link:student_application_process.html[Student Application +Process] + +[[administration]] +== Administration + +In order to clarify matters and/or obtain more information related with +this year's GSoC with Fedora, please contact the administrators directly +(please consider CCing the summer-coding list where ever possible). + +1. link:https://fedoraproject.org/wiki/User:Decause[Remy DeCausemaker] +2. link:https://fedoraproject.org/wiki/User:Kushal[Kushal Das] +3. link:https://fedoraproject.org/wiki/User:Hguemar[Haïkel Guémar] + +[[mentors]] +== Mentors + +The contributors of the Fedora Project can propose ideas and mentor +them. Please feel free to check following links and please add your +ideas to the main idea page. Furthermore, if you are not interested in +proposing an idea but still want to support the program, please check +the students' idea page and pick one as per your interest. + +1. link:http://en.flossmanuals.net/GSoCMentoring/[Manual on Mentoring] +2. link:ideas.html[Main Idea Page] + +[[how-to-work-with-students]] +=== How to work with students + +* One way is to provide an idea for students to work on. This idea might +be very well planned out, in which case you may need a high-level of +contact with the student to get it implemented correctly. + +* It is harder to find success where you are completely certain of how +an idea needs to be implemented; finding a student with the skills and +interest to implement a specific solution is a lot harder than finding a +student with enough skills to respond to a use case need. + +* Where you can have looser ideas, you may be able to find a student who +works as a sort-of intern who can implement a solution to a use case you +have. In past experiences, students going after a use case are more +likely to get somewhere with self-direction. + +* You may also want to work with a student who brings an idea to your +sub-project. This requires a different level of communication throughout +the project, but can be the most rewarding. + +[[mentor-responsibilities]] +=== Mentor responsibilities + +You are an essential part of the student's success, the project's +success, and the success for your overall organization (Fedora, +JBoss.org, or another). + +Your responsibilities include: + +* Being an interface for an identified sub-project or SIG in Fedora. +* Helping students communicate with the overall project and any +upstream. +* Be the final, accountable person for deciding if the student is +successful or not, which affects payment. + +[[list-of-mentors]] +=== List of Mentors + +[[list-of-registered-members]] +==== List of registered members + +List of mentors who are registered with Google and added to the project +as a mentor are listed here: + +link:https://fedoraproject.org/wiki/GSOC_2016/Registered_Mentors_List[Registered Mentor List] + +[[communication]] +== Communication + +*Mailing List (GSOC related) :* link:https://lists.fedoraproject.org/admin/lists/summer-coding@lists.fedoraproject.org/[summer-coding] + +*Mailing List (Technical) :* link:https://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org/[devel] + +*IRC :* Channel - link:https://webchat.freenode.net/?channels=#fedora-summer-coding[#fedora-summer-coding] or link:https://webchat.freenode.net/?channels=#fedora-devel[#fedora-devel] on Freenode + +[[timeline-student-version]] +== Timeline (Student version) + +* link:http://www.google.com/calendar/ical/gsummerofcode%40gmail.com/public/basic.ics?ctz=America/Los_Angeles[Official +Google Calendar] +* Reference: +link:https://developers.google.com/open-source/gsoc/timeline[Full Timeline] + +* *13 October, 2015*: Program announced. +* *8 February, 2016: 19:00 UTC* Mentoring organizations can begin +submitting applications to Google. +* *19 February: 19:00 UTC* Mentoring organization application deadline. +* *20 - 29 February*: Google program administrators review organization +applications. +* *29 February 19:00 UTC* List of accepted mentoring organizations +published on the Google Summer of Code 2016 site. + +Interim Period: Would-be students discuss project ideas with potential +mentoring organizations. + +* *14 March: 19:00 UTC* Student application period opens. +* *25 March: 19:00 UTC* Student application deadline. + +Interim Period: Mentoring organizations review and rank student +proposals; where necessary, mentoring organizations may request further +proposal detail from the student applicant. + +Interim Period: Slot allocation trades happen among organizations. +Mentoring organizations review and rank student proposals; where +necessary, mentoring organizations may request further proposal detail +from the student applicant. + +* *22 April*: Accepted student proposals announced on the Google Summer +of Code 2016 site. + +Community Bonding Period: Students get to know mentors, read +documentation, get up to speed to begin working on their projects. + +* *23 May*: Students begin coding for their Google Summer of Code +projects; Google begins issuing initial student payments provided tax +forms are on file and students are in good standing with their +communities. + +Work Period: Mentors give students a helping hand and guidance on their +projects. + +* *20 June: 19:00 UTC* Mentors and students can begin submitting +mid-term evaluations. +* '''27 June: 19:00 UTC '''Mid-term evaluations deadline; Google begins +issuing mid-term student payments provided passing student survey is on +file. + +Work Period: Mentors give students a helping hand and guidance on their +projects. + +* *15 August*: Suggested 'pencils down' date. Take a week to scrub code, +write tests, improve documentation, etc. +* *21 to 23 August*: Final week: Students tidy code, write tests, +improve documentation and submit their code sample. Students also submit +their final mentor evaluation. +* *23 August*: Mentors can start submitting final student evaluations. +* *29 August*: 19:00 UTC Final evaluation deadline +* *30 August*: Final results of Google Summer of Code 2016 announced +* *Late October*: Mentor Summit at Google. Mentors and Organization +Administrators from each participating organization are invited to +Google for an unconference to collaborate on ideas to make the program +better and to make new friends too! + +[[ideas-page]] +== Ideas Page + +* *Status :* Open for Ideas + +* *Link :* link:ideas.html[Summer coding ideas for +2016] + +[[links]] +== Links + +1. link:https://docs.fedoraproject.org/fedora-project/project/fedora-overview.html[The Four Foundations of Fedora] +2. link:https://developers.google.com/open-source/gsoc/resources/[Official +GSoC Resources] +3. link:http://docs.fedoraproject.org/en-US/index.html[Fedora Documentation] +4. link:https://fedoraproject.org/wiki/How_to_use_IRC?rd=Communicate/IRCHowTo[IRC] +5. link:https://fedoraproject.org/wiki/Development[Development] diff --git a/gsoc/2016/student_application_process.adoc b/gsoc/2016/student_application_process.adoc new file mode 100644 index 0000000..f9da73b --- /dev/null +++ b/gsoc/2016/student_application_process.adoc @@ -0,0 +1,64 @@ +.... +14 March: 19:00 UTC Student application period opens... +Deadline March 25, 1900 UTC !!! +.... + +The timeline is decided and published by Google, track it at +https://developers.google.com/open-source/gsoc/timeline[the official +page]. + +''''' + +Following are specific guidelines for the students to follow, who are +interested in submitting an application for the GSoC program through the +Fedora Project. Please go through carefully and follow them. Incomplete +applications will not be entertained after the deadline. + +''''' + +__'__Process + +Following criterion should be fulfilled on or before the application +deadline unless otherwise specifically noted. + +* Create a FAS account link:https://admin.fedoraproject.org/accounts[FAS +Account Signup / Login Page] + +* Join with fedora-summer-coding mailing list +link:https://lists.fedoraproject.org/admin/lists/summer-coding[Fedora Summer +Coding Mailing List] + +* Join with devel mailing list +link:https://admin.fedoraproject.org/mailman/devel[Devel Mailing List] + +* Chose a project for proposal from +link:ideas.html[Summer_coding_ideas_for_2016] + +* Submit application/proposal on Google-Melange +link:https://summerofcode.withgoogle.com/get-started/[Google Melange +Submission Page] + +''_'What to write about in your proposal / application._ + +* Details on your previous FOSS contributions (if any). + +* A detailed plan with your planned activities in May to September (eg: +Exams in university, internships, vacations..etc) + +* Bare mind - Remember to contact your mentor before you submit the +application. + +_Mentors are more likely to accommodate summer travel if they know in +advance_ + +We *_DO NOT_* accept any document after Google student application +deadline, all entries make after the deadline is ignored unless you have +not informed to Org Admins! However if you have any difficulty to meet +this requirement please let us know in advance (before the deadline). + +__'__FAQ + +What is the need of a detailed plan of my activities? It is important to +get an idea about your free time and arrange things at the early stage. +Therefore this is really important and try to make it accurate as much +as possible. diff --git a/gsoc/2017/application_process.adoc b/gsoc/2017/application_process.adoc new file mode 100644 index 0000000..67d9d1d --- /dev/null +++ b/gsoc/2017/application_process.adoc @@ -0,0 +1,195 @@ +.... +March 20: 16:00 UTC Student application period opens +April 03: 16:00 UTC Student application Deadline + +**Note** There is a new requirement that you submit all materials in PDF form. See below. +.... + +This timeline is decided and published by Google, see the full timeline +on link:https://developers.google.com/open-source/gsoc/timeline[the official +page]. + +''''' + +The following are specific guidelines for students to use to submit an +application for the GSoC program through the Fedora Project. Please go +through these carefully and follow them. Applications must be complete +by the deadline listed above. Late applications cannot be accepted. + +''''' + +[[student-application-process]] +== Student Application Process + +[[learn]] +=== Learn + +Before you do anything, learn about the program and Fedora. These links +may be helpful: + +* link:https://summerofcode.withgoogle.com/[GSoC official site] +* link:https://developers.google.com/open-source/gsoc/faq[GSoC 2016 FAQs] +* link:https://docs.fedoraproject.org/fedora-project/project/fedora-overview.html[The Four Foundations of Fedora] +* link:https://fedoraproject.org/wiki/GSOC_2017[General GSoC Guidance] +* link:https://fedoraproject.org/wiki/Mailing_list_guidelines[Mailing List Guidelines] + +[[communicate]] +=== Communicate + +Begin link:https://fedoraproject.org/wiki/Communicating_and_getting_help[communicating] with the +community. Our community members can help you understand the existing +project proposals. If you're going to try and propose your own project, +this is a great way to understand the needs of the project and find a +mentor. + +* link:https://lists.fedoraproject.org/admin/lists/summer-coding.lists.fedoraproject.org[the +summer-coding list] +* link:https://lists.fedoraproject.org/admin/lists/devel.lists.fedoraproject.org[the +development list]. + +Don't forget to contact mentors on projects that interest you to learn +more. If you're going to propose a project you must have a mentor at the +time of proposal. + +[[apply]] +=== Apply + +The application for students is split into three main parts. All parts +need to be completed by the due date. + +\1. Google Summer of Code Application + +\2. Supplemental Application Materials on the Fedora Project Wiki + +\3. Additional Fedora Requirements + +[[google-summer-of-code-application]] +==== Google Summer of Code Application + +Submit the application/proposal at the +link:https://summerofcode.withgoogle.com/get-started/[Google Summer of Code +Site] + +*Note:* You must submit a PDF version of all of the information you +prepare with your application using the Google site. The PDF should +consist of the information from the supplemental application +requirements section below. It should also contain any custom project +you are proposing, if any. + +We are not allowed to consider students who do not submit this PDF. +Students will not be judged on the visual layout of their PDF, however +all information must be readable. It is acceptable for you to submit PDF +printouts from the wiki. + +[[supplemental-application-materials-on-the-fedora-project-wiki]] +==== Supplemental Application Materials on the Fedora Project Wiki + +Chose a project for proposal from +link:ideas.html[Summer_coding_ideas_for_2017]. +While it is possible to propose your own project, it is often more +successful for you to select one that is already proposed by a mentor. + +Create a new wiki page to hold your application. The url should look +like +//// +TODO - check the result +//// +link:https://fedoraproject.org/wiki/GSOC_2017/Student_Application_Yourusername[`https://fedoraproject.org/wiki/GSOC_2017/Student_Application_Yourusername`], +replacing `Yourusername` with your actual +link:https://fedoraproject.org/wiki/Account_System[Fedora Account System] +username. + +You should include the information that is relevant to the project your +are selecting or proposing as well as information about you, your +background, etc. The following format provides some guidance: + +* Contact Information +** List your Name, Email Address, Blog URL, and any additional contact +information you think we need. We tend to email so be sure you're +reading your email. +* About You - Consider these questions +** Do you have any past involvement with the Fedora Project or another +open-source project as a contributor? What kind of contributions have +you made (code and non-code)? Please share any public contributions you +have made (urls, etc.) +** What are you studying? Why? +** What motivates you to do your best? How do you stay focused? Briefly +describe how you organize your work. +* Why Us? - Consider these questions +** Why do you want to work with the Fedora Project? +** Do you plan to continue contributing to the Fedora Project after +GSoC? If yes, what sub-project(s) are you interested with? +* Why This Project? - Consider these questions +** Which specific project interests you? If you are proposing your own +project, do it here. If you are proposing the project, explain why it +benefits the community. +** Have you contacted the mentor(s) listed for the project? +** What relevant experience do you have for this project? +** What do you want to gain from this project? +** Describe this project in your own words. What does it mean to you? +What do you think the final deliverable is? +* Why should we choose you over other applicants? +* Propose a rough schedule for this project. Ideally you will have +regular deliverables throughout the entire period. +* What are you specific plans from May to September (eg: Exams in +university, internships, vacations..etc). We need to know if there are +periods of time where you are likely to be unavailable. We are better at +accommodating these periods if we know of them in advance. + +[[additional-fedora-requirements]] +==== Additional Fedora Requirements + +Students need to do the following as part of the application process: + +* Create a FAS account link:https://admin.fedoraproject.org/accounts[FAS +Account Signup / Login Page] +* If you can't edit the wiki (see next step), email link:https://fedoraproject.org/wiki/User:Bex[Brian (bex) +Exelbierd], the primary administrator with your FAS ID and request +access. +* On the project wiki link:https://fedoraproject.org/wiki, create a user +page. Do this by opening a new web browser tab and going to +link:https://fedoraproject.org/wiki/User:Yourusername[`https://fedoraproject.org/wiki/User:Yourusername`], +replacing `Yourusername` with your actual Fedora Account System +username. +** This link:https://fedoraproject.org/wiki/Template:Userpage[user page template] provides a basic layout +that you can copy. You can also look at the markup for other users' +pages. Here's a selection of some nice user pages: +*** link:https://fedoraproject.org/wiki/User:Jsimon[Joerg Simon] +*** link:https://fedoraproject.org/wiki/User:Ilianaw?rd=User:Ianweller[Iliana Weller] +*** link:https://fedoraproject.org/wiki/User:Pfrields[Paul W. Frields] +*** link:https://fedoraproject.org/wiki/Kaio2012?rd=User:Kaio[Caius C. Chance] +** Do not forget to add the Summer coding category to your page, for +example for 2017: `[[category:Summer_coding_2017]]` +** When you save the page, remember to click 'watch this page' at the +top. +* Join the fedora-summer-coding mailing list +link:https://lists.fedoraproject.org/admin/lists/summer-coding.lists.fedoraproject.org[Fedora +Summer Coding Mailing List] - This list is fairly low volume. +* Join the devel mailing list +link:https://lists.fedoraproject.org/admin/lists/devel.lists.fedoraproject.org[Devel +Mailing List] - this list can be higher volume you may wish to use mail +filters appropriately. +* Sign the FPCA by following the directions +link:https://fedoraproject.org/wiki/Account_System/CompleteFPCA[here] + +[[let-others-know]] +=== Let others know + +Let others know about your submission by forwarding your application URL +with a brief description about your proposal to the link:https://lists.fedoraproject.org/admin/lists/summer-coding@lists.fedoraproject.org/[summer-coding] mailing list. + +[[keep-communicating]] +=== Keep communicating + +We cannot overstress the importance of communication. Keep talking, and +listening, to the discussion group, to the sub-projects relevant to your +proposal and to potential mentors. Be patient, as mentors and other +contributors are often very busy people. + +[[need-help]] +=== Need Help? + +If you need help, use the methods described at link:index.html[GSOC_2017] + +You also find this example application helpful: +link:https://fedoraproject.org/wiki/GSOC_2012/Student_Application_Bckurera[GSOC_2012/Student_Application_Bckurera] diff --git a/gsoc/2017/ideas.adoc b/gsoc/2017/ideas.adoc new file mode 100644 index 0000000..5266727 --- /dev/null +++ b/gsoc/2017/ideas.adoc @@ -0,0 +1,517 @@ +Find an idea you like? Want to propose your own? See the +link:application_process.html[student application process]. + +[[students-welcome]] +== Students Welcome + +If you are a student looking forward to participating in +link:index.html[GSOC 2017] with Fedora, please feel free to browse this +idea list which is still growing. + +//// +I don't know if this does work: (it's pink) +//// + +*Now please go read the link:https://fedoraproject.org/wiki/GSOC_2017#What_can_I_do_today.3F[What Can +I do Today] section of the main page.* + +Do not hesitate to contact the mentors or contributors listed on this +page for any questions or clarification. You can find helpful people on +the IRC channel, or use the mailing list. can be used for getting help +with programming problems. + +If you are new to the Fedora Project, the following material will help +you to get started. You should also follow the +link:application_process.html[student application process] + +* link:https://docs.fedoraproject.org/fedora-project/project/fedora-overview.html[The Four Foundations of Fedora] +* link:https://developers.google.com/open-source/gsoc/resources/[Official +GSoC Resources] +* link:http://docs.fedoraproject.org/en-US/index.html[Fedora Documentation] +* link:https://fedoraproject.org/wiki/How_to_use_IRC?rd=Communicate/IRCHowTo[IRC] +* link:https://fedoraproject.org/wiki/Development[Development] + +[[supporting-mentors]] +=== Supporting Mentors + +The following contributors are available to provide general help and +support for the GSoC 2017 program (existing contributors, feel free to +add yourselves and your wiki page). If a specific project mentor is +busy, you can contact one of the people below for short-term help on +your project or task. + +* link:https://fedoraproject.org/wiki/User:Bex[Brian (bex) Exelbierd] (Fedora Community Action and Impact +Coordinator, FCAIC, 🎂, containers, general development, general Linux) +* link:https://fedoraproject.org/wiki/User:Jflory7[Justin W. Flory] (General development, general Linux, +Fedora community, GSoC alumnus, questions about program, misc. advice) +* link:https://fedoraproject.org/wiki/User:Rhea[Radka (rhea) Janek] (C#, webserver or dotnet related stuff +on Linux, general support and help with the program) +* link:https://fedoraproject.org/wiki/User:Linuxmodder[Corey Sheldon] (Python, 2Factor/Multi-Factor Auth, QA +Testing, general mentoring, security, 2nd year mentor) +* link:https://fedoraproject.org/wiki/User:Skamath[Sachin S. Kamath] (General Linux, Fedora community, +Metrics, GSoC alumnus, Help with program) +* link:https://fedoraproject.org/wiki/User:Bee2502[Bhagyashree(Bee)] ( Fedora community, Metrics, Python, +past GSoC mentor, Support related to GSoC) +* link:https://fedoraproject.org/wiki/User:Lsd[Lali Devamanthri] (General development, +Middleware/Integration, general Linux, Fedora community, GSoC alumnus, +past GSoC mentor) +* link:https://fedoraproject.org/wiki/User:Devyani7[Devyani Kota] (Fedora community, GSoC Alumnus, General +Linux, Python, questions related to GSoC) + +[[draft-of-an-idea]] +=== Draft of an idea + +Please add your idea using the following template. The template contains +_comments in italic text_, examples and questions that should be +answered. *Please copy the template (your idea) into the list of ideas - +do not change it here.* + +[[project-name]] +==== Project Name + +[cols="3,10",options="header",] +|======================================================================= +|Status |Proposed - draft _Use this status._ +|*Skill level* |Novice / Intermediate / Proficient _Are the required +skills below something a beginner would no or could reasonably learn +quickly? Is there an area where knowledge is already expected making +this an advanced project? Also consider how much knowledge about Fedora +is required._ + +|*Skills required* |_Programming languages or other skills that the +student should already posess. Keep in mind that students come to both +practice thieir existing skills and grow. Scope your tasks for someone +to be able to apply and learn during the project, therefore you +shouldn't list everything required to complete the task._ + +|*Mentor(s)* |_If your SIG is taking the responsibility, specify as in +this example (and always link to people or groups)_ +link:https://fedoraproject.org/wiki/SIGs/DotNet[DotNet SIG] - link:https://fedoraproject.org/wiki/User:Rhea[Radka (rhea) Janek], ... + +|*Contacts (IRC & email)* |_link:https://webchat.freenode.net/?channels=#example-irc-channel[#example-irc-channel] & link:https://lists.fedoraproject.org/admin/lists/example-list@lists.fedoraproject.org/[exaple-list@lists.fedoraproject.org] - Mentors email or mailing list of your +SIG._ + +|*Idea description* |_Something something._ + +|*Notes & references* |_Something or nothing._ +|======================================================================= + +[[idea-list-for-gsoc-2017]] +== Idea list for GSoC 2017 + +[[directory-server-developing-administrative-tools]] +==== 389 Directory Server: developing administrative tools + +[cols="3,10",options="header",] +|======================================================================= +|*Status* |Proposed - draft +|*Skill level* |Intermediate + +|*Skills required* |Python: Must understand Classes, Inheritance, and +Modules + +|*Mentor(s)* |link:https://fedoraproject.org/wiki/User:Firstyear[William Brown] (firstyear UTC+10, please +be patient!) + +|*Contacts (IRC & email)* |link:https://webchat.freenode.net/?channels=#389[#839] & link:https://lists.fedoraproject.org/admin/lists/389-devel@lists.fedoraproject.org/[389-devel@lists.fedoraproject.org] + +|*Idea description* a| +389 Directory Server is an enterprise class LDAP server, used in +businesses globally to authenticate and identify people. We have a large +code base that has gone through nearly 20 years of evolution. + +Part of this evolution has been the recent addition of a python +administration framework designed to replace our legacy perl tools. The +framework already has the base classes designed and written, but we need +help to knit together the high level administrative functionality. + +Throughout this process you will need to: + +* Learn to deploy a 389 Directory Server. +* Learn some of the functions of 389 DS (account policy, plugin +management). +* Read and interpret some of our existing perl and shell scripts. +* Extend the python tools dsconf to support enabling / disabling / +configuration of modules in Directory Server to replace our legacy +tools. +* Review other team members' python code. +* Participate in our community. + +From this you will learn: + +* How to integrate and use existing python frameworks and servers. +* Techniques to unit test command line and python tools. +* How to work with a geographically distributed team. +* Engineering principles expected of a project with high quality +demands. +* Use of git and ticket trackers for a project. +* How to contribute to mailing lists and the review process. + +What are we looking for: + +* To teach you good community engagement, and engineering skills. The +coding project is a means to help us teach you to interact effectively +with a team, and to learn engineering principles. + +Is this project right for you? + +* Come and talk to wibrown on #389 in irc on freenode, or email our +mailing list 389-devel@lists.fedoraproject.org + +|*Notes & references* |link:http://www.port389.org/[port389.org] +|======================================================================= + +[[asp.net-core-web-application-for-rfedora-subreddit]] +==== ASP.NET Core web application for /r/Fedora subreddit + +[cols="3,10",options="header",] +|======================================================================= +|Status |Proposed - draft +|*Skill level* |Novice + +|*Skills required* |Basic C# + +|*Mentor(s)* |link:https://fedoraproject.org/wiki/SIGs/DotNet[DotNet SIG] - link:https://fedoraproject.org/wiki/User:Rhea[Radka (rhea) +Janek] + +|*Contacts (IRC & email)* a|link:https://webchat.freenode.net/?channels=#fedora-dotnet[#fedora-dotnet] +& link:https://lists.fedoraproject.org/admin/lists/dotnet-sig@lists.fedoraproject.org/[dotnet-sig@lists.fedoraproject.org], radka.janek@redhat.com + +|*Idea description* a| +Goals: + +* ASP.NET Core web application for our +link:https://www.reddit.com/r/Fedora[/r/Fedora subreddit] to let the user +choose a flair, based on their FAS Group memberships, written in C# and +deployed on a Fedora production server as systemd service. + +You will learn: + +* What is it .NET Core and how to use it in Linux +* How to write C# code on Linux and what IDEs are available to you. +* You will create and deploy an ASP.NET Core application on our Fedora +production server as systemd service, with secure Apache in front of it. + +|*Notes & references* |link:https://fedoraproject.org/wiki/DotNet[.NET on Fedora], +link:https://fedorahosted.org/ipsilon[ipsilon] ; _Due to high interest we +recommend that you apply for different project._ +|======================================================================= + +[[net-core-wrapper-library-for-systemd]] +==== .NET Core wrapper library for systemd + +[cols="3,10",options="header",] +|======================================================================= +|Status |Proposed - draft +|*Skill level* |Intermediate + +|*Skills required* |C# and basic Linux + +|*Mentor(s)* |link:https://fedoraproject.org/wiki/SIGs/DotNet[DotNet SIG] - https://fedoraproject.org/wiki/User:Rhea[Radka (rhea) +Janek] + +|*Contacts (IRC & email)* a|link:https://webchat.freenode.net/?channels=#fedora-dotnet[#fedora-dotnet] +& link:https://lists.fedoraproject.org/admin/lists/dotnet-sig@lists.fedoraproject.org/[dotnet-sig@lists.fedoraproject.org], radka.janek@redhat.com + +|*Idea description* a| +Goals: + +* .NET Standard library wrapping systemd, written in C# and published on +NuGet. +* By utilizing systemd, we can control various aspects of the system +underneath directly from C# (eg. stopping or starting services, +scheduling reboots) + +You will learn: + +* What is it .NET Core and how to use it in Linux +* How to write C# code on Linux and what IDEs are available to you. +* How to create and maintain NuGet packages. +* How to utilize systemd and dbus to control your Linux system. + +|*Notes & references* |link:https://fedoraproject.org/wiki/DotNet[.NET on Fedora] ; _Due to high +interest we recommend that you apply for different project._ +|======================================================================= + +[[continuous-static-analysis-db]] +==== Continuous static analysis db + +[cols="3,10",options="header",] +|======================================================================= +|Status |Proposed - draft +|*Skill level* |Intermediate + +|*Skills required* a| +* Python +* Distributed systems + +|*Mentor(s)* |link:https://fedoraproject.org/wiki/User:Athoscr[ Athos Ribiero] (athoscr) + +|*Contacts (IRC & email)* |IRC: athos Email: athoscribeiro@gmail.com + +|*Idea description* |This project proposes the design and implementation +of a system to continuously run multiple security oriented static +analyzers on source code and display the alarms related to a specific +version of the analyzed software. The alarms to be presented will be +ranked based on their importance, where critical flaws shall be ranked +first and potential false positives are ranked last. We will develop a +tool to perform continuous static analysis with different static +analyzers and propose a warning classification method using their +outputs. We will also propose a visualization approach for the +information generated with our tool. + +|*Notes & references* |link:https://fedoraproject.org/wiki/StaticAnalysis[Static Analysis SIG] +|======================================================================= + +[[migrate-plinth-to-fedora-server]] +==== Migrate Plinth to Fedora Server + +[cols="3,10",options="header",] +|======================================================================= +|Status |Proposed - draft +|*Skill level* |Novice + +|*Skills required* a| +* Python and Django +* Git +* dnf knowledge +* ARM based hardware is a plus +* RPM packaging knowledge is a plus + +|*Mentor(s)* |link:https://fedoraproject.org/wiki/User:Tonghuix[Tong Hui] (first year, UTC+8, please be +patient!) + +|*Contacts (IRC & email)* a| +* link:https://webchat.freenode.net/?channels=#fedora-arm[#fedora-arm] & link:https://lists.fedoraproject.org/admin/lists/arm@lists.fedoraproject.org/[arm@lists.fedoraproject.org] + +|*Idea description* a| +Plinth is developed by link:https://wiki.debian.org/FreedomBox/[Freedombox] +which is a Debian based project. The Freedombox is aiming for building a +100% free software self-hosting web server to deploy social applications +on small machines. It provides online communication tools respecting +user privacy and data ownership, replacing services provided by +third-parties that under surveillance. +link:https://wiki.debian.org/FreedomBox/Plinth[Plinth] is the front-end of +Freedombox, written in Python. + +This idea mainly about migrate Plinth from Deb-based to RPM-based, and +make it available for Fedora Server which will running on ARM machines. +It would be better of student to be familiar with ARM based hardware and +knowing something about how to running a Fedora Server on it, or use +something like Qemu if you don't know hardware. + +The main goal of this idea is to make Plinth works fine in Fedora Server +or Minimal flavor, due to Plinth write APT commands hard coded, so it is +better yo make it more adoptive for RPM. The secondary goal is to make a +RPM package for Plinth from source and setup a repo for it, so that +everyone who use Fedora could use Plinth. + +You will learn: + +* how to write modern test driven Python projects +* how to running Fedora Server on a ARM machine. +* how to migrate deb package to RPM package from source. + +|*Notes & references* |link:https://fedoraproject.org/wiki/Architectures/ARM[Architectures/ARM] +|======================================================================= + +[[patternfly-frontend-pattern-development]] +==== Patternfly Frontend Pattern Development + +[cols="3,10",options="header",] +|======================================================================= +|Status |Proposed - draft +|*Skill level* |Intermediate + +|*Skills required* |Javascript + +|*Mentor(s)* |Brian Leathem + +|*Contacts (IRC & email)* a| +link:https://webchat.freenode.net/?channels=#patternfly[#patternfly] & patternfly@redhat.com + +|*Idea description* |Explore the emerging web component specifications +by implementing patternfly.org patterns as web components. Begin with +smaller simpler web component implementations to learn the APIs, then +follow on with a more complex composite component to fully exercise the +APIs and make a robust and feature-rich web components. Engage the +PatternFly developer community to learn and contribute to the collective +web component effort. +//// +don't know if the link is working +//// +|*Notes & references* |link:https://patternfly-webcomponents.github.io/ +|======================================================================= + +[[fedora-media-writer---new-features]] +==== Fedora Media Writer - New Features + +[cols="3,10",options="header",] +|======================================================================= +|Status |Proposed - draft +|*Skill level* |Intermediate + +|*Skills required* |C++/Qt and/or QML + +|*Mentor(s)* |link:https://fedoraproject.org/wiki/User:Mbriza[Martin Bříza] + +|*Contacts (IRC & email)* |mbriza on Freenode (for example on link:https://webchat.freenode.net/?channels=#fedora-devel[#fedora-devel] or link:https://webchat.freenode.net/?channels=#fedora-apps[#fedora-apps] ) or +mbriza@redhat.com + +|*Idea description* a| +Fedora Media Writer is a tool that makes putting Fedora images on +portable media (such as flash drives) much easier. Since Fedora 25, it +is offered as the default download options for users coming to +link:https://getfedora.org[Get Fedora] from a Mac or a Windows computer. + +Ever since the rewrite from liveusb-creator, there has been some +features missing from it and due to the popular demand, it wouldn't be a +bad idea to get them readded. You won't need to implement all of these. +Just one would be perfectly fine. However, please contact me first so we +can arrange the details of your potential application. + +There is a short list of some things that could be done (however, feel +free to get in touch about anything else, or look on the GitHub page for +some more): + +* _Persistent storage_. To explain how it works, I'll start with how +live media works now for us: After booting into the live system, you can +do whatever you want, install programs, save files to your home folder +or even modify the root filesystem, as much as your free memory permits +you. However, after rebooting you lose all those changes because the +partitions on the drive are not touched. Persistent storage adds the +possibility to retain those changes through reboots so you would be able +to install new apps to your live environment or work with files stored +on the flash drive. + +* Being able to write the images without destroying the data that was +already present on the flash drive before. + +* Having a Fedora ARM image resized to fit the size of your SD card +immediately after having it written. + +* Proper privilege escalation through launchd for the helper process on +macOS. + +Understanding of libraries and techniques relevant to this project on +Linux, Mac or Windows (or all of them) is a big plus. + +You'll learn more about multiplatform development and be involved in the +project that is the first thing new users see when they are going to try +Fedora. + +|*Notes & references* |link:https://github.com/MartinBriza/MediaWriter +|======================================================================= + +[[adwaita-and-highcontrast-style-for-qtquickcontrols]] +==== Adwaita and HighContrast style for QtQuickControls + +[cols="3,10",options="header",] +|======================================================================= +|Status |Proposed - draft +|*Skill level* |Novice + +|*Skills required* |QML and a little bit of C++ + +|*Mentor(s)* |User:Mbriza[Martin Bříza] + +|*Contacts (IRC & email)* |mbriza on Freenode (for example on link:https://webchat.freenode.net/?channels=#fedora-devel[#fedora-devel] or link:https://webchat.freenode.net/?channels=#fedora-apps[#fedora-apps] ) or +mbriza@redhat.com + + +|*Idea description* a| +Fedora Workstation ships custom Qt themes that match its Adwaita and +Highcontrast themes from its default GNOME desktop environment. This +makes Qt applications blend nicely into the overall Fedora Worstation +experience. + +However, to fully support most of the Qt applications, we need to have +QtQuickControls (QML) themes implemented, too. + +Work on this would consist of three main parts: + +* Figuring out where and how to install the theme (CMake) +* Implementing the look of all necessary widgets (QML) +* Making this theme selected by default when the app runs in GNOME +(probably C++, in the QGnomePlatform project) + +This project is best suited to a candidate who wants to learn about QML. + +|*Notes & references* a| +link:https://github.com/MartinBriza/adwaita-qt + +link:https://github.com/MartinBriza/highcontrast-qt + +link:https://github.com/MartinBriza/QGnomePlatform + +|======================================================================= + +[[fedora-commops-centralized-metrics-generation]] +==== Fedora CommOps : Centralized Metrics generation + +[cols="3,10",options="header",] +|======================================================================= +|*Status* |Proposed - draft +|*Skill level* |Intermediate + +|*Skills required* a| +Required: + +* Python +* Basic understanding of APIs +* Flask + +Bonus Skills: + +* Data analytics algorithms +* Knowledge of Fedora Apps + +|*Mentor(s)* |link:https://fedoraproject.org/wiki/User:Skamath[ Sachin S. Kamath] (skamath) link:https://fedoraproject.org/wiki/User:Bee2502[ +Bhagyashree(Bee) ] (bee2502) + +|*Contacts (IRC & email)* a|link:https://webchat.freenode.net/?channels=#fedora-commops[#fedora-commops] +& +link:https://lists.fedoraproject.org/admin/lists/commops.lists.fedoraproject.org/[commops@lists.fedoraproject.org] + +|*Idea description* a| +Right now, metrics collection in CommOps is not very efficient and +requires a lot of manual work. Metrics for various events/FAS +groups/users are collected using scripts which query datagrepper and +return results. This process is very time consuming and writing scripts +each time is a very tedious process. Also, querying the datagrepper to +get data everytime is redundant and time-consuming. + +Hack on statscache to build a central metrics generation system for +Fedora with handy features to pull statistics. Take a look at the +link:https://pagure.io/fedora-commops/issue/105[Pagure ticket] for more +details. + +|*Notes & references* |link:https://pagure.io/fedora-commops/issue/105[Pagure +ticket] +|======================================================================= + +[[open-ideas-from-gsoc-2016]] +=== Open Ideas From GSoC 2016 + +In addition to the above list of ideas, you may want to check out ideas +from previous years and contact the mentors for those projects to see if +they're still interested in mentoring someone this year. + +_Note_: Do not submit a proposal for an idea from a previous year +without contacting the mentor to ensure they will be available to mentor +you. *Without a mentor, proposals will be rejected.* +//// +TODO - I don't know what to do with this yet. + +Previous years: + +* link:Summer_coding_ideas_for_2016[2016] +* link:Summer_coding_ideas_for_2015[2015] +* link:Summer_coding_ideas_for_2014[2014] +* link:Summer_coding_ideas_for_2013[2013] +* link:Summer_coding_ideas_for_2012[2012] +* link:Summer_coding_ideas_for_2011[2011] +* link:Summer_coding_ideas_for_2010[2010] +* link:Summer_coding_ideas_for_2009[2009] +* link:Summer_coding_ideas_for_2008[2008] +//// diff --git a/gsoc/2017/images/GSoC_2016.png b/gsoc/2017/images/GSoC_2016.png new file mode 100644 index 0000000..4f10504 Binary files /dev/null and b/gsoc/2017/images/GSoC_2016.png differ diff --git a/gsoc/2017/images/GSoC_2017.png b/gsoc/2017/images/GSoC_2017.png new file mode 100644 index 0000000..e862ef8 Binary files /dev/null and b/gsoc/2017/images/GSoC_2017.png differ diff --git a/gsoc/2017/index.adoc b/gsoc/2017/index.adoc new file mode 100644 index 0000000..1d8b0ba --- /dev/null +++ b/gsoc/2017/index.adoc @@ -0,0 +1,282 @@ +[[google-summer-of-code-2018]] += Google Summer of Code 2017 + + +image:GSoC_2016.png[] + + +This wiki page serves as the GSoC portal. Please feel free to contact us +via list for clarifications and more information. You can also use the +IRC channel, . + +[[what-can-i-do-today]] +=== What can I do today? + +Fedora has been accepted as a mentoring organization. Student +applications open on 20 March. + +* Students +** If you're interested in working on an existing project, read up on +the project and the related technology. There is no need to contact the +mentor unless you have a specific question about the project. Don't send +"I'm interested" email. +** If you're interested in proposing your own project start looking +around the Fedora Project for a mentor and send your idea to the mailing +list or post it on the wiki. + +Students may also wish to start working on the Fedora specific parts of +the application (see the application section) + +* Mentors + +If you're interested in working with a student you should post your idea +to the idea page. + +[[students]] +=== Students + +Do you want to contribute to one of the world's leading and innovative +Linux distributions? GSoC could be your chance. Please refer to the +material below and start contacting mentors. + +* link:ideas.html[Ideas] + +[[why-spend-your-summer-working-on-foss]] +==== Why spend your summer working on FOSS? + +When you work in the open on free software, you create a body of work +that follows you for the rest of your life. Rather than a coding +assignment done by thousands of other students and relegated to the +bottom of the drawer at semester's end, working in FOSS is a chance to +contribute to a living project. + +Working in FOSS gives you a chance to: + +* Work with real-world, large codebases. +* Collaborate with real engineers and other professionals. +* Contribute to something meaningful while learning and earning. +* Learn tools and processes that are just like what you are going to use +if you work in technology after graduation. +* Make friends and contacts around the globe. +* Attract attention that can lead to an internship or job after +graduation. +* Create lifetime connections and associations. + +[[why-work-with-fedora]] +==== Why work with Fedora? + +Our project is large and diverse. We are very experienced at working +with new contributors and helping them be successful. + +Many of our contributors are long-time contributors. They remain because +they want to keep growing the project and to lend their expertise, +advice and mentoring to you! People who stay around the community and do +good work are noticed. They get hired for jobs from it, including being +hired by Red Hat. Past Google Summer of Code students were hired by Red +Hat, as well as interns in various positions. This is just an example, +as experience and reputation in the Fedora Project communities is +influential in your career in many ways. + +As a long-standing community with many facets, it is possible for you to +find many rewarding sub-projects to work on. + +You should know that contributing to FOSS doesn't require you to have +super programming skills, or super-anything else. You just need be +interested, curious, and willing to become comfortable being +productively lost. This is the state of learning. You learn by finding +your way around and figuring things out with the support of your mentor +and the community. + +[[student-responsibilities]] +==== Student Responsibilities + +You are the key ingredient for your project's success. This project is +important to you, your mentor, and the entire Fedora Community. + +Your responsibilities include: + +* Communicating early and often with your mentor. +* Blogging every week about what you're learning, how you're doing, +challenges and successes. This is key way to keep the entire Fedora +Community informed. +* Working with your mentor on realistic achievable milestones that +provide for regular deliverables and feedback. +* Attending a brief monthly student call +* Being accountable for your success and your actions + +[[student-application]] +==== Student Application + +Please read and follow the +link:application_process.html[student application process]. + +[[mentors]] +=== Mentors + +Want to help the next generation of contributors grow? Want to bring new +contributors to Fedora? Want to advance your projects along their +roadmap? GSoC can be a chance to do all of this. + +The contributors of the Fedora Project can propose ideas and mentor +them. Please feel free to check following links and please add your +ideas to the main idea page. Furthermore, if you are not interested in +proposing an idea but still want to support the program, please check +the students' idea page and pick one as per your interest. Lastly, +consider becoming a Supporting Mentor and helping students across +projects. + +1. link:http://write.flossmanuals.net/gsoc-mentoring/what-makes-a-good-mentor[Manual +on Mentoring] +2. link:ideas.html[Main Idea Page and Supporting +Mentor List] + +[[how-to-work-with-students]] +==== How to work with students + +* One way is to provide an idea for students to work on. This idea might +be very well planned out, in which case you may need a high-level of +contact with the student to get it implemented correctly. Other ideas +may be more general and require more planning during onboarding. + +* It is harder to find success when you are completely certain of how an +idea needs to be implemented; finding a student with the skills and +interest to implement a specific solution is a lot harder than finding a +student with enough skills to respond to a use case need. Also, students +learn more when they help design and guide the project. In other words, +provide guidance and direction but let the student do some of the +"driving." + +* Where you can have looser ideas, you may be able to find a student who +works as a sort-of intern who can implement a solution to a use case you +have. In past experiences, students going after a use case are more +likely to get somewhere with self-direction and support from you. + +* You may also want to work with a student who brings an idea to your +sub-project. This requires a different level of communication throughout +the project, but can be the most rewarding. + +[[mentor-responsibilities]] +==== Mentor responsibilities + +You are an essential part of the student's success, the project's +success, and the success for the Fedora Project. + +Your responsibilities include: + +* Being an interface for an identified sub-project or SIG in Fedora. +* Helping students communicate with the overall project and any +upstream. +* Helping the student plan realistic achievable milestones that provide +for regular deliverables and feedback. +* Regular communication with your student. This means you must be +regularly available for the entire project. If you take a holiday you +need to know early and help your student be ready for your brief +absence. +* Attend a brief monthly mentors call. +* Be the final, accountable person for deciding if the student is +successful or not. This is responsibility akin to being a professor or +boss. + +[[list-of-mentors]] +==== List of Mentors + +Mentors are listed on the link:ideas.html[Main Idea Page and Supporting Mentor List] + +[[communication]] +=== Communication + +* *Mailing List (GSoC-related) :* link:https://lists.fedoraproject.org/admin/lists/summer-coding@lists.fedoraproject.org/[summer-coding@lists.fedoraproject.org] +* *Mailing List (Technical) :* link:https://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org/[devel@lists.fedoraproject.org] +* *IRC :* link:https://webchat.freenode.net/?channels=#fedora-summer-coding[#fedora-summer-coding] or link:https://webchat.freenode.net/?channels=#fedora-devel[#fedora-devel] on Freenode + + + +[[timeline-abbreviated]] +=== Timeline (Abbreviated) + +* Reference: +https://developers.google.com/open-source/gsoc/timeline[Full Timeline] + +* *10 October, 2016*: Program announced. +* *19 January, 2017: 16:00 UTC* Mentoring organizations can begin +submitting applications to Google. +* *09 February: 16:00 UTC* Mentoring organization application deadline. +* *10 - 26 February*: Google program administrators review organization +applications. +* *27 February 16:00 UTC* List of accepted mentoring organizations +published on the Google Summer of Code site. + +Interim Period: Would-be students discuss project ideas with potential +mentoring organizations. + +* *20 March: 16:00 UTC* Student application period opens. +* *03 April: 16:00 UTC* Student application deadline. + +Interim Period: Slot allocation trades happen among organizations. +Mentoring organizations review and rank student proposals; where +necessary, mentoring organizations may request further proposal detail +from the student applicant. + +* *04 May: 16:00 UTC* Accepted student proposals announced. + +http://googlesummerofcode.blogspot.cz/2007/04/so-what-is-this-community-bonding-all.html[Community +Bonding Period] - Students get to know mentors, read documentation, get +up to speed to begin working on their projects. + +* *30 May*: Students begin coding for their Google Summer of Code +projects; Google begins issuing initial student payments provided tax +forms are on file and students are in good standing with their +communities. + +Work Period: Mentors give students a helping hand and guidance on their +projects. + +* *26 June: 16:00 UTC* Mentors and students can begin submitting Phase 1 +evaluations. +* *30 June: 16:00 UTC* Phase 1 evaluations deadline; Google begins +issuing mid-term student payments provided passing student survey is on +file. + +Work Period: Mentors give students a helping hand and guidance on their +projects. + +* *28 July: 16:00 UTC* Phase 2 evaluations deadline. +* *21 to 29 August: 16:00 UTC*: Final week: Students tidy code, write +tests, improve documentation and submit their code sample. Students also +submit their final mentor evaluation. +* *29 August*: Mentors can start submitting final student evaluations. +* *05 September: 16:00 UTC*: Final evaluation deadline +* *06 September*: Final results of Google Summer of Code 2017 announced +* *Late October*: Mentor Summit at Google. Mentors and Organization +Administrators from each participating organization are invited to +Google for an unconference to collaborate on ideas to make the program +better and to make new friends too! + +[[ideas-page]] +=== Ideas Page + +* *Status :* Open for Ideas + +* *Link :* link:ideas.html[Summer coding ideas for +2017] + +[[links]] +=== Links + +1. link:https://docs.fedoraproject.org/fedora-project/project/fedora-overview.html[The Four Foundations of Fedora] +2. link:https://developers.google.com/open-source/gsoc/resources/[Official +GSoC Resources] +3. link:http://docs.fedoraproject.org/en-US/index.html[Fedora Documentation] +4. link:https://fedoraproject.org/wiki/Communicate/IRCHowTo[IRC] +5. link:https://fedoraproject.org/wiki/Development[Development] + +[[administration]] +=== Administration + +In order to get questions answered or obtain more information related to +this year's GSoC with Fedora, please contact the administrators directly +(please consider CCing the summer-coding list where ever possible). + +1. link:https://fedoraproject.org/wiki/User:Bex[Brian (bex) Exelbierd] (Primary) +2. link:https://fedoraproject.org/wiki/User:Spot[Tom Calloway] (Secondary) + +