How TPF Works

I often get asked about my role in TPF and how TPF works, in the sense of "Who's in charge?" So, instead of pointing people to the legalese in the bylaws and committee charters, this is an explanation of TPF's structure in plain English. --Allison

The top level of TPF is the board of directors. It holds the ultimate authority in the organization, but in practice only exercises veto power. The board is self-electing, and usually draws its candidates from the pool of TPF volunteers.

The active members of the board are the president, who oversees the daily work of TPF, and the treasurer, who acts as a final sanity check on all expenses. These positions are elected by the board. Each president is free to choose their focus for activity: the first president concentrated on conferences and on incorporating TPF as a non-profit foundation; the current president concentrates on general Perl legal issues and on building TPF's relations with companies and other open source foundations.

The next level is the Steering Committee (SC), which handles the real work of TPF. The committee is chartered with the full power of the board, aside from a few financial restrictions (they need board approval to spend huge gobs of cash or put the foundation into debt). The SC is a self-electing group of volunteers. The positions on the SC are loosely defined around areas of work: Grants, Conferences, Awards, PR, Donor relations, and websites, Perl Mongers, CPAN, etc.

The Grants Committee (GC) reviews grant proposals, allocates grant funding, and oversees the grants as they're completed. This committee is self-electing and made up of active Perl developers (with a heavy concentration of pumpkings), because they have the best sense of what grants will help Perl.

The Conferences Committee oversees YAPC::NA and offers assistance to the other YAPC conferences and Perl workshops around the world. This committee is self-electing and largely made up of organizers from previous YAPC's.

The majority of TPF's work is done by volunteers, and all it takes to become a volunteer is to do the job you're volunteering for and talk to the relevant committee. It's a meritocracy, so we're more concerned with what people do than with titles, but if you do the work you'll get the title. Every year each committee reviews the current positions, some people step down, others volunteer to take their places, and others trade places. 1-3 years is really about enough for anyone to stay in one volunteer position, otherwise people tend to burn out.

This structure may seem strange at first, but it mirrors the way Perl development has structured itself over the years. At the top, the community recognizes Larry as the ultimate authority on what Perl should be, but he rarely exercises that authority. The pumpkings are the next level; they make the day-to-day decisions on where Perl should go and make releases. Below that are the people with commit access to the repositories who filter and apply patches and changes. And beyond that are the general community contributors who submit patches and participate in the mailing lists. Anyone can move from contributor to commit access to pumpking. It's a self-selecting meritocracy: each pumpking selects their successor, and the group with commit access chooses who should get commit access. The people who do the work get invited to step up.