Goodbye Mac OS Forge, hello GitHub

Ryan Schmidt ryandesign at
Fri Aug 19 17:18:52 PDT 2016

I'm pleased to announce that MacPorts will be moving its source code to
GitHub. The exact date for the move has not yet been set; this message is
just to let you know that these changes are coming soon.

Since 2006, Apple has hosted MacPorts on its Mac OS Forge service. In the
decade since Mac OS Forge was created, collaborative software development
platforms like GitHub and BitBucket have become very popular and successful,
and when I was hired as Mac OS Forge sysadmin last year, part of my job was
to evaluate whether such services could be a suitable replacement for those
offered by Mac OS Forge. We determined that the answer was yes, and that
GitHub was the best choice, due to its overwhelming popularity. Other Mac OS
Forge projects including XQuartz, CUPS and CalendarServer are already in the
process of moving to GitHub, and the time has now come for MacPorts to
likewise bid a fond farewell to Mac OS Forge and move on.

The other MacPorts managers and I, and some other members of the community,
have discussed this change at length. Over the years, several developers
have asked why we're not on GitHub. The perception is that "everybody" is on
GitHub, and some developers don't take your project seriously if it's not on
GitHub. Part of our answer to such questions has been that it would be a
pain to move, and that what we had at Mac OS Forge was good enough. But now
that we have to leave Mac OS Forge anyway, it makes sense to convert to git
and take the opportunity to do some much needed and overdue restructuring
and splitting of our repository, and to move to GitHub to make use of their
great collaboration features such as pull requests which some of our
contributors have been wishing for. Hopefully, in addition to the other
benefits, moving to GitHub will help us attract and keep new developer

In a January survey on this list, most developers indicated a preference for
git, or that they were happy with the Subversion client. GitHub accommodates
both. More on that in a separate mail to follow.

We've given much thought to the way we use our Trac ticket system, and after
extensive discussion on how we might be able to use GitHub Issues, and even
performing a trial conversion of our tickets, we came to the realization
that moving to GitHub Issues would be a step back for us. (GitHub Issues
doesn't have custom fields, which we use to indicate the name of the port(s)
affected by the ticket, and the available workarounds are unsatisfactory.
And the original author of the ticket or comment cannot be preserved when
importing to GitHub Issues. In short, converting to GitHub Issues would be
lossy.) We also considered converting to Jira or BugZilla, but in the end,
we decided that staying with Trac is the best and least disruptive choice
for now. We will migrate the data from our Trac installation to a new
server, taking the opportunity to upgrade to the latest version of Trac and
make some other improvements.

We've already completed several steps of this transition. Earlier in the
year, we announced that we started using MaxCDN in front of our primary file
server to distribute our files faster. Earlier this month, we announced the
new home for our primary file server at the Friedrich-Alexander University.
And our new buildbot automated build system announced earlier this month is
being hosted by me on my hardware, outside of Apple, and will just need
minor changes to monitor GitHub instead of Subversion.

MacPorts domain names were already owned by the project, and have been moved
to NameCheap. DNS will move from Apple to NameCheap. email
forwarding will move to a new server. The and web sites will move to a new server while retaining the
same functionality for now. Apple will continue to host our mailing lists.

This transition should be mostly transparent to users. A separate email will
be sent to the announcement and users lists closer to the time of the move
detailing what steps users might need to take.

On behalf of portmgr, thanks to Clemens Lang for writing the MacPorts
Subversion to git conversion rules we're going to use, and to Larry
Velázquez for registering the "macports" username on GitHub years ago in
anticipation of this day. Thanks again to our former Mac OS Forge sysadmins
Keith Dart, Henry Groen, Shreeraj Karulkar, and Bill Siegrist for keeping
everything running all these years. And our most appreciative and humble
thanks to Apple for supporting open source software by allowing its
developers to create the initial version of MacPorts and release it as open
source software, and by providing hardware and network bandwidth to host it.
We are very grateful.

I'm sure you'll have questions. More information will follow. Thank you all
for bearing with us during this transition.

More information about the macports-dev mailing list