13 | | Taken from |
14 | | [http://www.google-melange.com/document/show/gsoc_program/google/gsoc2014/help_page#2._What_should_a_mentoring_organization Google Summer of Code 2014 Frequently Asked Questions]. |
| 9 | Taken from the past few years GSoC application. |
| 10 | |
| 11 | Name and Tagline.:: |
| 12 | |
| 13 | The MacPorts Project (Open Source package manager for macOS) |
| 14 | |
| 15 | Organization Category.:: |
| 16 | End User Applications |
| 17 | |
| 18 | Technology Tags.:: |
| 19 | Tcl, C, make, Git |
| 20 | |
| 21 | Topic Tags.:: |
| 22 | Package manager, Mac OS X, macOS, command line |
| 23 | |
| 24 | Proposal Tags that students can select (one) from and apply to their own proposals to help organize them.:: |
| 25 | New Feature, Optimization |
17 | | MacPorts is a ports collection and packaging system for OS X. |
18 | | Created in 2002 as !DarwinPorts, we have an ever-growing collection |
19 | | of ports (currently over 22000), many of which accept multiple |
20 | | configuration variants. MacPorts itself works on both PowerPC and |
21 | | Intel Macs, running OS X 10.4 through 10.12, and many ports support |
22 | | a similar breadth of systems. As one of the primary means of |
23 | | building and installing open source software on OS X, MacPorts is an |
24 | | important interface between OS X and the rest of the open source |
25 | | world. |
| 28 | 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. |
| 29 | What year was your project started? |
| 30 | 2002. |
27 | | Why is your organization applying to participate in Google Summer of Code 2014? What do you hope to gain by participating?:: |
28 | | Boosted by the success of the projects done in 2011 and 2014, we're |
29 | | eager to add new features and increase the user-friendliness of MacPorts. |
30 | | We're hoping to attract new developers that will stay with the project |
31 | | and work on new features and necessary refactoring of our code. |
32 | | Big goals this year are improving the dependency calculation and |
33 | | making the Xcode dependency optional. |
| 32 | Why does your org want to participate in Google Summer of Code?:: |
| 33 | Boosted by the success of the projects done in 2011, 2014 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. ~~Big goals this year are improving the dependency calculation and making the Xcode dependency optional.~~ |
38 | | 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.:: |
39 | | {{{#!div class="compact" |
40 | | MacPorts has participated multiple times since 2007. Most of our |
41 | | students completed their projects successfully, and we greatly |
42 | | appreciate those contributions. We had previous GSoC students coming |
43 | | back as mentors in the following years; for example, our backup |
44 | | administrator was a student for our organization back in GSoC 2011. |
| 38 | If you answered “yes” to the question above, please summarize your involvement and the successes and challenges of your participation.:: |
| 39 | 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 2015 and one of the mentors from GSoC 2011. I myself participated in GSoC 2017 with MacPorts. |
46 | | * 2007: 2 pass / 1 fail |
47 | | * 2008: 2 pass / 2 fail |
48 | | * 2009: 2 pass / 0 fail |
49 | | * 2010: 3 pass / 0 fail |
50 | | * 2011: 3 pass / 0 fail |
51 | | * 2013: 1 pass / 0 fail |
52 | | * 2014: 3 pass / 0 fail |
53 | | * 2015: 2 pass / 1 fail |
| 41 | For each year your organization has participated, provide the counts of successful and total students.:: |
| 42 | {{{#!div class="compact" |
| 43 | || Year || Total || Passed || Failed || |
| 44 | || 2007 || 3 || 2 || 1 || |
| 45 | || 2008 || 4 || 2 || 2 || |
| 46 | || 2009 || 2 || 2 || 0 || |
| 47 | || 2010 || 3 || 3 || 0 || |
| 48 | || 2011 || 3 || 3 || 0 || |
| 49 | || 2013 || 1 || 1 || 0 || |
| 50 | || 2014 || 3 || 3 || 0 || |
| 51 | || 2015 || 3 || 2 || 1 || |
| 52 | || 2017 || 2 || 2 || 0 || |
81 | | Rainer was previously a GSoC mentor, and as a MacPorts manager he brings |
82 | | great experience in our base code. Clemens was a GSoC student, and after |
83 | | completion of his project has stayed with us and worked extensively on |
84 | | MacPorts base. He can also be helpful in getting newcomers setup for |
85 | | developing in Tcl, since he went through it! Clemens assumed the backup |
86 | | administrator role when I moved from mentor to admin last year, and |
87 | | we’ve kept that structure this year. Lawrence is also contributing |
88 | | greatly to our base code, specifically ensuring packages are built with |
89 | | compilers they “support”. This is very helpful as some packages still |
90 | | don’t build right on Clang, or have legacy issues with old Apple GCC. |
91 | | His efforts allow MacPorts to switch out compilers based on their |
92 | | version for a given package. |
| 80 | 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. |
94 | | All these mentors fill our desire to have people knowledgeable of |
95 | | navigating our base code, which uses Tcl. |
| 82 | We’ve made it a rule that mentors will communicate with each other about progress and problems of their students and keep the communication on the public list, allowing for a clean failover to another mentor. This also helps with setting expectations and making evaluations. |
| 83 | |
| 84 | 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 reaching a wide number of developers, admin, and backup admin. |
98 | | What is your plan for dealing with disappearing students? Please be as specific as possible.:: |
99 | | We require contact information from our students as part of the |
100 | | application. Students will report their progress to their mentor at |
101 | | least once a week, via whichever communication medium works best for |
102 | | both. We know from past experiences that a student can disappear |
103 | | without notice, but if this happens we will not let them pass the |
104 | | midterm or final evaluation. We will make this clear from the start, |
105 | | and students will be urged to maintain regular communication. |
106 | | |
107 | | What is your plan for dealing with disappearing mentors? Please be as specific as possible.:: |
108 | | {{{#!div class="compact" |
109 | | Our mentors from the past years will be available to assist new mentors’ |
110 | | introduction to the program and ensure that mentors know what is |
111 | | expected from them. |
112 | | |
113 | | A disappearing mentor has occurred once, when we also had a disappearing |
114 | | student. When the mentor disappeared, another mentor—who soon after |
115 | | became a MacPorts manager—stepped in to cover. |
116 | | |
117 | | We’ve made it a rule that mentors will communicate among each other |
118 | | about progress and problems of their students, allowing for a clean |
119 | | failover to another mentor. This also helps with setting expectations |
120 | | and making evaluations. |
121 | | |
122 | | Projects will usually have multiple mentors, to provide redundancy if |
123 | | one disappears. If a student cannot reach any of their mentors, they |
124 | | should contact an organization administrator, who will have more contact |
125 | | information. If that fails, they should post to the development mailing |
126 | | list, to send others after myself and the backup admin. |
| 87 | 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.:: |
| 88 | {{{#!div class="compact" |
| 89 | 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. 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 and providing work logs at least twice a week. |
129 | | What steps will you take to encourage students to interact with your project's community before, during and after the program?:: |
130 | | {{{#!div class="compact" |
131 | | We like to make contact with our students even before they submit their |
132 | | application, via IRC or on our mailing list. During the application |
133 | | phase we will refine and discuss proposals with other developers. In the |
134 | | program, students participate in our normal development process: They |
135 | | get their own Subversion branch to work on, all their commits are |
136 | | publicly viewable, and any member of the MacPorts community can provide |
137 | | feedback by replying to the commit system’s emails. We also like |
138 | | students to post status reports to the public development mailing list |
139 | | as they reach specific milestones. By requiring communication with |
140 | | people other than their mentors, we encourage them to work in the spirit |
141 | | of open source development. |
142 | | |
143 | | As we let students work as one of the project’s developers, we look |
144 | | forward to their continued development of MacPorts after GSoC concludes. |
145 | | Like any other developer, they will get regular commit privileges to |
146 | | help the project as they see fit; this also provides an introduction to |
147 | | future work. Multiple students have returned as mentors in the following |
148 | | years, demonstrating the effectiveness of this method. |
| 92 | How will you get your students involved in your community during GSoC?:: |
| 93 | {{{#!div class="compact" |
| 94 | 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 Git 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. |
158 | | We keep all students’ work in our source repository, and rebase it |
159 | | often so it’s ready to be integrated. Seeing a student’s code “go |
160 | | live” and get used by the project is the single best incentive. We |
161 | | also plan to keep in contact with the student to see if there are |
162 | | additional areas of MacPorts that might interest them for long-term |
163 | | involvement. |
| 106 | {{{#!div class="compact" |
| 107 | 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. |
| 108 | }}} |
| 109 | |
| 110 | Where does your source code live?:: |
| 111 | GitHub: https://github.com/macports |