ikiwiki/ soc/ application

Application submitted 03-06-2007.

Based on "What should a mentoring organization application look like?".

1. Describe your organization.

   The ikiwiki project aims to develop a general-purpose wiki engine, with particular emphasis on personal wikis, project wikis, blogs, and collaborative software development. We provide several features unique or uncommon amongst wikis:

   - Rather than inventing yet another simplistic, linear revision control system, ikiwiki uses a standard version control system such as Subversion or Git. You can edit a wiki by committing to your repository, as well as through a traditional web interface. This makes ikiwiki ideal for collaborative software development; just keep your wiki in version control next to your software. You can also take advantage of the features of these systems; for instance, you can keep a local branch of your wiki via Git.

   - You can turn any set of pages into an inline news feed, complete with RSS and Atom support. You can run your weblog on ikiwiki (and many people do), run a Planet-like aggregator for external feeds, or keep a TODO and bug list with tags for completed items.

   - ikiwiki provides a wiki compiler, designed to transform your wiki content into a set of static pages. You can then serve these pages as static content. ikiwiki will not fall over during a Slashdotting, because page views don't require the ikiwiki CGI; as long as Apache can keep up, your site will survive. Furthermore, you can choose whether you want to run the ikiwiki CGI for web edits or only handle commits to the underlying version control system; you can even run ikiwiki privately and just manually copy the content to another server. So if you want to put a wiki up on a server without installing any software on that server, try ikiwiki.

2. Why is your organization applying to participate in GSoC 2007? What do you hope to gain by participating?

   ikiwiki has had a strong positive response from several communities of software developers. We believe we have filled a genuine need, unaddressed by previous software. Many users have begun to take ikiwiki in unexpected directions, using it in ways we had not previously envisioned.

   Thus, we believe ikiwiki has reached a stage where it would greatly benefit from more widespread exposure to the ingenuity of other developers.

   Furthermore, we have a good list of existing projects on our TODO list. The nature of ikiwiki, with its highly capable plugin system and broader focus than most wikis, results in far more ideas than implementation time. We have a well-managed TODO list, ranging from minor items to major projects. We would greatly appreciate contributions toward some of our more substantial feature ideas. We believe we have a very low barrier to contribution.

3. Did your organization participate in GSoC 2005 or 2006? If so, please summarize your involvement and the successes and failures of your student projects.

   ikiwiki has not previously participated in Google Summer of Code.

4. If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)?

   ikiwiki has not previously applied for Google Summer of Code.

5. Who will your organization administrator be? Please include Google Account information.

   Josh Triplett <josh@freedesktop.org>

6. What license does your project use?

   ikiwiki uses the GNU General Public License. The basewiki, incorporated into users' wikis, uses an all-permissive license. See http://ikiwiki.info/freesoftware/ for details.

7. What is the URL for your ideas page?

   http://ikiwiki.info/soc/

8. What is the main development mailing list for your organization?

   The ikiwiki project strongly encourages collaboration through ikiwiki itself, and thus does not have a mailing list. Anyone can create an account on ikiwiki's own wiki. ikiwiki provides a bug tracker, a TODO list, and the ability to create a weblog on any page. ikiwiki also includes "discussion" sub-pages on every page. The developers and mentors monitor RecentChanges closely, via the webpage, email, and CIA, and will respond in a timely fashion.

9. What is the main IRC channel for your organization?

   `#ikiwiki` on OFTC (`irc.oftc.net`).

10. Does your organization have an application template you would like to see students use? If so, please provide it now.

    No application template needed.

11. Who will be your backup organization administrator? Please include Google Account information.

    Joey Hess <joey@kitenet.net>

12. Who will your mentors be? Please include Google Account Information.

    Joey Hess <joey@kitenet.net>

    Josh Triplett <josh@freedesktop.org>

    Jamey Sharp <jamey.sharp@gmail.com>

13. What criteria did you use to select these individuals as mentors? Please be as specific as possible.

    Joey Hess developed ikiwiki, and serves as its primary developer and maintainer.

    Josh Triplett and Jamey Sharp maintain numerous ikiwikis, and have experience hacking on ikiwiki. They developed and currently maintain a set of scripts to convert other wikis to ikiwiki.

14. What is your plan for dealing with disappearing students?

    We will strongly encourage all students working on projects to create a user page with an activity blog, and update that blog regularly with the status of their project. We will use these blogs to closely monitor the progress of each student on their projects. If a student mentions problems they have encountered, we will work with them to resolve those problems. If we see no activity from a student for longer than their usual status-reporting interval, we will check with them directly to determine their status.

15. What is your plan for dealing with disappearing mentors?

    All three mentors understand the responsibility they will undertake, and they will not abdicate that responsibility lightly. In the unlikely event that one of the mentors cannot follow through with a project due to exigent circumstances, the other mentors will take up the slack and help the students working on projects with that mentor. Furthermore, we intend for all mentors to help with all projects to some degree, by collaborating with the students through ikiwiki.

16. What steps will you take to encourage students to interact with your project's community before, during and after the program?

    Before the program, we will encourage any students interested in working on ikiwiki to contact us. We will advise them to create an account on the ikiwiki ikiwiki, look over the TODO items (http://ikiwiki.info/todo/), add ideas of their own, and discuss existing ideas. We will also help them set up their own ikiwikis, both for experimentation and for actual use. We will suggest that students begin looking at the ikiwiki codebase and asking questions.

    During the program, we would like all students working on projects to create a user page with an activity blog, and update that blog regularly with the status of their project. We also plan to aggregate these blogs into a single Summer of Code newsfeed, and suggest that students subscribe to this feed; this will allow them to observe the activity of their fellow students, to spur each other forward and help each other along the way. We plan to accept incremental patches towards a feature, or support students who wish to create their own branch.

    After the program, we will continue to work towards integrating any projects that have not yet completed, and talk with students about their future plans regarding ikiwiki. If the students have started using ikiwiki for their own wikis, as we hope they will after we encourage them to experiment with it, then they will likely have a vested interest in ongoing ikiwiki development. Thus, we will encourage them to remain active by helping them become active and interested users.

17. What will you do to ensure that your accepted students stick with the project after GSoC concludes?

    Near the conclusion of GSoC, we will talk to each student about their future plans regarding ikiwiki. During the program, we will help the students set up their own ikiwikis if they have not already done so, and encourage them to use those ikiwikis to maintain a weblog, maintain their personal website, keep a TODO list, or do any of the other tasks ikiwiki proves useful for. We plan to encourage the students to remain active developers by helping them become active and interested users, and thus giving them a personal stake in the ongoing development of ikiwiki.