Google Summer of Code 2017 — Organization Application

This is the application the MacPorts Project will submit to Google for Summer of Code 2017. We need to have this finished by 9 February 2017 at 16:00 UTC.


The MacPorts Project


Taken from Google Summer of Code 2014 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 22000), many of which accept multiple configuration variants. MacPorts itself works on both PowerPC and Intel Macs, running OS X 10.4 through 10.12, and many ports support a similar breadth of systems. As one of the primary means of building and installing open source software on OS X, MacPorts is 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 2014? What do you hope to gain by participating?
Boosted by the success of the projects done in 2011 and 2014, we're eager to add new features and increase the user-friendliness of MacPorts. We're hoping to attract new developers that will stay with the project and work on new features and necessary refactoring of our code. Big goals this year are improving the dependency calculation and making the Xcode dependency optional.
Has your organization participated in past Google Summers of Code? (yes/no)
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 participated multiple times since 2007. Most of our students completed their projects successfully, and we greatly appreciate those contributions. 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
  • 2013: 1 pass / 0 fail
  • 2014: 3 pass / 0 fail
  • 2015: 2 pass / 1 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?
What is the main development mailing list for your organization?
What is the main IRC channel for your organization?
#macports on FreeNode (
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 visible experience in the MacPorts internals. Since Tcl is likely to be new territory for newcomers, 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 worked extensively on MacPorts base. He can also be helpful in getting newcomers setup for developing in Tcl, since he went through it! Clemens assumed the backup administrator role when I moved from mentor to admin 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.

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 will 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 disappear without 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.

Our mentors from the past years will be available to assist new mentors’ introduction to the program and 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 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 their students, allowing for a clean failover to another mentor. This also helps with setting expectations and making evaluations.

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 that fails, they should post to the development mailing list, to send others 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 proposals with other developers. In the program, students participate in our normal development process: They get their own Subversion branch to work on, all their commits are publicly viewable, and any member of the MacPorts community can provide feedback 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 project’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.
Is there anything else we should know or you'd like to tell us that doesn't fit anywhere else on the application?
not applicable
Last modified 10 months ago Last modified on Feb 9, 2017, 7:52:33 AM