Google Summer of Code 2018 — Organization Application

This is the application the MacPorts Project will submit to Google for Summer of Code 2018. We need to have this finished by 23 January 2018 at 17:00 UTC.


The following committers have agreed to be mentors for GSoC 2018 (append for email)

Name Email Area
- - -
Jeremy Huddleston Sequoia jeremyhu Mentor
Michael Dickens michaelld Mentor
Mojca Miklavec mojca Mentor
Clemens Lang cal Mentor
Jackson Isaac ijackson Backup Admin/Mentor
Umesh Singla umeshksingla Administrator


Taken from the past few years GSoC application.

Name and Tagline.

The MacPorts Project (Open Source package manager for macOS)

Organization Category.

End User Applications

Technology Tags.

Tcl, C, make, Git

Topic Tags.

Package manager, Mac OS X, macOS, command line

Proposal Tags that students can select (one) from and apply to their own proposals to help organize them.

New Feature, Optimization

Describe your organization.
MacPorts is a port collection and packaging system for macOS. 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 macOS 10.13, and many ports support a similar breadth of systems. As one of the primary means of building and installing open source software on macOS, MacPorts is an important interface between Mac operating systems and the rest of the open source world, greatly simplifying the task of compiling and installing open-source software on your Mac.
What year was your project started?
Why does your org want to participate in Google Summer of Code?
Boosted by the success of the projects done in 2011, 2014, 2015 and 2017, 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. GSoC has helped our organization grow in every aspect, from bringing contributors to the number of packages supported. We believe that giving students the possibility to work with us on the projects we have in our community and to learn from developers will be a great real-world experience for them and help them define their next step in their careers.

The community is evolving to bring members closer than ever, as a result of participation in GSoC. This year, the org admin from 2017, both the students and 2 out of 3 mentors will participate in an international meeting with other community members to brainstorm ideas together and have round-table discussions for future development.

Has your org been accepted as a mentor org in Google Summer of Code before? (yes/no)
For each year your organization has participated, provide the counts of successful and total students.
Year Total Passed Failed
2007 3 2 1
2008 4 2 2
2009 2 2 0
2010 3 3 0
2011 3 3 0
2013 1 1 0
2014 3 3 0
2015 3 2 1
2017 2 2 0
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 "New" or "Revised" license
What is the URL for your Ideas list?
Link to a page describing how to join your organization's mailing list.
Link to a web page that describes how to get on your IRC channel or other real-time communication methods.
Who will be your backup organization administrator?
Jackson Isaac.
How many potential mentors have agreed to mentor this year?
How will you keep mentors engaged with their students? OR 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 of them. We’ve made it a rule that mentors will communicate with each other and have weekly one-on-one meetings with their students about the progress and problems they are facing and try to keep the communication on the public list to integrate them to the rest of the community as well. This also helps with setting expectations and making evaluations.

Projects will usually have multiple mentors, to provide redundancy if one disappears or a problem arises, an important takeaway message from this year's GSoC mentors meeting. If a student cannot reach any of their mentors, they should contact the organization administrator, who will have more contact information. We make clear that having a good communication with their students and with us, the coordinators, is mandatory to have a successful mentoring experience.

How will you help your students stay on schedule to complete their projects? OR What is your plan for dealing with disappearing students? Please be as specific as possible.

We ask the students to provide a week-to-week schedule, from the starting date to the end date, that shows exactly which objectives they plan on completing and by when and also, indicate whether a task spans across multiple weeks. A clear schedule defined this way helps both the mentors and students to organize themselves and achieve short-term goals to successfully complete the project by the end of the term.

We require students' contact information 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.

If any problem arises or student disappears without notice, 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 and provide work logs at least twice a week.

How will you get your students involved in your community during GSoC?

We like to make contact with our students even before they submit their application, via IRC or on our mailing list so they can reach other developers for any questions. 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 Git branch to work on, all their commits are publicly viewable, and any member of the MacPorts community can provide feedback on the pull requests. Usually, our community is aware of students working with us in the summers and hence, devote more time in answering to their doubts and clarifying details.

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.

How will you keep students involved with your community after GSoC? OR What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes?

As we let students work as one of the project developers, we look forward to their continued development of MacPorts after GSoC concludes. They get regular commit privileges to the repository to help the project as they see fit, providing an introduction to future work. Seeing a student’s code “go live” and get used by the project is the single best incentive.

Multiple students have returned as mentors or admins in the following years, demonstrating the effectiveness of this method. This year's org admins are students from 2015 and 2017 and one of the mentors from 2011. We are having an international meeting again this year where both the students from last year are invited to meet the community and participate in the hacking sessions, along with travel support. We also plan to keep in contact with the student to see if there are additional areas or less demanding tasks of MacPorts that might interest them for long-term involvement.

If you are a new organization to GSoC, is there a Google employee or previously participating organization who will vouch for you? If so, please enter their name, contact email, and relationship to your organization.
not applicable
Where does your source code live?
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 3 weeks ago Last modified on Jan 31, 2018, 7:31:00 PM