Extendamac grew from MacHack 16. Throughout MacHack 16 and several prior developer events, Macintosh developers have bemoaned the absence of a centralized patching mechanism for Mac OS X. On Friday, June 22, Duane Murphy and I were discussing what might be done about this problem. We decided to host a session to discuss the problem with the MacHack community.
Saturday, June 23, the day after the Hack Contest, we gathered a group of more than forty Macintosh developers interested in extending the native capabilities of Mac OS X. People from many different backgrounds were represented, ranging from Apple Technology Managers and engineers to independent developers of Classic Macintosh extensions.
We quickly realized we could not solve the problems that afternoon. We decided to build a web-based community to help identify and address the problems with extending Mac OS X.
At that point John Wallace guided us to develop this list of goals, which Florian Dejako recorded for us to use later:
One piece of information discussed a lot, but not in this initial list of goals is that our underlying purpose is to enhance the end user experience. We want the flexibility to take the OS beyond the vision of Apple as we experiment with new ideas, but we do not want to make the OS unstable in the process. Our desire to extend the OS is all about improving the user experience.
As discussions in our meeting progressed, it became clear that Mac OS X already offers many ways to extend its capabilities. However, these extension mechanisms differ for different parts of the OS. There is no central place to ask "How can I make the OS do ___?" We discussed how part of our goals should be to provide documentation, or pointers to existing documentation, on existing extension mechanisms.
With our goals documented, we realized we hadn't quite documented our mission statement, but we needed one. We discussed our mission, but still didn't document it. In those discussions Jorg Brown talked about how we want to publish "best known practices for extending the OS."
Later that night Jorg wrote our mission as
"Extendamac is a community of Macintosh developers organized to document and distribute best known practices for extending the Mac OS and improving the Mac OS experience."
We spent some time discussing how to organize our community. We especially discussed how we might make decisions. This is a crucial decision for fledgling organizations. Darin Adler informed us how the Boost community is organized by a benevolent dictator, much like the Linux community. This model relies on the personality of the dictator to succeed. Our needs were not being driven by any one person; there was no obvious choice for such a benevolent dictator. We needed another model.
Tim Holmes told us about the organizational model used by BMUG. BMUG had a group of community activists, called the Core, who made many decisions by consensus. Critical business decisions were made by a board of directors who were elected by the Core each year.
BMUG's model was more formal than we were prepared to implement. Because our community was just forming, we had no idea who would become effective community activist. We didn't yet know who would actually put their precious time into building our community.
We decided to start without a fixed organizational structure; to leave decisions to the community. We hope that in short order leaders will emerge and earn the respect of their peers. With that respect, we hope they can guide decisions through any conflicts. Decisions are not made by vote, but more through action, and the actions are discussed publicly and evaluated by the emergent leaders. We recognize that one single divisive issue could destroy our community. That is a chance we have decided to take while we wait to see what decision making structures evolve as our community grows.
With a clear mission, a set of goals, and an understanding that decisions will be made informally by the people who take the initiative to make things happen, John Wallace once again guided our discussion forward. We discussed a list of factors critical to our success.
To enable our community to communicate we need various online resources including mailing lists, FAQs and a web site. Miro Jurisic introduced us to the resources available on SourceForge and then got our community started there. We decided the public domain licensing model was sufficient for our needs. Our discussions would be moderated by Eric Gundrum. Mail lists would have a one week forced lurker period to discourage spam.
Our final critical need was a name. We couldn't get off the ground without one. We brainstormed for several minutes while we listed more than a dozen possible names. From that list we chose "Extendamac." Steve Sisak registered the domain. Extendamac was born.