wiki:SummerOfCodeOrgApplication

Version 38 (modified by larryv (Lawrence Velázquez), 12 years ago) (diff)

edit all the things!

Google Summer of Code — Organization Application

This is the application the MacPorts Project will submit to Google for Summer of Code 2013. We need to have this finished by Friday, 29 March at 19:00 UTC.

Name

The MacPorts Project

Questions

Taken from Google Summer of Code 2013 Frequently Asked Questions.

Describe your organization.
MacPorts is a ports collection and packaging system for OS X. Created in 2002 as DarwinPorts, we have an ever-growing collection of ports (currently over 16500), many of which accept multiple configuration variants. MacPorts is one of the primary means of building and installing open source software on OS X, making it an important interface between OS X and the rest of the open source world.
Why is your organization applying to participate in Google Summer of Code 2013? What do you hope to gain by participating?
We apply once more as we hope to implement new features in MacPorts. We also intend to attract new developers to our project and its community. With new feature additions and enhancements to our components (e.g. our GUI), we hope to become more user-friendly for the average OS X user and further increase the quality of our packages. Some big goals this year are improving dependency resolution and minimizing MacPorts' dependency on Xcode (since we now provide pre-built binaries, and Apple now provides standalone CLI tools).
Has your organization participated in past Google Summers of Code? (yes/no)
Yes.
If you answered “yes” to the question above, please summarize your involvement and the successes and challenges of your participation. Please also list your pass/fail rate for each year.

MacPorts has taken part multiple times in the program since 2007 and greatly appreciates those contributions. Most of our students completed their projects successfully. We had previous GSoC students coming back as mentors in the following years; for example, our backup administrator was a student for our organization back in GSoC 2011.

  • 2007: 2 pass / 1 fail
  • 2008: 2 pass / 2 fail
  • 2009: 2 pass / 0 fail
  • 2010: 3 pass / 0 fail
  • 2011: 3 pass / 0 fail
If your organization has not previously participated in Google Summer of Code, have you applied in the past? If so, for what year(s)?
not applicable
What Open Source Initiative approved license(s) does your project use?
BSD 3-Clause License
What is the URL for your Ideas list?
https://trac.macports.org/wiki/SummerOfCode
What is the main development mailing list for your organization?
https://lists.macosforge.org/mailman/listinfo/macports-dev
What is the main IRC channel for your organization?
#macports on FreeNode (irc.freenode.org)
Who will be your backup organization administrator?
Clemens Lang
What criteria did you use to select the mentors? Please be as specific as possible.

Criteria for mentors is based on the mentor's visible experience in the MacPorts internals. Since Tcl/Tk with namespaces will confuse new people, having mentors that know their way around is key to successfully planning our projects and guiding students to completion.

Rainer was previously a GSoC mentor, and as a MacPorts manager he brings great experience in our base code. Clemens was a GSoC student, and after completion of his project has stayed with us and implemented many new features in the base code. He can also be influential in helping get people setup for editing Tcl/Tk if they're new to it, since he went through it! Clemens took backup admin when I moved from mentor to admin when Rainer was too busy last year, and we've kept that structure this year. Lawrence is also contributing greatly to our base code, specifically ensuring packages are built with compilers they "support". This is very helpful as some packages still don't build right on clang, or have legacy issues with old Apple GCC. His efforts allow MacPorts to switch out compilers based on their version for a given package.

All these mentors fill our desire to have people knowledgeable of navigating our base code, which uses Tcl/Tk namespaces.

What is your plan for dealing with disappearing students? Please be as specific as possible.
We require contact information from our students as part of the application. Students should report their progress to their mentor at least once a week, via whichever communication medium works best for both. We know from past experiences that a student can just disappear without any notice, but if this happens we will not let them pass the midterm or final evaluation. We will make this clear from the start, and students will be urged to maintain regular communication.
What is your plan for dealing with disappearing mentors? Please be as specific as possible.

First of all, our mentors from the past years will be around to assist new mentors' introduction to the program. This will ensure that mentors know what is expected from them.

A disappearing mentor has occurred once, when we also had a disappearing student. When the mentor disappeared, another mentor—who soon after actually became a MacPorts manager—stepped in to cover.

We've made it a rule that mentors will communicate among each other about progress and problems of the student, ensuring a clean failover to another mentor. This also helps with evaluation judgement and gauging expectations.

Projects will usually have multiple mentors, to provide redundancy if one disappears. If a student cannot reach any of their mentors, they should contact an organization administrator, who will have more contact information. If somehow that fails, they should post to the development mailing list, to send people after myself and the backup admin.

What steps will you take to encourage students to interact with your project's community before, during and after the program?

We like to make contact with our students even before they submit their application, via IRC or on our mailing list. During the application phase we will refine and discuss the proposal with other developers. In the program, students participate in the normal development process: They get their own Subversion branch to work on, all commits are publicly viewable, and anyone can critique the student's work by replying to the commit system's emails. We also like students to post status reports to the public development mailing list as they reach specific milestones. By requiring communication with people other than their mentors, we encourage them to work in the spirit of open source development.

As we let students work as one of the organization's developers, we look forward to their continued development of MacPorts after GSoC concludes. Like any other developer, they will get regular commit privileges to help the project as they see fit; this also provides an introduction to future work. Multiple students have returned as mentors in the following years, demonstrating the effectiveness of this method.

Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here.
not applicable
Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here.
not applicable
What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes?
We keep all students' work in our source repository, and rebase it often so it's ready to be integrated. Seeing a student's code "go live" and get used by the project is the single best incentive. We also plan to keep in contact with the student to see if there are additional areas of MacPorts that might interest them for long-term involvement.