Summer Internships Kickoff

Most people probably saw the post over on wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org//news that announced our summer interns via GSoC and OPW.

This summer’s WordPress GSoC/Gnome OPW interns span a number of contributor groups. Rather than create a standalone blog for all the students as we have in the past, this year we’ll be trying something different, as our community structure has changed since our last round. Each intern will post their detailed weekly updates on the team blog for the contributor group with which their project most naturally aligns, while posting about administrative things will happen here on the community team site.

Just to remind everyone, these are the interns for this summer who’ll be popping up around town (so to speak):

  • Ryan McCuefrom Australia, working on a JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.-based REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.. Mentors will be Bryan Petty and Eric Mann.
  • Kat Hagan, from the United States, working on a Post by Email pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party to replace the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. function. Mentors will be Justin Shreve and George Stephanis.
  • Siobhan Bamber, from Wales, working on a support (forums, training, documentation) internship. Mentors will be Mika Epstein and Hanni Ross.
  • Frederick Ding, from the United States, working on improving portability. Mentors will be Andrew Nacin and Mike Schroder.
  • Sayak Sakar, from India, working on porting WordPress for WebOS to Firefox OS. Mentor will be Eric Johnson.
  • Alex Höreth, from Germany, working on  adding WordPress native revisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. to the theme and plugin code editors. Mentors will be Dominik Schilling and Aaron Campbell.
  • Mert Yazicioglu, from Turkey, working on ways to improve our community profiles at profiles.wordpress.org. Mentors will be Scott Reilly and Boone Gorges.
  • Daniele Maio, from Italy, working on a native WordPress app for Blackberry 10. Mentor will be Danilo Ercoli.

First things first: every student and mentor on this list needs to click the button in the upper right sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. to subscribe to this blog.
All announcements, deadline reminders, etc will happen here, and saying “I forgot to check the blog, I didn’t know about it,” is a good way to end up in a bad position. Why not subscribe right now before you keep reading?

Subscribed? Good.

Tools

Each coding intern will get an SVNSVN Apache Subversion (often abbreviated SVN, after its command name svn) is a software versioning and revision control system. Software developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS). WordPress core and the wordpress.org released code are all centrally managed through SVN. https://subversion.apache.org/. repo for their code. You are required to use this repo, not githubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ or other source control system, as it is the platform used by WordPress, and part of summer of code is about getting students contributing to the project using the same tools used by core developers. You will have commit rights to your repo, and your wordpress.org username/password will serve as login credentials. We’ve also set up a TracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/. instance for the projects, and each project will be listed as a component. Again, this is the system WordPress core uses, so it is mandatory to use Trac over another issue tracking system. You can use multiple systems (git +svn) as long as your svn is always up to date. @nacin has already set up coding intern access to these tools at gsoc.svn.wordpress.org and gsoc.trac.wordpress.org.

Schedule

We will be creating a schedule of who is required to post their weekly updates on which day. Your posts should outline what you accomplished/worked on in the past week, and state what you will be working on in the coming week. Please use “weekly update” as a tag on these posts, as well as the tag that we’ll give you that’s specific to your project. The scheduled days will be staggered so that everyone’s updates don’t all come in at once. If the day you get assigned is a problem due to work or school commitments, please let us know asap so we can swap your day. You also may post with smaller updates, questions, or requests for feedback as often as you like.

Mentors will leave feedback on your posts, but so will other interns and community members. Be gracious in taking feedback, but also remember that there are a lot of opinions out there. Don’t change course based on a random comment — talk things over with your mentors if a commenter has you rethinking things.

The weekly update is for the community, not just your mentors. You should be checking in with your mentors at least that often; it is up to you and them to decide how often to be in touch and in what form (email, irc, skype, etc). Mentor time is valuable and in most cases volunteer, so staying on schedule with your communications is important out of respect for your mentors. If you go more than a week without posting your update and/or touching base with your mentor, you will get a warning. If you go more than two weeks, you will be put on probation. If you are absent for three weeks, you will fail. Once the coding period begins, each weekly check-in should include a code review. If you are not showing code, you will not be considered to be meeting the goals of the project.

Getting Started

You should make contact with your mentors right away to discuss your scope and timetable. You have about a week to haggle over details. A revised scope and schedule need to be posted and confirmed by Friday. We’ll be reaching out to each intern about creating a page for this blog with their final project scope and schedule this week. Mentors will comment on the page when the description, scope and timeline are approved. If you do not contact your mentors this week to get the ball rolling, you could miss one of your first deadlines — don’t let that happen!

The other assignment for this week is to write an introduction post for your contributor group’s blog so people will know who you are. This post should contain a brief intro to who you are and your project. You can start working on this post now, and we’ll let you know where to post it when we set up our chat for this week.

Role of Mentors

With the exception of the mobile projects, each student has more than one mentor to provide support over the course of the summer and to ensure that busy work schedules, vacations, or family emergencies don’t leave the student without guidance. The first name listed for each student is the primary mentor, who will be responsible for the evaluations at midterm and final. In addition, there are a handful of approved mentors who did not take an a full-time intern, who will provide additional code review and feedback to a specific project, as determined with the official mentors.

Your mentors are guides, not instructors. These projects are *your* babies, not theirs. Mentors are there to evaluate code, give feedback on proposed approaches, and point you in the direction of a helpful resource if you’ve exhausted all the possibilities you can think of and still can’t find the information you need. Mentors are not there to answer questions you could answer by using Google, to make decisions for you, or to write example code to show you how things should be done. When we chose you as a student, it was in part because we thought you would be able to take the proper initiative. We’re counting on you to prove us right. If you ask for too much hand-holding, it will call your abilities into question, so when you do ask for help (and we know everyone will need help now and then) be sure to outline what steps you have already taken to try and solve your problem/answer your question so that the mentors can see what you’ve already tried and won’t think you’re asking them instead of trying to figure it out yourself first.

Role of Administrators

Andrea Middleton and I will be the program administrators. If you have any problems with your mentors, please talk to the mentors directly  to try and resolve it first, but if you are unable to reach someone, or are having a bad experience with someone, get in touch with me or Andrea and we will help you work it out. If you have trouble accessing the system tools, let us know so we can get you some help. We are here to provide general support, but hopefully everything will run smoothly and you will barely know we exist. If all goes well, the next time we talk to you will be when we start scheduling IRC chats for you to show off your projects to the community at midterm.

Congratulations again to all the accepted students! We are very excited to work with you, and look forward to a summer full of interesting projects.

#gsoc, #mentorship, #opw, #summer2013