GSoC overview

(Code and tickets)
(Code and tickets)
Line 21: Line 21:
=== Code and tickets ===
=== Code and tickets ===
-
The main prerequisite for working on SuperTuxKart is good C++ knowledge. You will also want to get familiar with our [https://sourceforge.net/apps/trac/supertuxkart/ bug tracker]. You do need a sourceforge account in order to submit a ticket. For a successful proposal we expect you to supply at least one patch beforehand so that we can have a look at your coding and commenting style. We have marked certain tickets to be suitable for GSoC, see [[https://sourceforge.net/apps/trac/supertuxkart/report/9|this list]], and added some instructions how to fix the tickets (e.g. design, or which files to look at). Note that some of the tasks are not trivial and need some time to understand the solution, though the actual implementation time should not be too high. Or feel free to create your own ticket. In any case, please discuss the ticket with us first, we can help in identifying tickets appropriate for your skill level. One options is always to improve documentation and fix [[Coding_Style | coding style issues]]. While STK's documentation is rather good and extensive, there are always things that can be improved (e.g. older files might not follow latest changes of our coding style).
+
The main prerequisite for working on SuperTuxKart is good C++ knowledge. You will also want to get familiar with our [https://sourceforge.net/apps/trac/supertuxkart/ bug tracker]. You do need a sourceforge account in order to submit a ticket. For a successful proposal we expect you to supply at least one patch beforehand so that we can have a look at your coding and commenting style. We have marked certain tickets to be suitable for GSoC, see [https://sourceforge.net/apps/trac/supertuxkart/report/9|this list], and added some instructions how to fix the tickets (e.g. design, or which files to look at). Note that some of the tasks are not trivial and need some time to understand the solution, though the actual implementation time should not be too high. Or feel free to create your own ticket. In any case, please discuss the ticket with us first, we can help in identifying tickets appropriate for your skill level. One options is always to improve documentation and fix [[Coding_Style | coding style issues]]. While STK's documentation is rather good and extensive, there are always things that can be improved (e.g. older files might not follow latest changes of our coding style).
Any contributions to SuperTuxKart must be in clean and portable C++. They should also compile without any warnings. We don't expect that a student to be able to check his code on all supported platforms - our community will do this and fix any minor issues that should occur when using a different compiler. But please have a look at some of our [[Portability_concerns | portability advise]].
Any contributions to SuperTuxKart must be in clean and portable C++. They should also compile without any warnings. We don't expect that a student to be able to check his code on all supported platforms - our community will do this and fix any minor issues that should occur when using a different compiler. But please have a look at some of our [[Portability_concerns | portability advise]].

Revision as of 05:51, 21 March 2013

Contents

Google Summer of Code 2013

During the Google Summer of Code google will pay students to participate in open source projects - see the link for additional details. Your work will be released under an open source license, in case of STK that will be GPL 3.0. Make especially sure that you fulfill GSoC's eligibility criteria.

For the first time SuperTuxKart will try to participate, i.e. become a mentoring organisation. That means (if we get accepted) that students can work on SuperTuxKart and receive money for it. They will be mentored by one of our experienced developers, and get some good work experience to start their career. Note that while SuperTuxKart is a game appealing to younger audiences, the code base is rather complicated, and our suggested tasks will certainly challenge students.

Our list of ideas or suggestions is online. Be aware that this is just a list of suggestions, and that students are welcome to apply with their own ideas. However the number of experienced mentors is somewhat limited, and our list of ideas was chosen since those tasks would be most beneficial for the development of SuperTuxKart. If you apply with your own idea, please make sure to discuss this with us beforehand.

Sounds great - What should I do?

First of all make sure to have played STK, and have a look at our milestones page to see where we want to go. For any further steps you need at least some basic familiarity with SVN (if you don't have SVN experience, the Version Control with Subversion book is a good start).

Then download and compile STK, instructions for this can be found here. You can find guides for compiling from source on all major platforms on the same website.

Have a look at our coding style and study our code, best using the doxygen pages. Note that the online version is updated irregularly, so best create your own documentation (just start doxygen in the src directory). Even if you should have your own idea, please check out our idea list first.

Getting in touch

The core team typically communicates over IRC and mailing lists. On IRC, we can be found on channel #stk on freenode. We are typically most active on week days from approximately 16:00 to 22:00, GMT -5 time. It is recommended to drop by our channel and idle by to see how things work, and discuss your application. It is also recommended to subscribe to the supertuxkart-devel mailing list and to post a message introducing yourself and your project. Discussing the project with one of the core team members will significantly increase the changes of your application to be accepted.

Code and tickets

The main prerequisite for working on SuperTuxKart is good C++ knowledge. You will also want to get familiar with our bug tracker. You do need a sourceforge account in order to submit a ticket. For a successful proposal we expect you to supply at least one patch beforehand so that we can have a look at your coding and commenting style. We have marked certain tickets to be suitable for GSoC, see list, and added some instructions how to fix the tickets (e.g. design, or which files to look at). Note that some of the tasks are not trivial and need some time to understand the solution, though the actual implementation time should not be too high. Or feel free to create your own ticket. In any case, please discuss the ticket with us first, we can help in identifying tickets appropriate for your skill level. One options is always to improve documentation and fix coding style issues. While STK's documentation is rather good and extensive, there are always things that can be improved (e.g. older files might not follow latest changes of our coding style).

Any contributions to SuperTuxKart must be in clean and portable C++. They should also compile without any warnings. We don't expect that a student to be able to check his code on all supported platforms - our community will do this and fix any minor issues that should occur when using a different compiler. But please have a look at some of our portability advise.

Required information

Make sure to follow the instruction on the official GSoC website about submitting your application (particularly note that the application goes to google, not to us). They also list the information that are necessary from google point's of view.

Applications should contain at least the following points of information :

FAQ

I have a much better idea for a project - can I submit my own idea?

You certainly can. Though please discuss your idea with us first, since we want to make sure that your idea has the right size for a GSoC project, and also that this is not something someone might already be working on. Be also aware that the projects we have identified will be the ones the community is mostly interested in, and we have only limited amount of mentors to support additional projects.

What license must I use for my code?

Your code should be released under GPL v3, which is the license all code of STK is using. We might request that you agree to release the code under a dual license, but at this stage we don't know the exact details. Background is that GPL is not compatible with IOS Apps store license, so if we want to port STK to IOS, we need to release the code under a second license (see also next question).

I want to port STK to IOS.

While this is basically a good idea, there are several problem:

I have a problem with my mentor.

We have tried to match the skills and mentors to the students and their tasks. If there should be a problem with a mentor, first of all try to talk with your mentor about any issues you have. Each student's requirements are different, and just letting your mentor know that you need (more/less/...) help, advise might be enough. If this doesn't resolve your problem, feel free to contact any other mentor (hiker, auria, funto, stephen), or admin (hiker, auria).

Can I contact other people/mentors to discuss ideas?

You Certainly can. Talking with other developers about ideas or problems will greatly help to improve the quality of your work. Some of the best ideas came out of such discussions - we all like brainstorming (which results that we mostly have too many good ideas, and not enough time to implement half of them ;) ). Also just the fact that you are describing your problem to someone else will often help you to find a solution yourself, something worth learning and remembering ;)

Retrieved from "http://supertuxkart.sourceforge.net/GSoC_overview"

User Tools