Difference between revisions of "Google Summer of Code"

From GeeklogWiki
Jump to: navigation, search
(rephrased contact options)
(cleanup, now that we're in GSoC 2013 under the Fedora umbrella)
 
(86 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
== What is it? ==
 
== What is it? ==
  
[[image:gsoc2009-120.png|right]] The [http://code.google.com/soc/ Google Summer of ] 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. After [[Summer of Code 2007|2007]] and [[Summer of Code 2008|2008]], Geeklog has been accepted as a mentoring organization again in 2009.
+
[[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]].
 +
 
 +
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:
+
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!
 +
 
 +
* [[SoC php sessions|Provide PHP Session Handling]]
 +
* [[SoC install script refinements|Install Script Refinements]]
 +
* [[SoC crowdsourcing translations|Crowdsourcing Translations]]
 +
 
 +
'''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 ...
 +
 
  
=== For Geeklog ===
+
=== Other Ideas ===
  
* [[SoC_plugin_repository|Plugin repository]]
+
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_test_framework|Test framework]]
 
* [http://swot.fuckingbrit.com/ SWOT] ''(Spam: Web of Trust)''
 
* [[SoC_spam-x_overhaul|Spam-X plugin overhaul]]
 
* [[SoC_webservices_revisited|Webservices revisited]]
 
* [[SoC_postgres_support|Support for PostgreSQL]]
 
* [[SoC_core_notification_support|Core Notification Service]]
 
* [[SoC_full_openid_support|OpenID 2.0 Support]]
 
* [[SoC_socialnetworking|Add Social Networking Features]]
 
* [[SoC_cross_site_publication|Cross Site Alerting and Publication API]]
 
  
We're also willing to accept new ideas from students. In that case, please check that what you're proposing isn't already available (e.g. with some existing add-on). For more inspiration, you can also refer to our list of [[SoC_more_ideas|leftover ideas]] (not all of them fully fleshed out) from previous years.
+
* [[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.
  
  
=== For AptitudeCMS (formerly Geeklog 2) ===
+
== Mentors ==
  
* [[SoC_geeklog2_taxonomy_tagging_plugin|Taxonomy and Tagging Plugin]]
+
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_workflow_plugin|Workflow 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. Thanks.
+
We have collected some information for students here. Please take a moment to read them. Thank you.
  
 
=== Recommended reading ===
 
=== Recommended reading ===
  
Google provides an [http://socghop.appspot.com/document/show/program/google/gsoc2009/faqs extensive FAQ]. There's also a very informative [http://code.google.com/p/google-summer-of-code/wiki/AdviceforStudents Advice for Students] page. We recommend reading those first.
+
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.
  
Geeklog uses [http://www.selenic.com/mercurial/ Mercurial] for [http://en.wikipedia.org/wiki/Revision_control revision control] (aka ''version control'' aka ''source code management''). Students should have a basic grasp of revision control - we can help you with the specifics of [[Using Mercurial]].
+
Also see [[GSoC Student Requirements|what we expect from our students]] during the course of the Summer.
  
 
=== Background information ===
 
=== Background information ===
  
Geeklog is an umbrella for two related but distinct CMS:
+
'''Geeklog''' (current version: 2.0.0) is the software you may have seen running websites such as [http://www.groklaw.net/ Groklaw].
  
* '''Geeklog''' (current version: 1.5.2) is the software you may have seen running websites such as [http://www.groklaw.net/ Groklaw].
 
* '''AptitudeCMS''' (formerly Geeklog 2) is a "next generation" CMS and has been rewritten from the ground up. There are no released versions of AptitudeCMS yet.
 
  
 +
== Contact ==
  
== 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 [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.
 +
 
 +
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.
 +
 
 +
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).
  
For all questions regarding Geeklog and the Summer of Code, you can email us at
+
If you need a more private communication channel, you can also email us at
 
:<tt>contact-us(AT)lists.geeklog.net</tt>
 
:<tt>contact-us(AT)lists.geeklog.net</tt>
or use [http://www.geeklog.net/profiles.php?uid=2&subject=Google%20Summer%20of%20Code%202009 this web form]. This is a private mailing list, read only by the GSoC mentors.
+
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.
 +
 
 +
 
 +
== 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.
  
If you don't mind discussing things in public, you are also invited to join our [http://lists.geeklog.net/mailman/listinfo/geeklog-devel Development Mailing List] and say "Hi!"
+
Feel free to expand on this list - just make sure to touch on all the information requested above.
  
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).
+
Thank you!
  
  
Line 69: Line 93:
  
 
* [[Getting Started]] with Geeklog development
 
* [[Getting Started]] with Geeklog development
* [http://www.apteno.net/AptitudeCMS/trac/wiki/AptitudeGuide The AptitudeCMS Guide] - introduction to AptitudeCMS
 
 
* 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.
 
* 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