Difference between revisions of "Google Summer of Code"

From GeeklogWiki
Jump to: navigation, search
m (1.5.2)
(cleanup, now that we're in GSoC 2013 under the Fedora umbrella)
 
(97 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. Geeklog was accepted to take part in [[Summer of Code 2007|2007]] and [[Summer of Code 2008|2008]].
+
[[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]].
  
Should Google decide to run the program again in 2009, we plan to apply for participation again.
+
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 (to be implemented in possible future incarnations of the Google Summer of Code):
+
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!
  
=== For Geeklog ===
+
* [[SoC php sessions|Provide PHP Session Handling]]
 +
* [[SoC install script refinements|Install Script Refinements]]
 +
* [[SoC crowdsourcing translations|Crowdsourcing Translations]]
  
* [[SoC_plugin_repository|Plugin repository]]
+
'''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_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]]
 
  
There are also some [[SoC_more_ideas|leftover ideas]] (not all of them fully fleshed out) from previous years.
 
  
 +
=== Other Ideas ===
  
=== For AptitudeCMS (formerly 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_geeklog2_taxonomy_tagging_plugin|Taxonomy and Tagging Plugin]]
+
* [[SoC dynamic feeds|Add Support for Dynamic Feeds with Access Control]]
* [[SoC_geeklog2_continuous_builds|Continuous Builds]]
+
* [[SoC core notification support|Core Notification Service]]
* [[SoC_geeklog2_workflow_plugin|Workflow Plugin]]
+
* [[SoC test framework revisited|Unit Test Framework revisited]]
* [[SoC_geeklog2_mapping_plugin|Mapping Plugin]]
+
* [[SoC improve the Spam-X plugin|Improve Geeklog's spam filter]]
* [[SoC_geeklog2_syndication_api|Geeklog2 Syndication API]]
+
* [[SoC template engine|Template Engine Upgrade]]
* [[SoC_geeklog2_spam_solution|Geeklog2 Anti-Spam "Solution"]]
+
* [[SoC comments and trackbacks|Merge display of comments with trackbacks and pingbacks]]
* [[Soc_geeklog2_media_plugin|Media Plugin]]
+
* [[SoC topic improvements|Topic Improvements]]
* [[Soc_geeklog2_social_plugin|Social Plugin using Google's OpenSocial]]
+
* 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].
  
  
 
== Notes for Students ==
 
== Notes for Students ==
  
First of all, please note that Summer of Code 2009 has '''not started yet''' and that '''participating projects have not been selected yet'''. While Geeklog will apply to take part again in the Summer of Code, there is no guarantee that we will be selected!
+
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://code.google.com/opensource/gsoc/2009/faqs.html 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].
 +
 
 +
 
 +
== 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).
 +
 
 +
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.
 +
 
 +
 
 +
== 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.
  
* '''Geeklog''' (current version: 1.5.2) is the software you may have seen running websites such as [http://www.groklaw.net/ Groklaw].
+
Feel free to expand on this list - just make sure to touch on all the information requested above.
* '''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.
 
  
Geeklog was started back in the year 2000 and its code is still mostly procedural and it uses its own (thin) database abstraction layer. AptitudeCMS, on the other hand, is fully object oriented and uses technologies such as MVC and design patterns.
+
Thank you!
  
  
 
== Further Reading ==
 
== Further Reading ==
  
 +
* [[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.
 
* 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