Difference between revisions of "Google Summer of Code"

From GeeklogWiki
Jump to: navigation, search
(For Geeklog 2)
(cleanup, now that we're in GSoC 2013 under the Fedora umbrella)
 
(123 intermediate revisions by 9 users not shown)
Line 1: Line 1:
 
== What is it? ==
 
== What is it? ==
  
The [http://code.google.com/soc/ Google Summer of Code™] is a program sponsored by Google where they pay students to develop open source software. In its third incarnation  in 2007, Geeklog [[Summer of Code 2007|took part]] in the program for the first time.
+
[[image:GSoC2013_logo.png|right]] The [http://www.google-melange.com/ Google Summer of Code] is a program sponsored by Google where they pay students to develop open source software. Google have been running this program every year since 2005. Geeklog was accepted as a mentoring organization in [[Summer of Code 2007|2007]], [[Summer of Code 2008|2008]], [[Summer of Code 2009|2009]] and [[Summer of Code 2010|2010]].
  
'''Note:''' Geeklog will be applying to take part in the Summer of Code 2008 again. At this point in time, however, no organizations have been selected yet. Please refer to [http://code.google.com/soc/2008/faqs.html#0.1_timeline Google's timeline] for the program for details.
+
Geeklog did not participate in GSoC in 2011 and 2012. We applied for participation again in 2013 but were not selected. Fortunately, [http://www.google-melange.com/gsoc/org/google/gsoc2013/fedora The Fedora Project] offered us one slot under their umbrella, allowing us to participate in GSoC 2013 under the Fedora umbrella. Thanks, Fedora!
  
  
 
== Project Ideas ==
 
== Project Ideas ==
  
This is a list of ideas for projects that we feel would add useful functionality to Geeklog. We are open for other ideas not listed here as long as they fit in with Geeklog's general ideas and concepts and can be done in the 3-months period of the Summer of Code program.
+
Below is a list of project ideas that we have picked for our cooperation with Fedora in GSoC 2013 and that we feel would add useful functionality to Geeklog. Please note that only '''one''' of these projects will be selected!
  
Also, please read the [[Google_Summer_of_Code#Notes_for_Students|Notes for Students]] below.
+
* [[SoC php sessions|Provide PHP Session Handling]]
 +
* [[SoC install script refinements|Install Script Refinements]]
 +
* [[SoC crowdsourcing translations|Crowdsourcing Translations]]
  
=== For Geeklog 1.x ===
+
'''Note:''' Since we have only one student slot for Geeklog under the Fedora umbrella, we would prefer if you'd pick one of the above three ideas for your proposal. If you decide to apply with another idea, you need to make a really strong case ...
  
* [[SoC_improving comments_2008|Improving the comments]]
 
* [[SoC_webservices_revisited|Webservices revisited]]
 
* [[SoC_install_script_revisited|Install script: Plugins and Migration]]
 
* [[Soc_swot|SWOT]] ''(Spam: Web of Trust)'' ([http://swot.fuckingbrit.com/ SWOT])
 
* [[SoC_mailman|Mailman Plugin]]
 
* [[SoC_improved_search|Improved Search]]
 
* [[SoC_socialnetworking|Add Social Networking Features]]
 
* [[SoC_css_foundation_classes|Implement a theme based on the YUI CSS Foundation Libraries]]
 
* [[SoC_cross_site_publication|Cross Site Alerting and Publication API]]
 
* [[SoC_web_analytics_api|Implement Open Web Analytics]]
 
* [[SoC_core_notification_support|Core Notification Service]]
 
  
There are also some [[SoC_more_ideas|leftover ideas]] from 2007.
+
=== Other Ideas ===
  
=== For Geeklog 2 ===
+
The following or other GSoC ideas that we have to put on the back burner for now. We may pick those up again in a future GSoC (should Google decide to run the program again):
 +
 
 +
* [[SoC dynamic feeds|Add Support for Dynamic Feeds with Access Control]]
 +
* [[SoC core notification support|Core Notification Service]]
 +
* [[SoC test framework revisited|Unit Test Framework revisited]]
 +
* [[SoC improve the Spam-X plugin|Improve Geeklog's spam filter]]
 +
* [[SoC template engine|Template Engine Upgrade]]
 +
* [[SoC comments and trackbacks|Merge display of comments with trackbacks and pingbacks]]
 +
* [[SoC topic improvements|Topic Improvements]]
 +
* Also see [[GSoC Brainstorming]] for more ideas. These aren't fully fleshed-out but can serve as a starting point for your own project proposal.
 +
 
 +
 
 +
== Mentors ==
 +
 
 +
The Geeklog project under the Fedora umbrella will be mentored by [http://www.geeklog.net/users.php?mode=profile&uid=408 Dirk Haun].
  
* [[SoC_geeklog2_taxonomy_tagging_plugin| Taxonomy and Tagging Plugin]]
 
* [[SoC_geeklog2_continuous_builds| Continuous Builds]]
 
* [[SoC_geeklog2_workflow_plugin| Workflow Plugin]]
 
* [[SoC_geeklog2_mapping_plugin| Mapping Plugin]]
 
* [[SoC_geeklog2_syndication_api|Geeklog2 Syndication API]]
 
* [[SoC_geeklog2_spam_solution|Geeklog2 Anti-Spam "Solution"]]
 
* [[Soc_geeklog2_media_plugin| Media Plugin]]
 
  
 
== Notes for Students ==
 
== Notes for Students ==
 +
 +
We have collected some information for students here. Please take a moment to read them. Thank you.
 +
 +
=== Recommended reading ===
 +
 +
Google provides an [http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2013/help_page extensive FAQ] about the program. There's also a very informative [http://code.google.com/p/google-summer-of-code/wiki/AdviceforStudents Advice for Students] page as well as a much longer [http://en.flossmanuals.net/GSoCStudentGuide/ GSoC Student Guide]. We recommend reading those first.
 +
 +
If you're new to open source development in general, the free ebook [http://www.open-advice.org/ Open Advice] provides insights and experiences from contributors to various open source projects. There's also the classic [http://producingoss.com/ Producing Open Source Software], which goes into a lot more detail (you may want to start with Open Advice for a quick(er) overview).
  
 
=== Required skills ===
 
=== Required skills ===
  
Students interested in any of the above projects should have reasonable experience with PHP and some basic SQL knowledge. Being able to set up your own LAMP server (Linux, Apache, MySQL, PHP) would probably help but isn't a prerequisite.
+
Students interested in any of the above projects should have reasonable experience with PHP and some basic SQL knowledge. Being able to set up your own LAMP server (Linux, Apache, MySQL, PHP) would probably help but isn't a prerequisite. Depending on the project you apply for, there may be other required skills, e.g. JavaScript or HTML.
 +
 
 +
Geeklog uses [http://mercurial.selenic.com/ Mercurial] for [http://en.wikipedia.org/wiki/Revision_control revision control]. Students should have a basic grasp of revision control; we can help you with the specifics of [[Using Mercurial]].
 +
 
 +
If you meet theses requirements, you may want to try and "get your feet wet". See our [[Getting Started]] guide.
 +
 
 +
Also see [[GSoC Student Requirements|what we expect from our students]] during the course of the Summer.
  
 
=== Background information ===
 
=== Background information ===
  
Please note that there are '''two''' versions of Geeklog currently under active development but that they share little other than the name and a few contributors.
+
'''Geeklog''' (current version: 2.0.0) is the software you may have seen running websites such as [http://www.groklaw.net/ Groklaw].
  
* '''Geeklog 1.x''' (currently 1.4.1, with 1.5.0 "almost done") is the software you may have seen running websites such as [http://www.groklaw.net/ Groklaw].
 
* '''Geeklog 2''' is "the next generation" of Geeklog and has been rewritten from the ground up. There are no released versions of Geeklog 2 yet.
 
  
Geeklog 1.x was started back in the year 2000 and its code is still mostly procedural and it uses its own (thin) database abstraction layer. Geeklog 2, on the other hand, is fully object oriented and uses technologies such as MVC and design patterns.
+
== Contact ==
  
So basically, you can choose between working on a system that is in wide use already or one that uses all the latest and greatest in technology but isn't ''quite'' ready for mainstream use yet. In either case, you would be helping the Geeklog community immensely.
+
: '''Important:''' Please note that while we encourage you to send a draft proposal to one of the addresses below first, in the end you ''must'' submit your proposal through [http://www.google-melange.com/ the official Summer of Code website]. Only applications submitted through the website can be considered! Google provides [http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2013/help_page#4._How_does_a_student_apply detailed instructions] - please follow them.
  
=== License ===
+
We suggest that you join our [http://lists.geeklog.net/mailman/listinfo/geeklog-devel Development Mailing List] and introduce yourself and the project(s) you are interested in. This list is the best place for any questions or discussions related to the projects and their development.
  
Geeklog 1.x has been released under the GPLv2 (GNU General Public License, version 2). All code written for Geeklog 1.x projects should also be released under that same license.
+
Or you can hop on our IRC channel, #geeklog at irc.freenode.net and talk to us directly (some patience required - not everyone may be online there all the time).
  
No final decision has been made on the license for Geeklog 2. However, it will most likely ''not'' be the GPL but another [http://www.opensource.org/licenses/ OSI approved] license in the spirit of the BSD license.
+
If you need a more private communication channel, you can also email us at
 +
:<tt>contact-us(AT)lists.geeklog.net</tt>
 +
or use [http://www.geeklog.net/profiles.php?uid=2&subject=Google%20Summer%20of%20Code%202013 this web form]. This goes to a private mailing list which is read only by Geeklog's GSoC mentors.
  
  
== Contact ==
+
== Application Template ==
 +
 
 +
When applying for a project with Geeklog, please include information covering the following points in your application.
 +
 
 +
* Please tell us something about yourself (experience, interests, why you are applying for this project).
 +
* Please include contact information (an email address, at the very least), as we won't have access to the contact information that you entered when you registered for GSoC.
 +
* Please explain, in your own words, what the project is and what its goals are.
 +
* Please provide a schedule for your project: The order in which you plan to implement features and an estimate how long it will take and when they will be finished. Don't forget to factor in some time for tests and documentation into your plans.
 +
* If there are any periods during the Summer when you will not be able to work on your project (e.g. due to exams or planned vacations), then please also include this information.
 +
* We would like to ask GSoC applicants to submit a patch for Geeklog as part of your application. You can find our project tracker here: http://project.geeklog.net/tracking/. Try looking for issues that are tagged "[http://project.geeklog.net/tracking/search.php?status_id%5b%5d=10&status_id%5b%5d=20&status_id%5b%5d=30&status_id%5b%5d=40&status_id%5b%5d=50&sticky_issues=on&sortby=last_updated&dir=DESC&hide_status_id=-2&tag_string=beginner beginner]" but feel free to tackle any other issue. This will give us an opportunity to see your coding skills in practice.
 +
 
 +
Feel free to expand on this list - just make sure to touch on all the information requested above.
 +
 
 +
Thank you!
 +
 
 +
 
 +
== Further Reading ==
  
For all questions regarding Geeklog and the Summer of Code, please email us at <tt>contact-us(AT)lists.geeklog.net</tt> (or use [http://www.geeklog.net/profiles.php?uid=2 this web form]).
+
* [[Getting Started]] with Geeklog development
 +
* The [http://www.geeklog.net/index.php?topic=GSoC Summer of Code topic] on geeklog.net provides coverage of our previous participation in the Google Summer of Code.
  
  
 
[[Category:Summer of Code]] [[Category:Development]]
 
[[Category:Summer of Code]] [[Category:Development]]

Latest revision as of 08:12, 18 April 2013

What is it?

GSoC2013 logo.png
The Google Summer of Code is a program sponsored by Google where they pay students to develop open source software. Google have been running this program every year since 2005. Geeklog was accepted as a mentoring organization in 2007, 2008, 2009 and 2010.

Geeklog did not participate in GSoC in 2011 and 2012. We applied for participation again in 2013 but were not selected. Fortunately, The Fedora Project offered us one slot under their umbrella, allowing us to participate in GSoC 2013 under the Fedora umbrella. Thanks, Fedora!


Project Ideas

Below is a list of project ideas that we have picked for our cooperation with Fedora in GSoC 2013 and that we feel would add useful functionality to Geeklog. Please note that only one of these projects will be selected!

Note: Since we have only one student slot for Geeklog under the Fedora umbrella, we would prefer if you'd pick one of the above three ideas for your proposal. If you decide to apply with another idea, you need to make a really strong case ...


Other Ideas

The following or other GSoC ideas that we have to put on the back burner for now. We may pick those up again in a future GSoC (should Google decide to run the program again):


Mentors

The Geeklog project under the Fedora umbrella will be mentored by Dirk Haun.


Notes for Students

We have collected some information for students here. Please take a moment to read them. Thank you.

Recommended reading

Google provides an extensive FAQ about the program. There's also a very informative Advice for Students page as well as a much longer GSoC Student Guide. We recommend reading those first.

If you're new to open source development in general, the free ebook Open Advice provides insights and experiences from contributors to various open source projects. There's also the classic Producing Open Source Software, which goes into a lot more detail (you may want to start with Open Advice for a quick(er) overview).

Required skills

Students interested in any of the above projects should have reasonable experience with PHP and some basic SQL knowledge. Being able to set up your own LAMP server (Linux, Apache, MySQL, PHP) would probably help but isn't a prerequisite. Depending on the project you apply for, there may be other required skills, e.g. JavaScript or HTML.

Geeklog uses Mercurial for revision control. Students should have a basic grasp of revision control; we can help you with the specifics of Using Mercurial.

If you meet theses requirements, you may want to try and "get your feet wet". See our Getting Started guide.

Also see what we expect from our students during the course of the Summer.

Background information

Geeklog (current version: 2.0.0) is the software you may have seen running websites such as Groklaw.


Contact

Important: Please note that while we encourage you to send a draft proposal to one of the addresses below first, in the end you must submit your proposal through the official Summer of Code website. Only applications submitted through the website can be considered! Google provides detailed instructions - please follow them.

We suggest that you join our Development Mailing List and introduce yourself and the project(s) you are interested in. This list is the best place for any questions or discussions related to the projects and their development.

Or you can hop on our IRC channel, #geeklog at irc.freenode.net and talk to us directly (some patience required - not everyone may be online there all the time).

If you need a more private communication channel, you can also email us at

contact-us(AT)lists.geeklog.net

or use this web form. This goes to a private mailing list which is read only by Geeklog's GSoC mentors.


Application Template

When applying for a project with Geeklog, please include information covering the following points in your application.

  • Please tell us something about yourself (experience, interests, why you are applying for this project).
  • Please include contact information (an email address, at the very least), as we won't have access to the contact information that you entered when you registered for GSoC.
  • Please explain, in your own words, what the project is and what its goals are.
  • Please provide a schedule for your project: The order in which you plan to implement features and an estimate how long it will take and when they will be finished. Don't forget to factor in some time for tests and documentation into your plans.
  • If there are any periods during the Summer when you will not be able to work on your project (e.g. due to exams or planned vacations), then please also include this information.
  • We would like to ask GSoC applicants to submit a patch for Geeklog as part of your application. You can find our project tracker here: http://project.geeklog.net/tracking/. Try looking for issues that are tagged "beginner" but feel free to tackle any other issue. This will give us an opportunity to see your coding skills in practice.

Feel free to expand on this list - just make sure to touch on all the information requested above.

Thank you!


Further Reading