From 18b36126d488c408914a76520d1278cf93fbb063 Mon Sep 17 00:00:00 2001 From: Brian (bex) Exelbierd Date: Jul 28 2018 14:29:59 +0000 Subject: fix nesting for gsoc --- diff --git a/antora.yml b/antora.yml index cb8cf3e..718bf87 100644 --- a/antora.yml +++ b/antora.yml @@ -1,6 +1,6 @@ name: mentored-projects title: Mentored Projects version: master -start_page: ROOT:2018/index +start_page: ROOT:gsoc/2018/index nav: - modules/ROOT/nav.adoc diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index e3ee00d..a013fdf 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -1,44 +1,44 @@ * 2018 -** xref:2018/index.adoc[Information] -** xref:2018/ideas.adoc[Ideas] -** xref:2018/application.adoc[Application Process] +** xref:gsoc/2018/index.adoc[Information] +** xref:gsoc/2018/ideas.adoc[Ideas] +** xref:gsoc/2018/application.adoc[Application Process] * 2017 -** xref:2017/index.adoc[Information] -** xref:2017/ideas.adoc[Ideas] -** xref:2017/application_process.adoc[Application Process] +** xref:gsoc/2017/index.adoc[Information] +** xref:gsoc/2017/ideas.adoc[Ideas] +** xref:gsoc/2017/application_process.adoc[Application Process] * 2016 -** xref:2016/index.adoc[Information] -** xref:2016/ideas.adoc[Ideas] -** xref:2016/student_application_process.adoc[Application Process] +** xref:gsoc/2016/index.adoc[Information] +** xref:gsoc/2016/ideas.adoc[Ideas] +** xref:gsoc/2016/student_application_process.adoc[Application Process] * 2015 -** xref:2015/index.adoc[Information] -** xref:2015/ideas.adoc[Ideas] -** xref:2015/student_application_process.adoc[Application Process] +** xref:gsoc/2015/index.adoc[Information] +** xref:gsoc/2015/ideas.adoc[Ideas] +** xref:gsoc/2015/student_application_process.adoc[Application Process] * 2014 -** xref:2014/index.adoc[Information] -** xref:2014/ideas.adoc[Ideas] -** xref:2014/student_application_process.adoc[Application Process] +** xref:gsoc/2014/index.adoc[Information] +** xref:gsoc/2014/ideas.adoc[Ideas] +** xref:gsoc/2014/student_application_process.adoc[Application Process] * 2013 -** xref:2013/index.adoc[Information] -** xref:2013/ideas.adoc[Ideas] -** xref:2013/student_application_process.adoc[Application Process] +** xref:gsoc/2013/index.adoc[Information] +** xref:gsoc/2013/ideas.adoc[Ideas] +** xref:gsoc/2013/student_application_process.adoc[Application Process] * 2012 -** xref:2012/index.adoc[Information] -** xref:2012/ideas.adoc[Ideas] -** xref:2012/student_application_template.adoc[Application Template] +** xref:gsoc/2012/index.adoc[Information] +** xref:gsoc/2012/ideas.adoc[Ideas] +** xref:gsoc/2012/student_application_template.adoc[Application Template] * 2011 -** xref:2011/ideas.adoc[Ideas] +** xref:gsoc/2011/ideas.adoc[Ideas] * 2010 -** xref:2010/index.adoc[Information] -** xref:2010/ideas.adoc[Ideas] -** xref:2010/schedule.adoc[Schedule] +** xref:gsoc/2010/index.adoc[Information] +** xref:gsoc/2010/ideas.adoc[Ideas] +** xref:gsoc/2010/schedule.adoc[Schedule] * 2009 -** xref:2009/ideas.adoc[Ideas] +** xref:gsoc/2009/ideas.adoc[Ideas] * 2008 -** xref:2008/ideas.adoc[Ideas] +** xref:gsoc/2008/ideas.adoc[Ideas] * 2007 -** xref:2008/index.adoc[Information] +** xref:gsoc/2008/index.adoc[Information] * 2006 -** xref:2006/index.adoc[Information] +** xref:gsoc/2006/index.adoc[Information] * 2005 -** xref:2005/index.adoc[Information] +** xref:gsoc/2005/index.adoc[Information] diff --git a/modules/ROOT/pages/2005/index.adoc b/modules/ROOT/pages/2005/index.adoc deleted file mode 100644 index 1656966..0000000 --- a/modules/ROOT/pages/2005/index.adoc +++ /dev/null @@ -1,52 +0,0 @@ -= 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/modules/ROOT/pages/2006/index.adoc b/modules/ROOT/pages/2006/index.adoc deleted file mode 100644 index abe711f..0000000 --- a/modules/ROOT/pages/2006/index.adoc +++ /dev/null @@ -1,31 +0,0 @@ -= 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/modules/ROOT/pages/2007/index.adoc b/modules/ROOT/pages/2007/index.adoc deleted file mode 100644 index e1a28f3..0000000 --- a/modules/ROOT/pages/2007/index.adoc +++ /dev/null @@ -1,47 +0,0 @@ -[[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/modules/ROOT/pages/2008/ideas.adoc b/modules/ROOT/pages/2008/ideas.adoc deleted file mode 100644 index b80f9a9..0000000 --- a/modules/ROOT/pages/2008/ideas.adoc +++ /dev/null @@ -1,904 +0,0 @@ -[[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/modules/ROOT/pages/2009/ideas.adoc b/modules/ROOT/pages/2009/ideas.adoc deleted file mode 100644 index 8daeb16..0000000 --- a/modules/ROOT/pages/2009/ideas.adoc +++ /dev/null @@ -1,361 +0,0 @@ -= 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/modules/ROOT/pages/2010/ideas.adoc b/modules/ROOT/pages/2010/ideas.adoc deleted file mode 100644 index c819b9b..0000000 --- a/modules/ROOT/pages/2010/ideas.adoc +++ /dev/null @@ -1,794 +0,0 @@ -= 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/modules/ROOT/pages/2010/index.adoc b/modules/ROOT/pages/2010/index.adoc deleted file mode 100644 index 8ca831a..0000000 --- a/modules/ROOT/pages/2010/index.adoc +++ /dev/null @@ -1,463 +0,0 @@ -= 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/modules/ROOT/pages/2010/schedule.adoc b/modules/ROOT/pages/2010/schedule.adoc deleted file mode 100644 index 6737e3b..0000000 --- a/modules/ROOT/pages/2010/schedule.adoc +++ /dev/null @@ -1,70 +0,0 @@ -= 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/modules/ROOT/pages/2011/ideas.adoc b/modules/ROOT/pages/2011/ideas.adoc deleted file mode 100644 index 329480b..0000000 --- a/modules/ROOT/pages/2011/ideas.adoc +++ /dev/null @@ -1,564 +0,0 @@ -= 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/modules/ROOT/pages/2012/ideas.adoc b/modules/ROOT/pages/2012/ideas.adoc deleted file mode 100644 index 896656b..0000000 --- a/modules/ROOT/pages/2012/ideas.adoc +++ /dev/null @@ -1,962 +0,0 @@ -= 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/modules/ROOT/pages/2012/index.adoc b/modules/ROOT/pages/2012/index.adoc deleted file mode 100644 index 5975a8b..0000000 --- a/modules/ROOT/pages/2012/index.adoc +++ /dev/null @@ -1,261 +0,0 @@ -= 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/modules/ROOT/pages/2012/student_application_template.adoc b/modules/ROOT/pages/2012/student_application_template.adoc deleted file mode 100644 index 4d0ff46..0000000 --- a/modules/ROOT/pages/2012/student_application_template.adoc +++ /dev/null @@ -1,47 +0,0 @@ -= 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/modules/ROOT/pages/2013/ideas.adoc b/modules/ROOT/pages/2013/ideas.adoc deleted file mode 100644 index 1fe1134..0000000 --- a/modules/ROOT/pages/2013/ideas.adoc +++ /dev/null @@ -1,926 +0,0 @@ -= 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/modules/ROOT/pages/2013/index.adoc b/modules/ROOT/pages/2013/index.adoc deleted file mode 100644 index 3b69d4f..0000000 --- a/modules/ROOT/pages/2013/index.adoc +++ /dev/null @@ -1,247 +0,0 @@ -= 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/modules/ROOT/pages/2013/student_application_process.adoc b/modules/ROOT/pages/2013/student_application_process.adoc deleted file mode 100644 index ed94ea1..0000000 --- a/modules/ROOT/pages/2013/student_application_process.adoc +++ /dev/null @@ -1,108 +0,0 @@ -= 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/modules/ROOT/pages/2014/ideas.adoc b/modules/ROOT/pages/2014/ideas.adoc deleted file mode 100644 index 9243938..0000000 --- a/modules/ROOT/pages/2014/ideas.adoc +++ /dev/null @@ -1,1123 +0,0 @@ -= 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/modules/ROOT/pages/2014/index.adoc b/modules/ROOT/pages/2014/index.adoc deleted file mode 100644 index c04a513..0000000 --- a/modules/ROOT/pages/2014/index.adoc +++ /dev/null @@ -1,267 +0,0 @@ -= 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/modules/ROOT/pages/2014/student_application_process.adoc b/modules/ROOT/pages/2014/student_application_process.adoc deleted file mode 100644 index 0d33927..0000000 --- a/modules/ROOT/pages/2014/student_application_process.adoc +++ /dev/null @@ -1,118 +0,0 @@ -= 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/modules/ROOT/pages/2015/ideas.adoc b/modules/ROOT/pages/2015/ideas.adoc deleted file mode 100644 index 3cdaae3..0000000 --- a/modules/ROOT/pages/2015/ideas.adoc +++ /dev/null @@ -1,736 +0,0 @@ -= 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/modules/ROOT/pages/2015/index.adoc b/modules/ROOT/pages/2015/index.adoc deleted file mode 100644 index a91c51a..0000000 --- a/modules/ROOT/pages/2015/index.adoc +++ /dev/null @@ -1,290 +0,0 @@ -= 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/modules/ROOT/pages/2015/student_application_process.adoc b/modules/ROOT/pages/2015/student_application_process.adoc deleted file mode 100644 index f9da73b..0000000 --- a/modules/ROOT/pages/2015/student_application_process.adoc +++ /dev/null @@ -1,64 +0,0 @@ -.... -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/modules/ROOT/pages/2016/ideas.adoc b/modules/ROOT/pages/2016/ideas.adoc deleted file mode 100644 index e9f2a8b..0000000 --- a/modules/ROOT/pages/2016/ideas.adoc +++ /dev/null @@ -1,1089 +0,0 @@ -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/modules/ROOT/pages/2016/index.adoc b/modules/ROOT/pages/2016/index.adoc deleted file mode 100644 index fa1fc9a..0000000 --- a/modules/ROOT/pages/2016/index.adoc +++ /dev/null @@ -1,240 +0,0 @@ -= 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/modules/ROOT/pages/2016/student_application_process.adoc b/modules/ROOT/pages/2016/student_application_process.adoc deleted file mode 100644 index f9da73b..0000000 --- a/modules/ROOT/pages/2016/student_application_process.adoc +++ /dev/null @@ -1,64 +0,0 @@ -.... -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/modules/ROOT/pages/2017/application_process.adoc b/modules/ROOT/pages/2017/application_process.adoc deleted file mode 100644 index 67d9d1d..0000000 --- a/modules/ROOT/pages/2017/application_process.adoc +++ /dev/null @@ -1,195 +0,0 @@ -.... -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/modules/ROOT/pages/2017/ideas.adoc b/modules/ROOT/pages/2017/ideas.adoc deleted file mode 100644 index 5266727..0000000 --- a/modules/ROOT/pages/2017/ideas.adoc +++ /dev/null @@ -1,517 +0,0 @@ -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/modules/ROOT/pages/2017/index.adoc b/modules/ROOT/pages/2017/index.adoc deleted file mode 100644 index c68fa0f..0000000 --- a/modules/ROOT/pages/2017/index.adoc +++ /dev/null @@ -1,282 +0,0 @@ -[[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) - - diff --git a/modules/ROOT/pages/2018/application.adoc b/modules/ROOT/pages/2018/application.adoc deleted file mode 100644 index 15ef755..0000000 --- a/modules/ROOT/pages/2018/application.adoc +++ /dev/null @@ -1,137 +0,0 @@ -= Google Summer of Code Application Process - -Interested in applying for Google Summer of Code with Fedora? Here is -how you do that! - -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. Late applications cannot be accepted. - -== Important - -* Timelines are set by Google for the entire program. Follow the timeline. -* Applications are due in Google's system by March 27, 2018 18:00 -(CEST). -* Applications Must be filed in the Google system. No other -material can be read or accepted. -* The final application is required to be submitted as a PDF. - -== Student Application Process - -=== Learn - -Before you do anything, learn about the program and Fedora. These links -may be helpful: - -* https://summerofcode.withgoogle.com/[GSoC official site] -* link:index.html[Information about Fedora's Participation in GSoC] - -=== 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. - -* https://lists.fedoraproject.org/admin/lists/summer-coding.lists.fedoraproject.org[the -summer-coding list] -* 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 - -The application process consists of 5 steps: - -1. Create a FAS account https://admin.fedoraproject.org/accounts[FAS Account Signup / Login Page] -1. Join the fedora-summer-coding mailing list https://lists.fedoraproject.org/admin/lists/summer-coding.lists.fedoraproject.org[Fedora Summer Coding Mailing List] - This list is fairly low volume. -1. Join the devel mailing list 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. -1. Sign the FPCA by following the directions https://fedoraproject.org/wiki/Account_System/CompleteFPCA[here] -1. Submit the application/proposal including all requirements in the next section at the https://summerofcode.withgoogle.com/get-started/[Google Summer of Code Site]. We strongly encourage you to not submit your final PDF until you get feedback about the proposal from your mentor(s). - -Help is available! Share your application in progress and get feedback. The mentors can help verify your understanding of the project and provide guidance on whether your plan is good. - -If you are submitting an original proposal you must find a mentor. -Proposals without mentors will be rejected. Sharing your proposal is -key to doing this. If you don't want to share your proposal publicly -consider using something like a Google Doc and sharing a link with the -mentor/reviewers. You can also share the link via a private ticket in -our link:https://pagure.io/mentored-projects/issues[Pagure Repository]. -While we would normally not suggest a close-sourced tool such as Google -Docs, in this case it is potentially easier for you because you a) -must have a Google account to be able to apply to the program; and b) -must generate a PDF for your application. - -==== Google Summer of Code Application and Supplemental Material Requirements - -In addition to the information Google requests, the Fedora Project -requires you to submit the following information: - -* What project are you applying to? Seriously consider choosing a -project for proposal from link:ideas.html[ideas list]. 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. - -* 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. - -[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. --- - -=== 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. diff --git a/modules/ROOT/pages/2018/ideas.adoc b/modules/ROOT/pages/2018/ideas.adoc deleted file mode 100644 index df786e3..0000000 --- a/modules/ROOT/pages/2018/ideas.adoc +++ /dev/null @@ -1,372 +0,0 @@ -= Google Summer of Code 2018 Mentors and Ideas - -NOTE: Fedora has been accepted as a mentoring organization! Please make sure you carefully read through the link:index.html[general information] and link:application.html[application process] pages before applying. - -If you are a student looking forward to participating in -link:index.html[Google Summer of Code with Fedora], please feel free to -browse this idea list. There may be additional ideas added during the -application period. - -**Now please go read the link:index.html#what-can-i-do-today[What -Can I do Today] section of the main page. This has the answers to your -questions and tells you how to apply** - -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. - -== Supporting Mentors - -The following contributors are available to provide general help and -support for the GSoC program If a specific project mentor is busy, you -can contact one of the people below for short-term help on your project -or task. -add yourselves and your wiki page). - -* 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:Skamath[Sachin S. Kamath] (Python Dev, General Linux, Fedora community, -Metrics, GSoC alumnus, Help with program) -* link:https://fedoraproject.org/wiki/User:Mbriza[Martin Bříza] - -== Idea list - -NOTE: Ideas are subject to change as additional mentors are onboarded. - -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* Improve GPIO support in Fedora in general and particularly on the Raspberry Pi - This project is no longer available - -''' - -=== Improve Fedora Android App - UI/UX Research and Design - -- Difficulty : Intermediate -- Technology : XML, UX, Inkscape, Android, Layouts, HTML, CSS, Cordova, Angular, Javascript, Ionic. -- Mentor : https://fedoraproject.org/wiki/User:A2batic[Kanika Murarka], https://fedoraproject.org/wiki/User:Sumantrom[Sumantro Mukherjee] - - -==== Description - -Fedora has an android app which lets a user to browse magazine, Fedora Ask, browse the calendar etc within it. However. it is still very primitive and requires a lot of UI/UX love. As a GSoC intern, you will be responsible for the following : - -- Engage in community discussion and do community research -- Build initial mockups and gather community feedback. -- Finalize design and start making them functional -- Write Javascipt(Angular), integrate with Android application -- Follow UX/UI standards to build the best possible experience for Android. - -Repo : https://pagure.io/Fedora-app - -==== Deliverables - -- A prototype of the UI/UX for communuity review. -- Integrate the prototype with the existing application -- Responsive, cross screen compatible UI design (Scaling) -- Work with the backend GSoC intern to bring together a better app! - -''' - -=== Improve Fedora Android App - Backend - -- Difficulty : Intermediate - Expert -- Technology : Javascript, Android, Experience with REST APIs, Android Studio. -- Mentors: https://fedoraproject.org/wiki/User:A2batic[Kanika Murarka], https://fedoraproject.org/wiki/User:Sumantrom[Sumantro Mukherjee] - -==== Description - -Fedora has an android app which lets a user to browse Fedora Magazine, Fedora Ask, Fedocal etc within it. However, most of the functions rely on an in-app browser to render content and requires speed optimization and native integration. As a Summer of Code intern, you will be responsible for the following : - -- Research on the best possible way to improve performance and report to mentor -- Write Javascript code to parse various Fedora APIs -- Integrate in Android app. -- Work with the UX intern and collaborate over the design and layouts. -- Publish app (Play Store, F-droid, etc and maintain releases) - -Repo : https://pagure.io/Fedora-app - -=== Deliverables - -- Replace web views and build a more native Android experience like immersive mode, etc. -- Fully functional Android app -- Releases in Play Store and F-droid. -- Notifications for new posts, calendar events, etc on an opt-in basis. - -''' - -=== Metrics : fedmsg plugin for perceval - -- Difficulty : Intermediate - Expert -- Technology : Python, More Python, Understanding of data processing, Python libraries -- Mentors : https://fedoraproject.org/wiki/User:Skamath[Sachin S. Kamath (skamath)], https://fedoraproject.org/wiki/User:Jflory7[Justin W. Flory (jwf)] - - -==== Description - -During the course of the project, you will be closely working with the Fedora Community Operations (CommOps) Team to build a metrics dashboard for the community. For building the dashboard, we will be using Grimoirelab suite of tools to build the backend as well as the frontend. - -https://github.com/grimoirelab/perceval[Perceval] is a tool that collects data from a given data source and has a lot of pre-defined plugins. The aim of this project is to add fedmsg support to it so that metrics can be pulled out of it, suitable for the Fedora community. - -==== Final Deliverables - -Primary Objectives: - -- A working fedmsg consumer -- A plugin for perceval to pull metrics from fedmsg directly -- Documentation for the plugin - -Secondary Objectives: -- Additional plugins to support Wordpress, Twitter and other data sources - -''' - -=== Pagure: A git based source repository - -- Difficulty: Intermediate -- Technology: Python, git, pygit2 -- Mentors: https://fedoraproject.org/wiki/User:Pingou[pingou] - -NOTE: Applicants interested in Pagure *must* contribute by solving https://pagure.io/pagure/issues?status=Open&tags=easyfix[easy fix issues] before the end of the application period. - -https://pagure.io/[Pagure] is a git-centered forge, python based using https://github.com/libgit2/pygit2[pygit2]. - -With pagure you can host your project with its documentation, let your users report issues or request enhancements using the ticketing system and build yourcommunity of contributors by allowing them to fork your projects and contributeto it via the now-popular pull-request mechanism. - -- Repo: https://pagure.io/pagure -- Issues: https://pagure.io/pagure/issues - -Projects in Pagure will be selected by the student in concert with the mentor. They will be drawn from the non-easyfix issues in the issue queue. Students are expected to guide the mentor in helping them select areas of interest. - -''' - -=== ASP.NET Core web application for /r/Fedora subreddit and Discord. - -- Difficulty: Intermediate (some Object Oriented language experience required, not necessarily C#) -- Technology: http://fedoraloves.net[C# - .NET Core on Fedora] & https://ipsilon-project.org/[ipsilon] -- Mentors: https://fedoraproject.org/wiki/User:Rhea[Radka Janeková (rhea)] - -==== Description - -ASP.NET Core web application for our /r/Fedora subreddit to let the user choose a flair, based on their FAS (Fedora Account System) Group memberships, and to be able to verify Discord account with FAS as contributor with CLA+1. These will be 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 in Linux and what IDEs are available to you. -- Basic systemd unitfile structure and working with services. - -==== Deliverables - -- Create an ASP.NET Core application with Reddit and Discord integrations. -- Deploy it on our Fedora production server as a systemd service -- Configure secure Apache proxy - -''' - -=== Fedora Packets: Fedora Happiness Packets - - -* Difficulty: Intermediate - Expert -* Technology: Python, HTML/CSS/JS, knowledge of http://www.fedmsg.com/en/stable/[fedmsg] optional: Cloud / Ansible, UI UX skills graphic design -* Mentors: -** https://fedoraproject.org/wiki/User:Jonatoni[Jona Azizaj (jonatoni)] -** https://fedoraproject.org/wiki/User:Bee2502[Bee Padalkar (bee2502)] (tentative) -** https://fedoraproject.org/wiki/User:X3mboy[Eduard Lucena (x3mboy)] -** https://fedoraproject.org/wiki/User:Bt0dotninja[Alberto Rodríguez (bt0dotninja)] -** Project is open for mentors (commitment 6-8 hrs/week) - -==== Summary - -Add Fedora user account authentication and http://www.fedmsg.com/en/stable/[fedmsg] integration to Happiness Packets to deploy in Fedora's infrastructure - -==== Background - -https://www.happinesspackets.io/[Happiness Packets] is a web application to send positive feedback and thank-you notes to open source contributors. You can send a note with your name or anonymously. The Fedora community plans to have a Fedora Appreciation Week in 2018, where contributors thank each other and celebrate our accomplishments together. Fedora wants to extend Happiness Packets by giving a https://badges.fedoraproject.org/about[Fedora Badge] to anyone who sends a Happiness Packet to another contributor. To do this, we need to fork Happiness Packets and add support for Fedora's authentication system and add a http://www.fedmsg.com/en/stable/publishing/[fedmsg hook]. This lets Fedora contributors log in and receive a badge when they send a Happiness Packet. - -==== Details - -The project is split into primary deliverables (required) and secondary deliverables (optional). - -===== Primary deliverables - -* Add back-end support for https://ipsilon-project.org/[Ipsilon] authentication -** Push the application upstream -* Integrate http://www.fedmsg.com/en/stable/publishing/[fedmsg publishing] -* Create Fedora Badge rule file to automatically award badge - -===== Secondary deliverables - -* Add support for video messages -* Add support for emojis -* Explore major social media APIs (for example, Twitter, Facebook, Reddit) to allow sharing on social networks -** Twitter -** Facebook - -''' - -=== Atomic IoT (likely useful in numerous other Atomic ideas) host upgrade daemon - -- Skill level: medium -- Skills required: python3 ans/or C -- Mentor(s): Peter Robinson - -IoT devices need to be almost impossible to brick. When you upgrade a device if it doesn't work it needs to be able to automatically role back, or at the very least be able to contact the update service for a newer fixed version. - -A daemon to manage this state is required. The daemon would need to be able to do the following: - -* Monitor the status of available downloads -* Apply the Atomic update delta -* Set a "boot once" flag to boot the new version via grub -* Set a hardware watchdog -* initiate a reboot of the system -* If boot to normal userspace fails the watchdog triggers and it resets to the old version -* If boot succeeds to the point the daemon starts up it then proceeds to phase two of the upgrade process -* Unsets watchdog so the OS won't reset -* Checks it can see all required network interfaces -* Checks it can resolve addresses and contact the update server -* Check it's connected to all other critical services (eg MQTT or a HTTPS API -* Checks it can see and all sensors and services are running correctly - -There needs to be a means of specifying what components are critical to the successful operation of the device. Some components will be the same across all types of device such as the ability to check network interfaces are operating, to check an update service is available, to check services are available etc but some might be plugins eg to check GPIO is working, specific IIO sensors, cameras or other such things are seen as expected. - -- What are we looking for: -An initial daemon with basic functionality with good design that can be extended. Integration with atomic updates etc. - -''' - -=== Fedora Dockerfile linter leveraging Container Best Practices - - -- Skill level: Intermediate -- Skills required: Python, containers -- Mentor(s): Tomas Tomecek, Eliska Slobodova -- Contacts (IRC & email): ttomecek (ttomecek @redhat.com), eslobodo (eslobodo @redhat.com) - -==== Description - -Fedora infrastructure for container image delivery is lacking any kind of automated testing of the images or underlying Dockerfiles. https://github.com/projectatomic/container-best-practices[The Container Best Practices document] is a digest of recommended practices for writing and deploying images. - -==== Deliverables - -With Container Best Practices serving as a “cheatsheet”, you will create a tool to perform basic and advanced checks on Dockerfiles and images that can be applicable generally regardless of an image. In cooperation with the Fedora infrastructure team, you will deploy the tool in the container infrastructure so that the tests can be executed automatically upon a new build/commit or locally before the developer pushes the changes remotely. - - -''' - -=== Advanced test cases for images running in OpenShift using conu - - -- Skill level: Intermediate -- Skills required: Python, containers, OpenShift -- Mentor(s): Tomas Tomecek, Dominika Hodovska -- Contacts (IRC & email): ttomecek (ttomecek @redhat.com), dhodovsk (dhodovsk @redhat.com) - -==== Description -https://github.com/fedora-modularity/conu[Conu] is a library which provides Python API to interact with a selected container runtime. It simplifies writing of tests for container images. However, the project currently lacks support for OpenShift and Kubernetes. - -==== Deliverables - -- Your primary goal will be to deliver at least 10 new functions that will enable the users to write tests for OpenShift scenarios. -- Your secondary goal will be to write test for at least 5 images (eg mariadb, mysql, postgresql, golang, rust) using conu’s full capabilities. - - -''' - -=== Complete support for OpenShift and Kubernetes as a backend in conu - - -- Skill level: Intermediate - Expert -- Skills required: python, containers -- Mentor(s): Tomas Tomecek -- Contacts (IRC & email): ttomecek (ttomecek @redhat.com) - -==== Description - -https://github.com/fedora-modularity/conu/[conu] defines a generic API to interact with containers and container engines. To make the project more usable, we would like to add implementation of well known container orchestration systems — Kubernetes and OpenShift. - -==== Deliverables - -- Write a series of pull requests to add support for Kubernetes and OpenShift in conu project. -- The newly added functionality needs to have integration tests which can run inside CI environment and are passing. -- And finally, the feature should be demonstrated it works well by at least 3 real examples. - -''' - -=== Continuous Integration for Fedora Media Writer + Tests - -- Skill level: Intermediate -- Skills required: CI, C++, Qt -- Mentor(s): Martin Bříza -- Contacts (IRC & email): mbriza@freenode & m@rtinbriza.cz - -==== Description - -link:https://github.com/MartinBriza/MediaWriter[Fedora Media Writer] is a tool with two build platforms and three deployment platforms. It's quite challenging to check all the new added code for being able to build properly and as of now, there are no tests. - -Your task in this project would be to get a CI platform of your choice to work well with FMW on GitHub. The required environments are Fedora and macOS. Windows builds are done using the MinGW packages in Fedora and FMW can run using Wine - this should be sufficient for testing, however testing the MinGW builds under native Windows is a definite plus. - -Qt provides the QTest framework for testing the application - it's the preferred platform to write tests in this case, however using a bash or Python library is likely okay, too. However, once again, as QTest is easily attachable to the internal structures of FMW, it's strongly suggested. - -Bonus points are if you get automatic binary builds published in the Releases section for tags. - -==== Deliverables - -Working CI integration for macOS and Fedora-latest or Rawhide. A set of tests covering at least 5 closed bugs. - -''' - -=== ARM uBoot Support in Fedora Media Writer - -- Skill level: Intermediate - Expert -- Skills required: C++, Qt, ext4, bash/Python (?) -- Mentor(s): Martin Bříza -- Contacts (IRC & email): mbriza@freenode & m@rtinbriza.cz - -==== Description - -link:https://github.com/MartinBriza/MediaWriter[Fedora Media Writer] now supports writing ARM images to portable media. These cards can then boot on devices that support Fedora out of the box, like the Raspberry Pi. However, to support most other boards, one has to do some modifications to the image on the flash drive. The first of them is writing uBoot (open source bootloader) to the start of the drive. Then it's sometimes necessary to tweak some environment variables or modify a configuration file. - -These are the tasks that are possible to be automated. However, it's necessary to find a way how to do that in a clean fashion. As an example of an approach to this problem, you can take a look at the link:https://pagure.io/arm-image-installer/[arm-image-installer]. One option would be to cooperate with the ARM SIG to create a solution that uses their know-how or code directly. I have some ideas so please go ahead and talk to me. - -Remember, this is pretty trivial to do on Linux, however we need this functionality to work on Windows and macOS. This induces issues - especially with filesystem handling. For your project proposal, I expect you include a rough description of how you're planning to tackle this problem. - - -==== Deliverables - -A Fedora Media Writer build that's able to deliver a Fedora SD card that can boot on a currently unsupported ARM platform (for example, Cubieboard) on Linux, Windows and macOS. - -''' - -=== Open Ideas From Previous Years - -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.* - -* link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2017[2017] -* link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2016[2016] -* link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2015[2015] -* link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2014[2014] -* link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2013[2013] -* link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2012[2012] -* link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2011[2011] -* link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2010[2010] -* link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2009[2009] -* link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2008[2008] diff --git a/modules/ROOT/pages/2018/index.adoc b/modules/ROOT/pages/2018/index.adoc deleted file mode 100644 index 05a7506..0000000 --- a/modules/ROOT/pages/2018/index.adoc +++ /dev/null @@ -1,252 +0,0 @@ -[[google-summer-of-code-2017]] -= Google Summer of Code 2018 - -//// -IMPORTANT: Student applications are not open yet! -//// - -image::gsoc_logo.png[float="right"] - -This page contains information about Fedora's participation in Google -Summer of Code (GSoC). Please feel free to contact us via the mailing list below -for clarifications and more information. You can also use the IRC channel. - -[[what-can-i-do-today]] -== What can I do today? - -//// -Fedora is still in the process of applying to be a mentoring organization. -Today there is nothing we can do except wait until Google makes a -decision. - -Fedora has been accepted as a mentoring organization. Student -applications open on 12 March. -//// - -Today you should read through the link:ideas.html[ideas] and think about -our link:application.html[application process.] - -[[student-information]] -== Student Information - -Do you want to contribute to one of the world's leading innovative Linux -distributions? GSoC could be your chance. Please refer to the information -below. - -//// -NOTE: Student applications **are not yet open**. -//// - -* 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 -an "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. - -//// -* If you're interested in working on a mentor-submitted idea, read -the link:ideas.html[ideas page] and about 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 an "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. A list of potential mentors is also on the -link:ideas.html[ideas page]. -//// - - -* You may also wish to start working on the Fedora specific parts of -the application, see below for more information. Carefully review the -student responsibilities section. - -[[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. - -If you are new to the Fedora Project, the following material will help -you to get started. - -* link:https://docs.fedoraproject.org/fedora-project/project/fedora-overview.html[Fedora Project Overview] -* link:https://docs.fedoraproject.org[Fedora Technical and Community Documentation] -* link:https://fedoraproject.org/wiki/How_to_use_IRC[How to use IRC] -* link:https://fedoraproject.org/wiki/Development[Information about Development in Fedora] - -[[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 the brief student calls, as announced -* Being accountable for your success and your actions - -[[student-application]] -=== Student Application - -Please read and follow the -link:application.html[student application process]. - -[[mentor-information]] -== Mentor Information - -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. - -NOTE: If you are contacted directly by a student, we encourage you -to reply and include the mailing list and/or IRC channel to keep the -process transparent and to ensure the inquiry is able to be answered by -more people than just you. - -=== How to Propose a Project - -If you want to mentor a specific project, think carefully about several things: - -1. Do you have enough time to work on this with the student during the -entire project. You will be helping someone else when they get stuck. -You don't want to become a blocker because you're busy. - -2. 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." - -3. 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. - -4. Who can help you? Try to find a second mentor for the project. - -If you're interested in working with a student on -a specific project you should post your idea to the -https://pagure.io/mentored-projects/issues[Mentored Projects Issue -Tracker]. Your issue should be tagged *GSoC* and use the *Google Summer -of Code* template. We strongly encourage you to find a second person -to help with mentoring and to solicit feedback on your proposal - -=== Can I be a Mentor Without a Project? - -Yes! You can either: - -* 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. - -* Be a general mentor. This is a person who works with all students -regardless of their project. To become a general mentor please open -an issue in the https://pagure.io/mentored-projects/issues[Mentored -Projects Issue Tracker] offering your help. Please tag the issue with -the *GSoC* tag. - -[[how-to-work-with-students]] -=== How to work with students - -* Read about good mentoring in the -link:http://write.flossmanuals.net/gsoc-mentoring/what-makes-a-good-mentor[Manual -on Mentoring] - -[[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. -* Attending a brief mentors call, as scheduled. -* Be the final, accountable person for deciding if the student is -successful or not. This is responsibility akin to being a professor or -boss. - -[[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]] -== Timeline - -Always refer to the -link:https://summerofcode.withgoogle.com/how-it-works/#timeline[Official -Google Summer of Code Timeline] for details. - -[[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:Mbriza[Martin Bříza] (Secondary) diff --git a/modules/ROOT/pages/gsoc/2005/index.adoc b/modules/ROOT/pages/gsoc/2005/index.adoc new file mode 100644 index 0000000..1656966 --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2006/index.adoc b/modules/ROOT/pages/gsoc/2006/index.adoc new file mode 100644 index 0000000..abe711f --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2007/index.adoc b/modules/ROOT/pages/gsoc/2007/index.adoc new file mode 100644 index 0000000..e1a28f3 --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2008/ideas.adoc b/modules/ROOT/pages/gsoc/2008/ideas.adoc new file mode 100644 index 0000000..b80f9a9 --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2009/ideas.adoc b/modules/ROOT/pages/gsoc/2009/ideas.adoc new file mode 100644 index 0000000..8daeb16 --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2010/ideas.adoc b/modules/ROOT/pages/gsoc/2010/ideas.adoc new file mode 100644 index 0000000..c819b9b --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2010/index.adoc b/modules/ROOT/pages/gsoc/2010/index.adoc new file mode 100644 index 0000000..8ca831a --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2010/schedule.adoc b/modules/ROOT/pages/gsoc/2010/schedule.adoc new file mode 100644 index 0000000..6737e3b --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2011/ideas.adoc b/modules/ROOT/pages/gsoc/2011/ideas.adoc new file mode 100644 index 0000000..329480b --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2012/ideas.adoc b/modules/ROOT/pages/gsoc/2012/ideas.adoc new file mode 100644 index 0000000..896656b --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2012/index.adoc b/modules/ROOT/pages/gsoc/2012/index.adoc new file mode 100644 index 0000000..5975a8b --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2012/student_application_template.adoc b/modules/ROOT/pages/gsoc/2012/student_application_template.adoc new file mode 100644 index 0000000..4d0ff46 --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2013/ideas.adoc b/modules/ROOT/pages/gsoc/2013/ideas.adoc new file mode 100644 index 0000000..1fe1134 --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2013/index.adoc b/modules/ROOT/pages/gsoc/2013/index.adoc new file mode 100644 index 0000000..cc8c438 --- /dev/null +++ b/modules/ROOT/pages/gsoc/2013/index.adoc @@ -0,0 +1,247 @@ += Google Summer of Code 2013 + +image::Gsoc-2013-logo.png.jpg[] + +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/modules/ROOT/pages/gsoc/2013/student_application_process.adoc b/modules/ROOT/pages/gsoc/2013/student_application_process.adoc new file mode 100644 index 0000000..ed94ea1 --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2014/ideas.adoc b/modules/ROOT/pages/gsoc/2014/ideas.adoc new file mode 100644 index 0000000..9243938 --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2014/index.adoc b/modules/ROOT/pages/gsoc/2014/index.adoc new file mode 100644 index 0000000..c04a513 --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2014/student_application_process.adoc b/modules/ROOT/pages/gsoc/2014/student_application_process.adoc new file mode 100644 index 0000000..0d33927 --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2015/ideas.adoc b/modules/ROOT/pages/gsoc/2015/ideas.adoc new file mode 100644 index 0000000..3cdaae3 --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2015/index.adoc b/modules/ROOT/pages/gsoc/2015/index.adoc new file mode 100644 index 0000000..a91c51a --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2015/student_application_process.adoc b/modules/ROOT/pages/gsoc/2015/student_application_process.adoc new file mode 100644 index 0000000..f9da73b --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2016/ideas.adoc b/modules/ROOT/pages/gsoc/2016/ideas.adoc new file mode 100644 index 0000000..e9f2a8b --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2016/index.adoc b/modules/ROOT/pages/gsoc/2016/index.adoc new file mode 100644 index 0000000..fa1fc9a --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2016/student_application_process.adoc b/modules/ROOT/pages/gsoc/2016/student_application_process.adoc new file mode 100644 index 0000000..f9da73b --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2017/application_process.adoc b/modules/ROOT/pages/gsoc/2017/application_process.adoc new file mode 100644 index 0000000..67d9d1d --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2017/ideas.adoc b/modules/ROOT/pages/gsoc/2017/ideas.adoc new file mode 100644 index 0000000..5266727 --- /dev/null +++ b/modules/ROOT/pages/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/modules/ROOT/pages/gsoc/2017/index.adoc b/modules/ROOT/pages/gsoc/2017/index.adoc new file mode 100644 index 0000000..c68fa0f --- /dev/null +++ b/modules/ROOT/pages/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) + + diff --git a/modules/ROOT/pages/gsoc/2018/application.adoc b/modules/ROOT/pages/gsoc/2018/application.adoc new file mode 100644 index 0000000..15ef755 --- /dev/null +++ b/modules/ROOT/pages/gsoc/2018/application.adoc @@ -0,0 +1,137 @@ += Google Summer of Code Application Process + +Interested in applying for Google Summer of Code with Fedora? Here is +how you do that! + +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. Late applications cannot be accepted. + +== Important + +* Timelines are set by Google for the entire program. Follow the timeline. +* Applications are due in Google's system by March 27, 2018 18:00 +(CEST). +* Applications Must be filed in the Google system. No other +material can be read or accepted. +* The final application is required to be submitted as a PDF. + +== Student Application Process + +=== Learn + +Before you do anything, learn about the program and Fedora. These links +may be helpful: + +* https://summerofcode.withgoogle.com/[GSoC official site] +* link:index.html[Information about Fedora's Participation in GSoC] + +=== 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. + +* https://lists.fedoraproject.org/admin/lists/summer-coding.lists.fedoraproject.org[the +summer-coding list] +* 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 + +The application process consists of 5 steps: + +1. Create a FAS account https://admin.fedoraproject.org/accounts[FAS Account Signup / Login Page] +1. Join the fedora-summer-coding mailing list https://lists.fedoraproject.org/admin/lists/summer-coding.lists.fedoraproject.org[Fedora Summer Coding Mailing List] - This list is fairly low volume. +1. Join the devel mailing list 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. +1. Sign the FPCA by following the directions https://fedoraproject.org/wiki/Account_System/CompleteFPCA[here] +1. Submit the application/proposal including all requirements in the next section at the https://summerofcode.withgoogle.com/get-started/[Google Summer of Code Site]. We strongly encourage you to not submit your final PDF until you get feedback about the proposal from your mentor(s). + +Help is available! Share your application in progress and get feedback. The mentors can help verify your understanding of the project and provide guidance on whether your plan is good. + +If you are submitting an original proposal you must find a mentor. +Proposals without mentors will be rejected. Sharing your proposal is +key to doing this. If you don't want to share your proposal publicly +consider using something like a Google Doc and sharing a link with the +mentor/reviewers. You can also share the link via a private ticket in +our link:https://pagure.io/mentored-projects/issues[Pagure Repository]. +While we would normally not suggest a close-sourced tool such as Google +Docs, in this case it is potentially easier for you because you a) +must have a Google account to be able to apply to the program; and b) +must generate a PDF for your application. + +==== Google Summer of Code Application and Supplemental Material Requirements + +In addition to the information Google requests, the Fedora Project +requires you to submit the following information: + +* What project are you applying to? Seriously consider choosing a +project for proposal from link:ideas.html[ideas list]. 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. + +* 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. + +[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. +-- + +=== 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. diff --git a/modules/ROOT/pages/gsoc/2018/ideas.adoc b/modules/ROOT/pages/gsoc/2018/ideas.adoc new file mode 100644 index 0000000..df786e3 --- /dev/null +++ b/modules/ROOT/pages/gsoc/2018/ideas.adoc @@ -0,0 +1,372 @@ += Google Summer of Code 2018 Mentors and Ideas + +NOTE: Fedora has been accepted as a mentoring organization! Please make sure you carefully read through the link:index.html[general information] and link:application.html[application process] pages before applying. + +If you are a student looking forward to participating in +link:index.html[Google Summer of Code with Fedora], please feel free to +browse this idea list. There may be additional ideas added during the +application period. + +**Now please go read the link:index.html#what-can-i-do-today[What +Can I do Today] section of the main page. This has the answers to your +questions and tells you how to apply** + +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. + +== Supporting Mentors + +The following contributors are available to provide general help and +support for the GSoC program If a specific project mentor is busy, you +can contact one of the people below for short-term help on your project +or task. +add yourselves and your wiki page). + +* 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:Skamath[Sachin S. Kamath] (Python Dev, General Linux, Fedora community, +Metrics, GSoC alumnus, Help with program) +* link:https://fedoraproject.org/wiki/User:Mbriza[Martin Bříza] + +== Idea list + +NOTE: Ideas are subject to change as additional mentors are onboarded. + +* <> +* <> +* <> +* <> +* <> +* <> +* <> +* <> +* <> +* <> +* <> +* <> +* <> +* Improve GPIO support in Fedora in general and particularly on the Raspberry Pi - This project is no longer available + +''' + +=== Improve Fedora Android App - UI/UX Research and Design + +- Difficulty : Intermediate +- Technology : XML, UX, Inkscape, Android, Layouts, HTML, CSS, Cordova, Angular, Javascript, Ionic. +- Mentor : https://fedoraproject.org/wiki/User:A2batic[Kanika Murarka], https://fedoraproject.org/wiki/User:Sumantrom[Sumantro Mukherjee] + + +==== Description + +Fedora has an android app which lets a user to browse magazine, Fedora Ask, browse the calendar etc within it. However. it is still very primitive and requires a lot of UI/UX love. As a GSoC intern, you will be responsible for the following : + +- Engage in community discussion and do community research +- Build initial mockups and gather community feedback. +- Finalize design and start making them functional +- Write Javascipt(Angular), integrate with Android application +- Follow UX/UI standards to build the best possible experience for Android. + +Repo : https://pagure.io/Fedora-app + +==== Deliverables + +- A prototype of the UI/UX for communuity review. +- Integrate the prototype with the existing application +- Responsive, cross screen compatible UI design (Scaling) +- Work with the backend GSoC intern to bring together a better app! + +''' + +=== Improve Fedora Android App - Backend + +- Difficulty : Intermediate - Expert +- Technology : Javascript, Android, Experience with REST APIs, Android Studio. +- Mentors: https://fedoraproject.org/wiki/User:A2batic[Kanika Murarka], https://fedoraproject.org/wiki/User:Sumantrom[Sumantro Mukherjee] + +==== Description + +Fedora has an android app which lets a user to browse Fedora Magazine, Fedora Ask, Fedocal etc within it. However, most of the functions rely on an in-app browser to render content and requires speed optimization and native integration. As a Summer of Code intern, you will be responsible for the following : + +- Research on the best possible way to improve performance and report to mentor +- Write Javascript code to parse various Fedora APIs +- Integrate in Android app. +- Work with the UX intern and collaborate over the design and layouts. +- Publish app (Play Store, F-droid, etc and maintain releases) + +Repo : https://pagure.io/Fedora-app + +=== Deliverables + +- Replace web views and build a more native Android experience like immersive mode, etc. +- Fully functional Android app +- Releases in Play Store and F-droid. +- Notifications for new posts, calendar events, etc on an opt-in basis. + +''' + +=== Metrics : fedmsg plugin for perceval + +- Difficulty : Intermediate - Expert +- Technology : Python, More Python, Understanding of data processing, Python libraries +- Mentors : https://fedoraproject.org/wiki/User:Skamath[Sachin S. Kamath (skamath)], https://fedoraproject.org/wiki/User:Jflory7[Justin W. Flory (jwf)] + + +==== Description + +During the course of the project, you will be closely working with the Fedora Community Operations (CommOps) Team to build a metrics dashboard for the community. For building the dashboard, we will be using Grimoirelab suite of tools to build the backend as well as the frontend. + +https://github.com/grimoirelab/perceval[Perceval] is a tool that collects data from a given data source and has a lot of pre-defined plugins. The aim of this project is to add fedmsg support to it so that metrics can be pulled out of it, suitable for the Fedora community. + +==== Final Deliverables + +Primary Objectives: + +- A working fedmsg consumer +- A plugin for perceval to pull metrics from fedmsg directly +- Documentation for the plugin + +Secondary Objectives: +- Additional plugins to support Wordpress, Twitter and other data sources + +''' + +=== Pagure: A git based source repository + +- Difficulty: Intermediate +- Technology: Python, git, pygit2 +- Mentors: https://fedoraproject.org/wiki/User:Pingou[pingou] + +NOTE: Applicants interested in Pagure *must* contribute by solving https://pagure.io/pagure/issues?status=Open&tags=easyfix[easy fix issues] before the end of the application period. + +https://pagure.io/[Pagure] is a git-centered forge, python based using https://github.com/libgit2/pygit2[pygit2]. + +With pagure you can host your project with its documentation, let your users report issues or request enhancements using the ticketing system and build yourcommunity of contributors by allowing them to fork your projects and contributeto it via the now-popular pull-request mechanism. + +- Repo: https://pagure.io/pagure +- Issues: https://pagure.io/pagure/issues + +Projects in Pagure will be selected by the student in concert with the mentor. They will be drawn from the non-easyfix issues in the issue queue. Students are expected to guide the mentor in helping them select areas of interest. + +''' + +=== ASP.NET Core web application for /r/Fedora subreddit and Discord. + +- Difficulty: Intermediate (some Object Oriented language experience required, not necessarily C#) +- Technology: http://fedoraloves.net[C# - .NET Core on Fedora] & https://ipsilon-project.org/[ipsilon] +- Mentors: https://fedoraproject.org/wiki/User:Rhea[Radka Janeková (rhea)] + +==== Description + +ASP.NET Core web application for our /r/Fedora subreddit to let the user choose a flair, based on their FAS (Fedora Account System) Group memberships, and to be able to verify Discord account with FAS as contributor with CLA+1. These will be 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 in Linux and what IDEs are available to you. +- Basic systemd unitfile structure and working with services. + +==== Deliverables + +- Create an ASP.NET Core application with Reddit and Discord integrations. +- Deploy it on our Fedora production server as a systemd service +- Configure secure Apache proxy + +''' + +=== Fedora Packets: Fedora Happiness Packets + + +* Difficulty: Intermediate - Expert +* Technology: Python, HTML/CSS/JS, knowledge of http://www.fedmsg.com/en/stable/[fedmsg] optional: Cloud / Ansible, UI UX skills graphic design +* Mentors: +** https://fedoraproject.org/wiki/User:Jonatoni[Jona Azizaj (jonatoni)] +** https://fedoraproject.org/wiki/User:Bee2502[Bee Padalkar (bee2502)] (tentative) +** https://fedoraproject.org/wiki/User:X3mboy[Eduard Lucena (x3mboy)] +** https://fedoraproject.org/wiki/User:Bt0dotninja[Alberto Rodríguez (bt0dotninja)] +** Project is open for mentors (commitment 6-8 hrs/week) + +==== Summary + +Add Fedora user account authentication and http://www.fedmsg.com/en/stable/[fedmsg] integration to Happiness Packets to deploy in Fedora's infrastructure + +==== Background + +https://www.happinesspackets.io/[Happiness Packets] is a web application to send positive feedback and thank-you notes to open source contributors. You can send a note with your name or anonymously. The Fedora community plans to have a Fedora Appreciation Week in 2018, where contributors thank each other and celebrate our accomplishments together. Fedora wants to extend Happiness Packets by giving a https://badges.fedoraproject.org/about[Fedora Badge] to anyone who sends a Happiness Packet to another contributor. To do this, we need to fork Happiness Packets and add support for Fedora's authentication system and add a http://www.fedmsg.com/en/stable/publishing/[fedmsg hook]. This lets Fedora contributors log in and receive a badge when they send a Happiness Packet. + +==== Details + +The project is split into primary deliverables (required) and secondary deliverables (optional). + +===== Primary deliverables + +* Add back-end support for https://ipsilon-project.org/[Ipsilon] authentication +** Push the application upstream +* Integrate http://www.fedmsg.com/en/stable/publishing/[fedmsg publishing] +* Create Fedora Badge rule file to automatically award badge + +===== Secondary deliverables + +* Add support for video messages +* Add support for emojis +* Explore major social media APIs (for example, Twitter, Facebook, Reddit) to allow sharing on social networks +** Twitter +** Facebook + +''' + +=== Atomic IoT (likely useful in numerous other Atomic ideas) host upgrade daemon + +- Skill level: medium +- Skills required: python3 ans/or C +- Mentor(s): Peter Robinson + +IoT devices need to be almost impossible to brick. When you upgrade a device if it doesn't work it needs to be able to automatically role back, or at the very least be able to contact the update service for a newer fixed version. + +A daemon to manage this state is required. The daemon would need to be able to do the following: + +* Monitor the status of available downloads +* Apply the Atomic update delta +* Set a "boot once" flag to boot the new version via grub +* Set a hardware watchdog +* initiate a reboot of the system +* If boot to normal userspace fails the watchdog triggers and it resets to the old version +* If boot succeeds to the point the daemon starts up it then proceeds to phase two of the upgrade process +* Unsets watchdog so the OS won't reset +* Checks it can see all required network interfaces +* Checks it can resolve addresses and contact the update server +* Check it's connected to all other critical services (eg MQTT or a HTTPS API +* Checks it can see and all sensors and services are running correctly + +There needs to be a means of specifying what components are critical to the successful operation of the device. Some components will be the same across all types of device such as the ability to check network interfaces are operating, to check an update service is available, to check services are available etc but some might be plugins eg to check GPIO is working, specific IIO sensors, cameras or other such things are seen as expected. + +- What are we looking for: +An initial daemon with basic functionality with good design that can be extended. Integration with atomic updates etc. + +''' + +=== Fedora Dockerfile linter leveraging Container Best Practices + + +- Skill level: Intermediate +- Skills required: Python, containers +- Mentor(s): Tomas Tomecek, Eliska Slobodova +- Contacts (IRC & email): ttomecek (ttomecek @redhat.com), eslobodo (eslobodo @redhat.com) + +==== Description + +Fedora infrastructure for container image delivery is lacking any kind of automated testing of the images or underlying Dockerfiles. https://github.com/projectatomic/container-best-practices[The Container Best Practices document] is a digest of recommended practices for writing and deploying images. + +==== Deliverables + +With Container Best Practices serving as a “cheatsheet”, you will create a tool to perform basic and advanced checks on Dockerfiles and images that can be applicable generally regardless of an image. In cooperation with the Fedora infrastructure team, you will deploy the tool in the container infrastructure so that the tests can be executed automatically upon a new build/commit or locally before the developer pushes the changes remotely. + + +''' + +=== Advanced test cases for images running in OpenShift using conu + + +- Skill level: Intermediate +- Skills required: Python, containers, OpenShift +- Mentor(s): Tomas Tomecek, Dominika Hodovska +- Contacts (IRC & email): ttomecek (ttomecek @redhat.com), dhodovsk (dhodovsk @redhat.com) + +==== Description +https://github.com/fedora-modularity/conu[Conu] is a library which provides Python API to interact with a selected container runtime. It simplifies writing of tests for container images. However, the project currently lacks support for OpenShift and Kubernetes. + +==== Deliverables + +- Your primary goal will be to deliver at least 10 new functions that will enable the users to write tests for OpenShift scenarios. +- Your secondary goal will be to write test for at least 5 images (eg mariadb, mysql, postgresql, golang, rust) using conu’s full capabilities. + + +''' + +=== Complete support for OpenShift and Kubernetes as a backend in conu + + +- Skill level: Intermediate - Expert +- Skills required: python, containers +- Mentor(s): Tomas Tomecek +- Contacts (IRC & email): ttomecek (ttomecek @redhat.com) + +==== Description + +https://github.com/fedora-modularity/conu/[conu] defines a generic API to interact with containers and container engines. To make the project more usable, we would like to add implementation of well known container orchestration systems — Kubernetes and OpenShift. + +==== Deliverables + +- Write a series of pull requests to add support for Kubernetes and OpenShift in conu project. +- The newly added functionality needs to have integration tests which can run inside CI environment and are passing. +- And finally, the feature should be demonstrated it works well by at least 3 real examples. + +''' + +=== Continuous Integration for Fedora Media Writer + Tests + +- Skill level: Intermediate +- Skills required: CI, C++, Qt +- Mentor(s): Martin Bříza +- Contacts (IRC & email): mbriza@freenode & m@rtinbriza.cz + +==== Description + +link:https://github.com/MartinBriza/MediaWriter[Fedora Media Writer] is a tool with two build platforms and three deployment platforms. It's quite challenging to check all the new added code for being able to build properly and as of now, there are no tests. + +Your task in this project would be to get a CI platform of your choice to work well with FMW on GitHub. The required environments are Fedora and macOS. Windows builds are done using the MinGW packages in Fedora and FMW can run using Wine - this should be sufficient for testing, however testing the MinGW builds under native Windows is a definite plus. + +Qt provides the QTest framework for testing the application - it's the preferred platform to write tests in this case, however using a bash or Python library is likely okay, too. However, once again, as QTest is easily attachable to the internal structures of FMW, it's strongly suggested. + +Bonus points are if you get automatic binary builds published in the Releases section for tags. + +==== Deliverables + +Working CI integration for macOS and Fedora-latest or Rawhide. A set of tests covering at least 5 closed bugs. + +''' + +=== ARM uBoot Support in Fedora Media Writer + +- Skill level: Intermediate - Expert +- Skills required: C++, Qt, ext4, bash/Python (?) +- Mentor(s): Martin Bříza +- Contacts (IRC & email): mbriza@freenode & m@rtinbriza.cz + +==== Description + +link:https://github.com/MartinBriza/MediaWriter[Fedora Media Writer] now supports writing ARM images to portable media. These cards can then boot on devices that support Fedora out of the box, like the Raspberry Pi. However, to support most other boards, one has to do some modifications to the image on the flash drive. The first of them is writing uBoot (open source bootloader) to the start of the drive. Then it's sometimes necessary to tweak some environment variables or modify a configuration file. + +These are the tasks that are possible to be automated. However, it's necessary to find a way how to do that in a clean fashion. As an example of an approach to this problem, you can take a look at the link:https://pagure.io/arm-image-installer/[arm-image-installer]. One option would be to cooperate with the ARM SIG to create a solution that uses their know-how or code directly. I have some ideas so please go ahead and talk to me. + +Remember, this is pretty trivial to do on Linux, however we need this functionality to work on Windows and macOS. This induces issues - especially with filesystem handling. For your project proposal, I expect you include a rough description of how you're planning to tackle this problem. + + +==== Deliverables + +A Fedora Media Writer build that's able to deliver a Fedora SD card that can boot on a currently unsupported ARM platform (for example, Cubieboard) on Linux, Windows and macOS. + +''' + +=== Open Ideas From Previous Years + +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.* + +* link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2017[2017] +* link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2016[2016] +* link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2015[2015] +* link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2014[2014] +* link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2013[2013] +* link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2012[2012] +* link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2011[2011] +* link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2010[2010] +* link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2009[2009] +* link:https://fedoraproject.org/wiki/Summer_coding_ideas_for_2008[2008] diff --git a/modules/ROOT/pages/gsoc/2018/index.adoc b/modules/ROOT/pages/gsoc/2018/index.adoc new file mode 100644 index 0000000..05a7506 --- /dev/null +++ b/modules/ROOT/pages/gsoc/2018/index.adoc @@ -0,0 +1,252 @@ +[[google-summer-of-code-2017]] += Google Summer of Code 2018 + +//// +IMPORTANT: Student applications are not open yet! +//// + +image::gsoc_logo.png[float="right"] + +This page contains information about Fedora's participation in Google +Summer of Code (GSoC). Please feel free to contact us via the mailing list below +for clarifications and more information. You can also use the IRC channel. + +[[what-can-i-do-today]] +== What can I do today? + +//// +Fedora is still in the process of applying to be a mentoring organization. +Today there is nothing we can do except wait until Google makes a +decision. + +Fedora has been accepted as a mentoring organization. Student +applications open on 12 March. +//// + +Today you should read through the link:ideas.html[ideas] and think about +our link:application.html[application process.] + +[[student-information]] +== Student Information + +Do you want to contribute to one of the world's leading innovative Linux +distributions? GSoC could be your chance. Please refer to the information +below. + +//// +NOTE: Student applications **are not yet open**. +//// + +* 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 +an "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. + +//// +* If you're interested in working on a mentor-submitted idea, read +the link:ideas.html[ideas page] and about 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 an "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. A list of potential mentors is also on the +link:ideas.html[ideas page]. +//// + + +* You may also wish to start working on the Fedora specific parts of +the application, see below for more information. Carefully review the +student responsibilities section. + +[[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. + +If you are new to the Fedora Project, the following material will help +you to get started. + +* link:https://docs.fedoraproject.org/fedora-project/project/fedora-overview.html[Fedora Project Overview] +* link:https://docs.fedoraproject.org[Fedora Technical and Community Documentation] +* link:https://fedoraproject.org/wiki/How_to_use_IRC[How to use IRC] +* link:https://fedoraproject.org/wiki/Development[Information about Development in Fedora] + +[[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 the brief student calls, as announced +* Being accountable for your success and your actions + +[[student-application]] +=== Student Application + +Please read and follow the +link:application.html[student application process]. + +[[mentor-information]] +== Mentor Information + +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. + +NOTE: If you are contacted directly by a student, we encourage you +to reply and include the mailing list and/or IRC channel to keep the +process transparent and to ensure the inquiry is able to be answered by +more people than just you. + +=== How to Propose a Project + +If you want to mentor a specific project, think carefully about several things: + +1. Do you have enough time to work on this with the student during the +entire project. You will be helping someone else when they get stuck. +You don't want to become a blocker because you're busy. + +2. 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." + +3. 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. + +4. Who can help you? Try to find a second mentor for the project. + +If you're interested in working with a student on +a specific project you should post your idea to the +https://pagure.io/mentored-projects/issues[Mentored Projects Issue +Tracker]. Your issue should be tagged *GSoC* and use the *Google Summer +of Code* template. We strongly encourage you to find a second person +to help with mentoring and to solicit feedback on your proposal + +=== Can I be a Mentor Without a Project? + +Yes! You can either: + +* 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. + +* Be a general mentor. This is a person who works with all students +regardless of their project. To become a general mentor please open +an issue in the https://pagure.io/mentored-projects/issues[Mentored +Projects Issue Tracker] offering your help. Please tag the issue with +the *GSoC* tag. + +[[how-to-work-with-students]] +=== How to work with students + +* Read about good mentoring in the +link:http://write.flossmanuals.net/gsoc-mentoring/what-makes-a-good-mentor[Manual +on Mentoring] + +[[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. +* Attending a brief mentors call, as scheduled. +* Be the final, accountable person for deciding if the student is +successful or not. This is responsibility akin to being a professor or +boss. + +[[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]] +== Timeline + +Always refer to the +link:https://summerofcode.withgoogle.com/how-it-works/#timeline[Official +Google Summer of Code Timeline] for details. + +[[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:Mbriza[Martin Bříza] (Secondary) diff --git a/site.yml b/site.yml index 3d318ae..2652335 100644 --- a/site.yml +++ b/site.yml @@ -1,6 +1,6 @@ site: title: Mentored Projects - start_page: mentored-projects::2018/index + start_page: mentored-projects::gsoc/2018/index content: sources: - url: .