Summer of Code - Getting Started: Difference between revisions

m
Steps Toward a Successful Application - updated links, fixed typo
m (Updated SoC links.)
m (Steps Toward a Successful Application - updated links, fixed typo)
Line 7: Line 7:
* '''Help Us Get To Know You'''<br>
* '''Help Us Get To Know You'''<br>
: If you aren't communicating with us before the application is due, your application will not be accepted.
: If you aren't communicating with us before the application is due, your application will not be accepted.
:: '''Join the maintainers mailing list''' or read the archives and see what topics we discuss and how the developers interact with each other.
:: '''Join the [https://lists.gnu.org/mailman/listinfo/octave-maintainers maintainers mailing list]''' or read the archives and see what topics we discuss and how the developers interact with each other.
:: '''Hang out in our IRC channel'''. Ask questions, submit patches, show us that you are motivated and well-prepared. There will be more applicants than we can effectively mentor, so do ask for feedback on your public application to increase the strength of your proposal!
:: '''Hang out in our [https://webchat.freenode.net/?channels=#octave IRC channel]'''. Ask questions, submit patches, show us that you are motivated and well-prepared. There will be more applicants than we can effectively mentor, so do ask for feedback on your public application to increase the strength of your proposal!
* '''Find Something That Interests You'''
* '''Find Something That Interests You'''
: It's '''critical''' that you '''find a project that excites you'''  You'll be spending most of the summer working on it (we expect you to treat the SoC as a full-time job). But don't just tell us how interested you are, show us. You can do that by fixing a few bugs or interacting with us on IRC well before the deadline. Our experience shows us that successful SoC students demonstrate their interest early and often.
: It's '''critical''' that you '''find a project that excites you'''. You'll be spending most of the summer working on it (we expect you to treat the SoC as a full-time job). But don't just tell us how interested you are, show us. You can do that by [https://savannah.gnu.org/bugs/?group=octave fixing a few bugs] or interacting with us on [https://webchat.freenode.net/?channels=#octave IRC] well before the deadline. Our experience shows us that successful SoC students demonstrate their interest early and often.
* '''Prepare Your Proposal With Us'''
* '''Prepare Your Proposal With Us'''
: By working with us to prepare your proposal, you'll be getting to know us and showing us how you approach problems. The best place for this is your wiki user page and the IRC channel.
: By working with us to prepare your proposal, you'll be getting to know us and showing us how you approach problems. The best place for this is your wiki user page and the [https://webchat.freenode.net/?channels=#octave IRC channel].
* '''Complete Your Application'''
* '''Complete Your Application'''
: Fill out our '''''public''''' application template.
: Fill out our '''''public''''' application template.
Line 23: Line 23:
== Things You'll be Expected to Know or Quickly Learn ==
== Things You'll be Expected to Know or Quickly Learn ==


Octave is mostly written in C++ and its own scripting language that is mostly compatible with Matlab. There are bits and pieces of Fortran, Perl, C, awk, and Unix shell scripts here and there. In addition to being familiar with C++ and Octave's scripting language, successful applicants will be familiar with or able to quickly learn about Octave's infrastructure. You can't spend the whole summer learning how to build Octave or prepare a changeset and still successfully complete your project.
Octave is mostly written in C++ and its own scripting language that is mostly compatible with Matlab. There are bits and pieces of Fortran, Perl, C, awk, and Unix shell scripts here and there. In addition to being familiar with C++ and Octave's scripting language, successful applicants will be familiar with or able to quickly learn about Octave's infrastructure. You can't spend the whole summer learning how to build Octave or prepare a changeset and still successfully complete your project.


* '''The Build System'''
* '''The Build System'''
Line 35: Line 35:
* '''The Procedure for Contributing Changesets'''
* '''The Procedure for Contributing Changesets'''
: You will be expected to follow the same procedures as other contributors and core developers.
: You will be expected to follow the same procedures as other contributors and core developers.
: You will be helping current and future Octave developers by using the same style for changes, commit messages, and so on.  You should also read the same [http://www.gnu.org/software/octave/doc/interpreter/Contributing-Guidelines.html#Contributing-Guidelines contributing] [http://hg.savannah.gnu.org/hgweb/octave/file/tip/etc/HACKING guidelines] we have for everyone.
: You will be helping current and future Octave developers by using the same style for changes, commit messages, and so on.  You should also read the same [https://www.gnu.org/software/octave/doc/interpreter/Contributing-Guidelines.html contributing] [http://hg.savannah.gnu.org/hgweb/octave/file/tip/etc/HACKING guidelines] we have for everyone.
* '''The Maintainers Mailing List'''
* '''The Maintainers Mailing List'''
: We primarily use [https://mailman.cae.wisc.edu/listinfo/octave-maintainers mailing lists] for communication among developers.
: We primarily use [https://lists.gnu.org/mailman/listinfo/octave-maintainers mailing lists] for communication among developers.
: The mailing list is used most often for discussions about non-trivial changes to Octave, or for setting the direction of development.
: The mailing list is used most often for discussions about non-trivial changes to Octave, or for setting the direction of development.
: You should follow basic mailing list etiquette. For us, this mostly means "do not [http://en.wikipedia.org/wiki/Top_posting#Top-posting top post]".
: You should follow basic mailing list etiquette. For us, this mostly means "do not [https://en.wikipedia.org/wiki/Posting_style#Top-posting top post]".
* '''The IRC Channel'''
* '''The IRC Channel'''
: We also have [http://webchat.freenode.net?channels=octave the #octave IRC channel in Freenode].
: We also have [http://webchat.freenode.net?channels=octave the #octave IRC channel in Freenode].
Line 64: Line 64:


* '''Well thought out, adequately detailed, realistic project plan'''
* '''Well thought out, adequately detailed, realistic project plan'''
: "I'm good at this, so trust me" isn't enough. You should desribe which algorithms you'll use and how you'll integrate with existing Octave code. You should also prepare a full timeline and goals for the midterm and final evaluations.
: "I'm good at this, so trust me" isn't enough. You should describe which algorithms you'll use and how you'll integrate with existing Octave code. You should also prepare a full timeline and goals for the midterm and final evaluations.


<noinclude>[[Category:Summer of Code]]</noinclude>
<noinclude>[[Category:Summer of Code]]</noinclude>